敏捷測試關鍵成功因素

參考《敏捷軟件測試》第21章 關鍵成功要素
爲了幫助測試人員在敏捷團隊中成功並幫助敏捷團隊成功地發佈高質量產品,現總結出具備敏捷思想的測試人員如何應用敏捷實踐和提升工做質量。數據庫

一、團隊總體參與
  當整個開發團隊負責測試和質量問題,會發現學到不一樣的技能集合和經驗等級來處理測試可能發生的問題。在團隊中要注重1+1>2。任何人都參與測試任務,團隊纔會設計出很是完美的可測試case。將測試人員真正成爲開發團隊的一部分意味着測試人員須要掌握更多的新技能來和開發和客戶團隊緊密協做。
管理一個敏捷團隊,記住敏捷開發和測試的目的是產品質量,不是速度。用戶的滿意纔是對產品和團隊的確定。團隊須要產品人員幫助客戶理清需求,測試人員進行質量驗證,確保測試人員可以把技能和長處應用到項目中,使測試不侷限一種角色。
  做爲一個測人人員,應該站在用戶的角度思考問題,積極和團隊其餘成員交流,謹慎地提供反饋並幫助客戶提供示例,讓本身的問題成爲團隊的問題,讓團隊的問題成爲本身的問題,一塊兒解決。編程

二、採用敏捷測試思惟
  在敏捷團隊中,開發人員參與測試,測試人員能夠作任何事情以幫助團隊生產最優秀的產品。曾經和某公司leader聊天過程當中,他指出測試人員不該是對產品的一種簡單測試,而是不斷的探索新的方法或工具,使產品的測試工做更有效率的完成,也使開發在自我驗證的時候更便捷。敏捷測試態度是前瞻性的、創造性的、歡迎新思想、樂於承擔任何任務。敏捷測試人員不斷磨練本身的技能,隨時準備協做,相信直覺,幫助團隊和業務成功。在敏捷團隊中在注重團隊的目標的同時也應該注重團隊的每個成員,使每個人都有提高,這樣才能更好的服務團隊。
  使用敏捷準測和價值觀。不斷嘗試最簡單的方法知足測試需求。需求幫助和實驗新想法。關注產生價值,多溝通,靈活應對變化,享受工做。
  不斷探索新方法改進工做。成功的敏捷測試人員會持續地磨練技能,讀好書、博客和文章以得到新想法和技能。實驗新的實踐、工具和技術。鼓勵團隊嘗試新方法。端粒迭代很是適合。工具

三、自動化迴歸測試
  測試自動化是團隊的工做 ,在開始時很艱苦,須要克服很大的痛苦。若是管理開發或者測試團隊,應確保在時間、培訓和激勵上提供足夠的支持。
  自動化迴歸測試是團隊的工做。整個團隊應該選擇適合本身測試的工具。提早考慮測試將幫助開發人員爲了便於測試自動化來設計代碼。可以使用敏捷測試象限和測試自動化金字塔來幫助自動化各類類型的測試。從簡單的入手,會發現一些基本的自動化冒煙測試或者自動化單元測試會發生很大做用。單元測試

四、提供並獲取反饋
  反饋時敏捷的核心價值,敏捷的短時間迭代能夠提供持續的反饋以幫助團隊正常運轉。測試人員經過自動化測試結果、探索性測試的發現和系統實際用戶的觀察結果的形式幫助提供反饋。敏捷開發的價值不是更快,而是快速的產生足夠的價值以幫助業務增加和成功。測試人員在提供反饋達到目標過程當中扮演着重要的角色。測試人員應該詢問開發人員是否獲得了足夠的信息以理解需求而且是否可以指導編碼。詢問客戶是否理解質量標準。花時間參與迭代集合會議和回顧會議以討論這些問題並提出改進方案。測試

五、構建核心實踐的基礎
  a、持續集成
    每個團隊都須要代碼管理和持續集成。若是不知道本身在測試什麼,就沒法有效的測試。全部團隊成員須要至少天天一次導入本身的工做。每一集成必須經過自動化構建驗證。其中包括提供軟件態度快速反饋的測試。
實際持續集成過程應該是軟件開發團隊中優先級最高的事情。若是團隊沒有每日構建驗證的版本,就應中止手上的工做,開始構建。
  b、測試環境
    沒有可控的測試環境就沒法有效地進行測試。須要制定部署什麼版本、使用的數據庫模式是什麼、其餘人是否是正在更新模式、其餘進程是否運行在那臺計算機上。
    硬件老是愈來愈便宜,開源軟件會越來也多。團隊必須投資以有效地執行自動化和手動探索性測試。遇到問題,提出來團隊一塊兒解決。
  c、管理技術債務
    即便優秀的軟件團隊在感受時間壓力以後,也會忽視重構或者快速解決問題修補缺陷。隨着代碼愈來愈混亂和難以維護,會出現更多的缺陷。團隊必須不斷地評估技術債務的數量,並努力減小和避免技術債務。業務須要團隊保持持續的生產力。這就要求必須保證足夠的時間來進行良好的、測試規範的代碼設計和優秀實踐。
    自動化迴歸測試的良好覆蓋率是最小化技術債務的關鍵。若是缺乏,那就在每一個迭代中拿出時間來構建自動化測試,規劃一個「重構迭代」以升級或添加必要的工具。在每一個迭代中花時間經過 測試指導代碼,重構必要的代碼,添加丟失的自動化測試。
  d、增量工做
    敏捷團隊可以生產高質量代碼的一個緣由是他們小規模的工做。故事表明了幾天的工做量,每一個故事被分解成小增量,按步構建。測試能夠針對一小塊,而且隨着功能彙集再增量測試。
  e、編碼與測試
    測試人員必須貫穿整個迭代,整個開發過程,不然就是失敗。
    測試人員基於需求提供的示例編寫測試,幫助開發人員理解故事並開始編程。測試和示例提供了一種通用語言使全部人都參與到軟件理解中。開發人員向測試人員展現編寫能力,測試人員向開發人員展現發現的異常行爲。測試人員隨着編碼進行編寫更多的測試,開發人員經過測試,使其瞭解是否生產了正確的價值。每一次迭代包含了若干持續、快速、增量的測試。
    當編碼一直由測試指導,編碼的同時進行測試,更有可能達到客戶預期的行爲,提供客戶所需的價值。測試是團隊的職責。
  f、實踐之間的協做
    單個敏捷開發實踐可以發揮做用,可是多個敏捷實踐的組合比各個比分相加要更大。測試驅動設計、共有代碼全部權和持續集成一塊兒促進快速反饋、持續改進代碼設計和快速產生業務價值。
    敏捷實踐是互補的。應花時間理解各個實踐的目的,利用所有優點做出對團隊有用的決定。編碼

六、與客戶合做
  測試人員對敏捷團隊的最大貢獻之一是幫助客戶理清需求並設定優先級,經過預期行爲和用戶場景的具體示例描繪需求,並把這些示例轉換爲可執行的測試。測試人員使用業務的領域語言和開發團隊的技術語言,擔任優秀的輔助者和翻譯。
  多鼓勵交流,當需求模糊,客戶、開發、測試一塊兒解決問題。翻譯

七、保持大局觀
  團隊的每個人很容易只關注手邊的一個任務或者故事,這是一次只作一塊功能的缺點。幫助團隊評估當前的故事如何負責業務的大局。不斷問本身如何才能更好的產生真正的價值。
  大局觀對團隊貢獻巨大。測試驅動開發,使用敏捷測試象限做爲綱領來幫助規劃測試覆蓋全部範圍。使用測試金字塔思想確保測試自動化的良好投資回報率。要勤於從新構建一個生產環境相似的場景。設計

總結
  測試和質量時總體團隊的職責,可是測試人員擁有獨特的視角和技能。最爲一名測試人員,對發佈客戶滿意產品的追求會幫助本身克服遇到的挫折。成爲持續改進的代理人。讓敏捷準則和價值指引本身與客戶和開發團隊一同工做,在每一個迭代中生產價值。代理

相關文章
相關標籤/搜索