天天看點

[轉]靈活測試工程師的十條法則

對于初涉靈活的測試工程師來說,如果定位自己的角色和職責、如何從傳統開發模式成功遷移到靈活模式、如何跟上短疊代的節奏等等問題都迫切地想要找到答案。 資深靈活實踐者Lisa Crispin和Janet Gregory在《靈活軟體測試:測試人員與靈活團隊的實踐指南》一書中,列舉了靈活測試工程師的十條法則,對讀者或許有借鑒意義。

  • 提供持續回報(Provide Continuous Feedback)
既然是測試驅動靈活項目,那麼很顯然回報在靈活團隊中占據重要的地位。測試人員的傳統角色就是“資訊提供者”,這使得她天生就對靈活團隊很有價值。靈活測試人員的最大貢獻之一是幫助産品負責人或者客戶采用執行個體和測試的形式描述清楚每一個使用者故事的需求。然後,測試人員與團隊同僚将這些需求轉化為可執行的測試。測試人員、開發人員和其他團隊成員盡快運作這些測試,并不斷接收有意義的回報。
  • 為使用者創造價值(Deliver Value to the Customer)

靈活開發就是在較小的版本釋出中提供客戶目前最迫切需要的功能。這通常意味着限定範圍。我們經常在客戶團隊中遇到較酷功能的需求。任何人都可以質疑這些内容,但是測試人員會判斷其對故事的影響,因為他們需要考慮測試後果。

靈活測試人員需要總覽全局。我們可以在目前疊代中釋出最重要的功能,稍後再完善。如果讓新功能偷偷混進來,就面臨一無所獲的風險。如果過于關注邊邊角角,而忽略了核心功能,就無法提供業務所需的價值。

  • 促進面對面的溝通(Enable Face-to-Face Communication)

靈活測試人員從客戶的角度思考每一個故事,但是也了解實作功能相關的技術和局限性。他們可以幫助客戶和開發人員達成共識。業務人員和軟體人員經常使用不同的語言。他們不得不找到一些共同點來協作。測試人員可以幫助他們達成一種共通語言。

面對面的溝通是不可替代的。靈活開發依賴于持續的合作。就像其他靈活團隊成員一樣,從事測試工作的人會不斷尋找客戶和技術團隊成員來讨論和合作。當靈活測試人員對某個隐藏的假設或者誤解的需求産生懷疑時,她會與客戶和開發人員讨論。如果處于不同地點的人需要交談,他們會試圖尋找創造性的方式替代面對面、實時的交流。

  • 勇氣(Have Courage)
當最初加入靈活團隊或者目前的團隊開始過渡到靈活開發模式時,通常會産生恐懼感,并且存在大量的問題需要答案。我們到底如何才能在如此短的時間内完成每一個使用者故事的測試任務?測試如何跟上開發的節奏?如何确定多少測試就夠了?又或者你是功能測試經理或者品質過程經理,不清楚在靈活團隊中如何定位自己的角色,沒人知道答案。靈活測試人員需要勇氣找到這些問題的答案,但是除此之外還有其他原因。我們需要勇氣允許自己失敗,至少我們會短暫失敗,并從中學習教訓。在由于建構版本不穩定導緻一次疊代失敗之後,我們開始尋找方法以確定這種事情不再發生。
  • 簡單化(Keep It Simple)
簡單并不意味着容易。對于測試人員來說,這意味着采用能夠找到的最輕量級的工具和技術恰到好處地測試。工具可以簡單到隻是一張電子表格或者清單。需要自動化回歸測試,但是應該把它們分解到最底層以擷取快速回報。甚至簡單的冒煙測試也可能滿足面向業務的測試自動化。
  • 持續改進(Practice Continuous Improvement)
想辦法把工作做得更出色是靈活測試人員思想的一部分。當然,整個團隊都應該具有這樣的想法,因為靈活的核心價值就是團隊總是嘗試更出色地工作。測試人員參加團隊總結會,評估做得好的方面和需要增加和改變的方面。測試人員把測試問題擺到整個團隊中解決。團隊通過采取過程改進實踐最大程度地改善測試和所有其他領域。對于更大的問題,團隊一次隻關注一到兩個問題,以確定徹底解決了實際問題,而不是表面文章。
  • 響應變化(Respond to Change)
響應變化是靈活實踐的重要價值,但是我們發現這對測試人員來說卻是最困難的概念之一。測試人員渴望的是穩定,是以他們會說:“我已經測試過了,任務完成了”。持續的需求變化是測試人員的噩夢。但是,作為一名靈活測試人員,我們不得不擁抱變化。周三,我們可能期望啟動故事A和B,下周五做C。但是到了周五,客戶重新設定了優先級,現在需要故事A、X和Y。隻要我們持續與客戶交流,就能處理這些變化,因為我們與團隊的其他成員保持同步。 
  • 自我組織(Self-Organize)
靈活測試人員是自組織靈活團隊的組成部分。團隊文化貫徹于靈活測試理念。當開發人員、系統管理者、分析員、資料庫專家和客戶團隊持續關注測試和測試自動化,測試人員就會獲得全新的視角。自動化測試很困難,但是當整個團隊都在為此努力時就會簡單得多。當大家具有多重技能和多層次視角時,任何測試問題都更容易解決。
  • 關注人(Focus on People)
堅持靈活理念的靈活團隊對所有團隊成員一視同仁。靈活測試人員對團隊做出了特有的貢獻,開發團隊認識到要想更加成功,團隊需要擁有測試技能和背景的人。舉例來說,一位熟練的探索性測試人員可能會發現自動化功能測試無法察覺的問題。一些測試經驗豐富的工程師會提出其他人想不到的重要問題。測試知識是任何一個成功團隊的組成部分。
  • 享受樂趣(Enjoy)
在我們看來,測試人員的理想團隊是:所有成員協作,從項目的開始一直到結束,利益相關者與開發團隊共同工作,整個團隊負責品質和測試。相信很多人都認為每個人都應該在工作中找到樂趣。靈活開發珍視靈活測試人員對工作的激情。