常用測試設計方法--數據組合覆蓋測試設計

數據組合覆蓋測試技術
1,分析被測對象,識別測試輸入及可能取值
2,使用數據組合覆蓋技術識別測試條件
  EC 單一選擇組合 每一個測試輸入的每一個取值在所有組合中至少出現一次
  BC 基本選擇組合 以基本組合爲基礎,通過更改一個輸入的取值創建新的組合
  AC 全組合 每個測試輸入的每個取值的所有可能組合
  OA 正交數組 基於正交數組的組合方式
  N:Wise 覆蓋任意N個輸入的全組合的組合方式 覆蓋任意N個輸入的全組合的組合方式
3,創建測試用例          
                     
分類樹測試設計技術
1,分析被測對象,識別影響系統功能的因素,並對這些因素進行分類(CTE XL)
2,使用數據組合覆蓋技術識別測試條件
3,創建測試用例

 

PS: 相關理論及工具可以參考:

http://www.pairwise.com

http://www.berner-mattner.com/en/berner-mattner-home/products/cte-xl/

由於軟件測試基本上都可以抽象成圖靈機模型,因此測試設計基本上就是一個分析輸入數據的組合,並check輸出結果是否符合設計的過程,簡化成一個公式:

測試=測試環境+輸入分析+輸出判定

傳統的瀑布式開發流程下,測試團隊和開發團隊相互獨立,測試自動化技術基本上就是環境搭建,輸入分析及輸出判定3個方面。而在敏捷開發流程下,測試團隊和開發團隊合併,自動化技術還需要解決快速發佈,快速驗證,快速重現,快速定位的問題,測試需要從黑盒向灰盒、灰白盒、白盒的方向努力。

敏捷開發模式是一個輕文檔重交流的輕量級開發流程,不但是TDD的,更是ATDD(Auto)的,整個流程對工具的要求很高。在快速循環的迭代過程中,必須藉助工具使團隊儘量脫離重複工作,將精力集中到對業務的理解上去。我認爲工具發展的方向應該是打通"需求/用例/執行/缺陷管理"等環節,儘可能的消滅中間文檔,支持從任一環節快速回溯到其他環節。 

而在敏捷模式下,測試開發融合,測試團隊的獨立性似乎更多反映在技術層面的相對獨立,傳統的測試leader似乎已經無事可做了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章