如何設計一個"好的"測試用例?
什麽才算是“好的”測試用例?
好的測試用例一定是一個完備的集合,它能夠覆蓋所有等價類以及各種邊界值,而跟能否發現缺陷無關。
"好的"測試用例必須具備哪些特征?
一個“好的”測試用例,必須具備以下三個特征。
1.整體完備性:"好的"測試用例一定是一個完備的整體,是有效測試用例組成的集合,能夠完全覆蓋測試去求。
2.等價類劃分的準確性:指的是對於每個等價類都能保證只要其中一個輸入測試通過,其他輸入也一定測試通過。
3.等價類集合的完備性:需要保證所有可能的邊界值和邊界條件都已經正確識別。
做到了以上三點,就可以肯定測試時充分且完備的,即做到了完整的測試需求覆蓋。
三種最常用的測試用例設計方法
1.等價類劃分方法
等價類中任意一個輸入數據對於揭露程序中潛在錯誤都具有同等效果。我們只要從每個等價類中任意選取一個值進行測試,就可以用少量具有代表性的測試輸入去的較好的測試覆蓋效果。
2.邊界值分析方法
邊界值分析是對等價類劃分的補充,你從工程實踐經驗中可以發現,大量的錯誤發生在輸入輸出的邊界值上,所以需要對邊界值進行重點測試,通常選取正好等於、剛剛大於或剛剛小於邊界的值作為測試數據。
3.錯誤推測方法
錯誤推測方法是指基於對被測試軟件系統設計的理解、過往經驗以及個人直覺,推測出軟件可能存在的缺陷,從而有針對性地設計測試用例的方法。這個方法強調的是對被測試軟件的需求理解以及設計實現的細節把握,當然還有個人的能力。
設計測試用例時,有兩個關鍵點需要註意:
1.從軟件功能需求出發,全面地、無遺漏地識別出測試需求是至關重要的,這將直接關系到用例的測試覆蓋率。
2.對於識別出的每個測試需求點,需要綜合運用等價類劃分、邊界值分析和錯誤推測方法來全面地設計測試用例。
測試用例集三個獨家“秘籍”:
1.只有深入理解被測試軟件的架構,你才能設計出“有的放矢”的測試用例集,去發現系統邊界以及系統集成上的潛在缺陷。
2.必須深入理解被測試軟件的設計與實現細節,深入理解軟件內部的處理邏輯。
3.需要引入需求覆蓋率和代碼覆蓋率來衡量測試執行的完備性,並以此為依據來找出遺漏的測試點。
總結:
首先,你需要明白,"好的"測試用例一定是一個完備的集合,它能夠覆蓋所有等價類以及各種邊界值,而能否發現軟件缺陷並不是衡量測試用例好壞的標準。
其次,設計測試用例的方法有多種,但綜合運用等價類劃分、邊界值分析和錯誤推測方法,可以滿足絕大多數測試用例設計的需求。
再次,"好的"測試用例在設計時,需要從軟件功能需求出發,全面地、無遺漏地識別出測試需求至關重要。
最後,如果想設計一個"好的"測試用例,你必須要深入理解被測試軟件的架構設計,深入軟件內部的處理邏輯,需求覆蓋路和代碼覆蓋率這兩個指標可以幫你衡量測試執行的完備性。
如何設計一個"好的"測試用例?