數據組合覆蓋測試技術 | ||||||||||
1,分析被測對象,識別測試輸入及可能取值 | ||||||||||
2,使用數據組合覆蓋技術識別測試條件 | ||||||||||
EC | 單一選擇組合 | 每一個測試輸入的每一個取值在所有組合中至少出現一次 | ||||||||
BC | 基本選擇組合 | 以基本組合爲基礎,通過更改一個輸入的取值創建新的組合 | ||||||||
AC | 全組合 | 每個測試輸入的每個取值的所有可能組合 | ||||||||
OA | 正交數組 | 基於正交數組的組合方式 | ||||||||
N:Wise | 覆蓋任意N個輸入的全組合的組合方式 | 覆蓋任意N個輸入的全組合的組合方式 | ||||||||
3,創建測試用例 | ||||||||||
分類樹測試設計技術 | ||||||||||
1,分析被測對象,識別影響系統功能的因素,並對這些因素進行分類(CTE XL) | ||||||||||
2,使用數據組合覆蓋技術識別測試條件 | ||||||||||
3,創建測試用例 |
PS: 相關理論及工具可以參考:
http://www.berner-mattner.com/en/berner-mattner-home/products/cte-xl/
由於軟件測試基本上都可以抽象成圖靈機模型,因此測試設計基本上就是一個分析輸入數據的組合,並check輸出結果是否符合設計的過程,簡化成一個公式:
測試=測試環境+輸入分析+輸出判定
傳統的瀑布式開發流程下,測試團隊和開發團隊相互獨立,測試自動化技術基本上就是環境搭建,輸入分析及輸出判定3個方面。而在敏捷開發流程下,測試團隊和開發團隊合併,自動化技術還需要解決快速發佈,快速驗證,快速重現,快速定位的問題,測試需要從黑盒向灰盒、灰白盒、白盒的方向努力。
敏捷開發模式是一個輕文檔重交流的輕量級開發流程,不但是TDD的,更是ATDD(Auto)的,整個流程對工具的要求很高。在快速循環的迭代過程中,必須藉助工具使團隊儘量脫離重複工作,將精力集中到對業務的理解上去。我認爲工具發展的方向應該是打通"需求/用例/執行/缺陷管理"等環節,儘可能的消滅中間文檔,支持從任一環節快速回溯到其他環節。
而在敏捷模式下,測試開發融合,測試團隊的獨立性似乎更多反映在技術層面的相對獨立,傳統的測試leader似乎已經無事可做了