敏捷測試用例和User Story的關聯關系
測試用例是軟件測試的基礎,是測試人員和開發團隊其他成員深入了解產品開發需求的介質之一,也是產品質量的保障。因此合理設計測試用例不僅有助于掌握客戶的產品真實需求,使得研發團隊所有人員對需求的理解處于同一平面上,也確保產品在整個動態的研發過程中,始終符合用例的設計,實現用戶最終期望的功能。
在傳統開發模式中,需求分析往往占用較長時間,分析階段由核心的開發人員和測試人員參與。在進入研發階段后,將需求傳遞給其他開發和測試人員,測試人員根據需要在設計完測試用例和開發完成以后,進行各種類型的測試。這樣的結果往往由于測試人員沒有參與最初的需求討論,因此對需求的理解存在一定偏差,很多用例的編寫基于測試人員的假設。而且因為開發周期較長,最終交付的功能已經發生改變。
在敏捷開發模式中,測試人員和開發人員的節奏是同步的,即開發人員增量地開發功能的同時或甚至之前,測試人員也增量地設計相應的測試用例,等功能完成后馬上可以對功能性測試。對于還未開始開發或者需求暫不明確的功能,不進行測試用例的深度分析工作。這樣就能把更多的精力投入到最重要功能上去。
功能性測試用例和需求的關聯
在敏捷測試中,需求一般以用戶故事的形式存在,是將用戶的需求用實例或者故事的方式記錄到待辦事項列表中(backlog)。 測試用例和用戶故事之間是緊密關聯的,在產品經理(PO)設計、解釋完成用戶故事后,測試人員根據用戶故事設計測試用例。測試用例可以是對用戶故事驗收標準的細分,也可以把多個用戶故事進行串聯形成一個用例,這取決于用戶故事和測試用例設計的粒度大小。由于用戶故事會隨著需求的細化和拆分,因此很難對用戶故事和測試用例做一一對應,而且后期維護成本較高,因此需要在用戶故事和測試用例中增加模塊屬性,來管理測試用例和用戶故事之間的關聯關系。而且兩者應該在一個統一平臺進行維護和更新。
非功能性測試用例和需求的關聯
對于非功能性的測試用例,往往并不關聯具體功能模塊,但是會有對應的用戶故事,例如:性能需求,安全需求等,建立這類測試的測試用例的時候,可以通過建立性能模塊,安全模塊等并不存在的模塊,和其他用例等同處理。
單元/組件測試用例的關聯