a.具有較高的發現可能故障的能力
b.從分析模型開始,考察可能發生的故障,設計用例去執行設計和代碼
c.可用于集成測試,發現消息聯系中‘可能的故障’(可能的故障指意料之外的結果、錯誤地使用了操作/消息、不正確地引用等)
d.除用于操作測試外,還可用于屬性測試,用以確定其對于不同類型的對象行為是否賦予了正確的屬性值
e.是從客戶對象(主動)上發現錯誤
f.不能發現的錯誤:不正確的規格說明,用戶不需要的功能或缺少用戶需要的功能;沒有考慮子系統間的交互作用
2.基于場景的測試
a.主要關注用戶需要做什么,不是產品能做什么,即從用戶任務(使用用例)中找出用戶要做什么及如何去執行
b.有助于在一個單元測試情況下檢查多重系統,比基于故障的測試更實際,更復雜一點
3.OO類的隨機測試
如果一個類有多個操作(功能),這些操作(功能)序列有多種排列,這種不變化的操作序列可隨機產生,用這種可隨機排列來檢查不同類實例的生存史,稱為隨機測試。
4.類層次的分割測試
a.可以減少用完全相同的方式檢查類測試用例的數目,類似于等價類劃分
b.分類:基于狀態的分割、基于屬性的分割、基于類型的分割
基于狀態的分割:按類操作是否會改變類的狀態進行分割(歸類)
基于屬性的分割:按類操作所得到的屬性來分割(歸類)
基于類型的分割:按完成的功能分割(分類),如初始操作、計算操作、查詢操作
5.由行為模型(狀態、活動、順序和合作圖)導出的測試
狀態轉換圖(STD)可以用來幫助導出類的動態行為的測試序列,以及這些類與之合作的類的動態行為測試用例,根據狀態轉換圖,設計出最小測試用例,加入其他測試序列到最小測試序列中,保證類所有行為被充分檢查。
原文轉自:http://www.anti-gravitydesign.com