由實例驅動的軟件驗收測試 驗收測試計劃
人們一直將測試看做開發工作不可或缺的一部分,代碼和測試用例都是敏捷項目的重要產出。然而,在許多敏捷團隊中,相較驗收測試而言,單元測試和集成測試的地位要更為顯著。Gojko Adzic和Lisa Crispin建議采取措施,將驗收測試作為開發工作的一部分。
Gojko認為有必要以實例編寫研討會的形式來支持驗收測試。他認為:在下個迭代開始前,團隊應該大致了解一下下個迭代要開發哪些功能。在不干擾當前迭代工作的前提下,有些團隊成員可以參加實例編寫研討會。這個研討會要重點研究如何編寫有現實意義的例子,以后好把它們轉換成驗收測試。在Gojko看來:
研討會的目的,是要在開發人員、業務人員和測試人員之間建立共同的理解,讓大家知道接下來兩周的工作目標。研討會更具體的目標,就是產生現實的實例,可供以后轉換為驗收測試。
……
因為實際的例子是經過討論并撰寫下來的,所以如果大家對需求的理解有什么不一致,在這個階段很容易發現,也就能夠為開發階段的工作打下堅實基礎。當與會每個人都同意編寫的實例已經夠用而且足夠清晰之后,研討會也就可以結束了。同時,當前迭代要用到的驗收測試應該持續不斷地進行簡化,并以更好的形式組織。
Lisa Crispin也著重指出了實例在定義驗收測試中的重要性。不過,她尤其提醒不應深入過多細節,這樣反而會降低效率。在Lisa看來,她認為測試策略應該是這樣的:
1. 先跟產品負責人開會討論需求的滿意條件,可以提問題,得到實例,切分大故事
2. 迭代規劃
3. 高級別的驗收測試和其他的準備工作,比如獲取測試數據和其他更多實例
4. 詳細說明測試用例
5. 編寫可自化運行的FitNesse測試(面向業務的測試,可用來指導開發)
6. 探索性測試,自動化GUI冒煙測試
每個用戶故事都要進行4-6這三個步驟。
因此,驗收測試應該作為每個迭代中開發工作的一部分。關鍵在于讓業務團隊和開發團隊先碰面,并產生足夠的實際例子,并以之創建有用的驗收測試。
文章來源于領測軟件測試網 http://www.kjueaiud.com/