建立多團隊自動化測試解決方案
可靠的自動測試框架可以提升釋出時的信心。跨團隊結對使用這種框架使團隊可以從一開始就以品質為優先。它還把團隊團結在一起,提高自動化測試中測試人員的技能水平。
ofollow,noindex" target="_blank">Gwen Diagram 是Leeds Testing Atelier的測試人員,同時也是其協辦人。在Agile Summit Greece 2018大會 上,她分享了自己在一家大型企業建立多團隊自動化測試解決方案的經驗。InfoQ正以概述、文章和Q&A的形式對大會進行追蹤報道。
Diagram談了Leeds的新團隊如何從多個彼此分離的倫敦團隊那裡繼承了大量的應用程式,情況對他們非常不利。Diagram表示,為了構建一個每個人都願意使用的測試框架,需要人們支援這種想法,而不是強制人們接受。他們決定借鑑戴爾·卡耐基在《人性的弱點》中介紹的經驗,在新建立的團隊內建立親密的關係。
他們需要一個自動化框架,給他們釋出的信心。Diagram說,我們學習了許多有關產品的內容,而測試沒有提供多大的幫助,有些總是失敗。大部分產品都缺少大塊的自動化層,對於需要在
團隊之間活動的測試人員,他們需要一個每個人都可以使用的可靠框架。
藉助跨團隊結對,他們從開始建立產品時就以品質為優先,把團隊團結在一起。據Diagram介紹,該框架還大幅提升了團隊測試人員的技能水平,團隊現在已經可以使用Java編寫非常出色的測試。
InfoQ在演講結束後對她進行了採訪。
InfoQ:對於自動化測試,有什麼問題需要解決?
Gwen Diagram:在用的測試框架有許多種。尤其是,有個產品沒有單元測試,只有大量的功能測試。如果功能測試沒有清晰定義,那麼應用程式的測試就變得非常混亂。這些功能測試涵蓋了單元測試到端到端測試,使用的語言也是許多開發團隊不喜歡的(正如我們需要著手處理的應用程式)。
InfoQ:實現自動化解決方案需要什麼?
Diagram:結對!結成很多對。由於產品是基於JVM的,我們通過投票決定,使用Java構建框架——然而,在測試人員中,僅有一名測試人員對Java有些瞭解。我是C#背景的,我開始編寫框架……使用C#風格。大寫的位置不對,括號的位置也不對——雖然構建出來了,但你應該會看到我們的開發人員的悲傷眼神。
作為測試人員,我們可以使用任何語言編碼。不過,可以使用任何語言優美地編碼嗎?也許不能。是開發人員使測試框架真正地發揮作用。
InfoQ:您是如何向團隊成員展示這個解決方案的,您是如何使高層管理人員參與進來的?
Diagram:解決方案展示是一個非常有趣的故事——我實際上失敗了!測試人員使用他們選擇的語言和測試執行器編寫了概念驗證,因此,混合了java、python、cucumber和gauge。遺憾的是,我沒有提前考慮展示部分,當我們讓測試人員展示時,有些人比其他人舒服很多。我從中學到了許多——對於已經選好框架的人們而言,這不是一場公平的競賽。
使高層管理人員參與進來需要找出管理層想要什麼,並以此為目標。我們很幸運,高層管理人員告知了他們的原則,因此,我們可以確保我們的願景與之匹配。
InfoQ:測試自動化帶來了什麼好處?
Diagram:該框架給了我們釋出的信心。最初幾次,我們認識到,該框架真正給我們帶來好處是在測試失敗時——我們最初認為,一定是我們的測試框架有問題。經過大量的除錯後,我們發現,是應用程式程式碼的問題。雖然如此,我們還是花了不短的時間才信任測試框架。
我們還會引入沒有自動化技能的測試人員,在自動化測試中訓練他們,沒有一個可靠的框架,這是無法完成的。
InfoQ:您在實現過程中學到了什麼?
Diagram:不要自己做技術選擇。我自己選擇了部分庫,隨著框架擴充套件到不同的應用程式,
其他人選擇了不同的庫。這樣,最終很難保持一致。我那時還不理解,相關人員怎麼選擇了不同的json序列化庫,而對於已經存在的東西,使每個人都達成一致是如何困難。不過,在類似這樣的情況下,爭論什麼技術更好是在浪費時間,有時候,最好是從一開始就在獲得了每個人的支援後重新開始。