從一個實例詳解敏捷測試的最佳實踐(上)

發表于:2010-01-08來源:作者:點擊數: 標簽:實踐詳解實例
從一個實例詳解敏捷測試的最佳實踐(上) 軟件測試工具 敏捷軟件開發是目前十分流行,并在業界逐步推廣的軟件開發模式。不同與傳統的軟件開發模式, 敏捷開發 模式有著自己鮮明的價值和方法。其中,敏捷測試部分也同以往的 軟件測試流程 有所不同。這對 測試人

  從一個實例詳解敏捷測試的最佳實踐(上)  軟件測試工具

   敏捷軟件開發是目前十分流行,并在業界逐步推廣的軟件開發模式。不同與傳統的軟件開發模式,敏捷開發模式有著自己鮮明的價值和方法。其中,敏捷測試部分也同以往的軟件測試流程有所不同。這對測試人員提出了新的要求,帶來了新的挑戰。本文將結合一個軟件項目實例,基于項目開發的不同階段,詳細介紹每個階段的主要測試活動。文中將分析每個主要測試活動的前提條件和目標任務,并根據實例推薦最佳的解決方案。

  第一部分:敏捷軟件開發簡介

  敏捷軟件開發(Agile Software Development)初起于九十年代中期。最早是為了與傳統的瀑布軟件開發模式(waterfall model)相比較,所以當時的方法叫做輕量級方法(Lightweight methods)。二十世紀初,17 位該方法的倡導者建立了敏捷聯盟(Agile Alliance),并將該軟件開發方法命名為敏捷軟件開發過程。

  敏捷聯盟在成立之初總結了四條基本的價值原則:

  1. 人員交流重于過程與工具(Individuals and interactions over processes and tools)

  2. 軟件產品重于長篇大論(Working software over comprehensive documentation)

  3. 客戶協作重于合同談判(Customer collaboration over contract negotiation)

  4. 隨機應變重于循規蹈矩(Responding to change over following a plan)

  基于這四點原則,敏捷軟件開發有著自己獨特的流程(參見圖 1)。

  圖 1. 敏捷軟件開發流程

  整個過程中夾雜了很多在敏捷開發前己經出現的軟件開發方法,包括極限編程(Extreme Programming,1996)、Scrum(1986)、特征驅動開發(Feature Driven Development),測試驅動開發(Test Driven Development)等。這些方法在敏捷軟件開發流程的各個階段都有充分的體現和應用。

  例如,Scrum 主要著重于項目管理,團隊中的項目經理(Scrum master)需要在每個客戶需求到來的時候制定 Sprint 的周期,定義每個 Sprint 的目標、分派任務、進行監督、最后總結得失并開始計劃新的 Sprint。

  相反,特征驅動開發和測試驅動開發主要被應用于 Sprint 周期中。如果項目進行于開發新功能時期,這個階段主要推行特征驅動開發。所有測試和開發人員都將自己的工作重心放在新的功能上面,從開發和測試兩個方面來完成各自的任務。如果項目進行于測試新功能時期,這個階段需要將工作的重點挪到測試上來。所有的測試和開發人員都密切關注著目前版本的缺陷狀況。測試人員需要在每天的站立會議(Daily Standup Meeting)上報告前一個工作日發現的新缺陷情況,項目經理根據項目進度和缺陷嚴重性來決定是否修復這些問題。需要及時修復的缺陷是目前 Sprint 中的一個新任務,將由項目經理添加到 Sprint Backlog 上并通知開發人員去修復漏洞。

  對于敏捷開發和測試中的審查過程,極限編程中的同行評審(peer review)思想得到了充分應用。代碼和文檔的審查追求簡單而高效。團隊成員兩兩組成一對,互相評審;有時候,一個開發和一個測試人員也可以組成一對,互相協作。這樣能夠有助于缺陷和問題在第一時間被抹殺在萌芽中。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97