定義:測試用例是為特定的目的而設計一組測試輸入、執行條件和預期的結果,以便測試是否滿足某個特定需求。通過大量的測試用例來檢驗軟件的運行效果,它是指導測試工作進行的依據
一、等價類划分法
等價類划分是一種重要的、常用的黑盒測試方法,不需要考慮程序的內部結構,只需要考慮程序的輸入規格即可。它將不能窮舉的測試過程進行合理分類,從而保證設計出來的測試用例具有完整性和代表性
等價類思考步驟:
1、先確定有效和無效等價類
2、有效等價類就是題目條件(兩端的極值(邊界值)要判斷,中間隨意一個值也要判斷)
3、無效等價類先划分與條件相反的情況,其它特殊情況(中文、英文、特殊符號、空格、空值)
二、邊界值
具體測試用例思路:找到邊界值和它兩端的值,分別進行測試
1、確定邊界情況(輸入或輸出等價類的邊界)
2、選取正好等於、剛剛好大於或剛剛好小於邊界值作為測試數據
3、邊界值的取值依據輸入范圍區間不同而有所不同,但是都需要把上點值、離點值和內點值取到(閉兩邊、開中間)
邊界值的方法小結:
1、如果輸入條件規定了值的范圍,則應取剛剛到這個范圍的邊界值,以及剛剛超載這個范圍邊界的值作為輸入數據
如:兩位加法器數的范圍為-99 - 99,則應測試-99 -100和99 100
2、輸入條件規定了值的個數
如:姓名要求1-20個字符,需要測試0、1、2個字符和19、20、21個字符
某商品信息查詢系統,每頁最多顯示10條商品信息,我們應該閃圖商品信息使其能夠查詢出9、10、11條、1條、0條商品記錄
邊界值和等價類區別:邊界值分析不是從某等價類中隨便挑一個作為代表,而是這個等價類的每個邊界都要作為測試條件。它們是相輔相成的關系,配合使用
三、因果圖法
因:輸入條件 | 果:輸出條件、輸出結果
適用於輸入條件之間有相互制約、相互依賴的情況
因果圖中的符號:
1、恆等:有因就有果,沒有因就沒有果
2、非:有因沒有果,沒有因有果
3、或:條件有一個是真,結果就是真,條件都是假,結果才是假
4、且(與):條件都為真,結果才是真,一個條件為假,結果就是假
利用因果導出測試用例需要經過以下幾個步驟:
1、找出所有的原因,原因即輸入條件或輸入條件的等價類
2、找出所有的結果,結果即輸出條件
3、明確所有輸入條件之間的制約關系以及組合關系
哪些條件不能組合在一起,哪些條件可以組合在一起
4、明確所有輸出條件之間的制約關系以及組合關系
哪些輸出結果不能同時輸出,哪些輸出結果可以同時輸出
5、找出什么樣的輸入條件組合會產生哪種輸出結果
6、把因果圖轉換成判定表/決策表
7、為判定表/決策表中的每一列表示的情況設計測試用例
四、判定表法
根據因果圖來制作判定表(因果圖可以不畫)
組成部分:
1、條件樁:所有條件
2、動作樁:所有結果
3、條件樁:針對條件樁的取值
3、動作樁:針對動作樁的取值
書寫步驟:
1、列出所有條件和動作樁
2、填寫條件和動作樁的項目
3、簡化判定表
注意:如果出現“-”代表此選項不影響最終結果
五、場景法
場景法就是模擬用戶操作軟件時的場景,主要用於測試系統的業務流程,分為基本流(正確流程)和備選流(錯誤流程)
在冒煙測試時也主要采用場景法進行測試
六、流程分析法
流程分析法適用於有先后順序的測試,常用於業務流程測試、安裝流程測試等。每個流程就是一條測試用例,它只是在測試整體流程是否正確,細節還需要使用等價類、邊界值等方法完善
七、錯誤推斷法
憑着直覺和經驗來設計測試用例,它是根據之前項目相關的bug數據總結來的
八、正交表
從全面試驗中挑選出有代表性的點進行測試(均勻分散,整齊可比);高效率、快速、經濟的方法
作用方法:
1、根據控件和取值當我選擇一個合適的正交表
2、列舉取值並編號,生成取值表
3、把取值表與選擇的正交表進行映射
混合正交表生成工具allpairs:
很多情況下無法找到合適的正交表,就要使用正交表生成工具
使用步驟:
1、制作取值表(只列出數據即可,不用編號)
2、復制取值表的數據,放到文本文檔中保存(注意不要更改任何格式,例如文件叫Test2.txt)
3、把文本文檔放在allpairs文件夾中
4、cmd進入控制台
5、使用控制台命令進入allpairs文件夾中(cd目錄路徑)
6、在控制台中輸入 allpairs.exe Test2.txt>chenggong.txt(chenggong是自己真怕的名字,用來存放生成的組合用例,可以自動生成,不必提前建好)
測試方法的選擇
在確定測試方法時,應遵循以下原則:
1、拿到一個測試任務時,先關注它的主要功能和業務流程,業務邏輯是否正確實現,考慮使用場景法
2、需要輸入數據的地方,考慮采用等價類划分法,包括輸入條件和輸出條件的等價划分,將無限測試變成有限測試。要注意配合邊界值法來做詳細測試
3、在任何情況下都必須采用邊界值分析法,這種方法設計出的測試用例程序錯誤的能力最強
4、如果程序的功能中含有輸入條件的組合情況,則一開始就應考慮選用因果圖和判定表法
5、對於參數配置類的軟件,需要考慮參數之間的組合情況,考慮使用正交排列法選擇較少的組合方式(最少的測試用例獲得最大的測試覆蓋率)
6、對照程序邏輯,檢查已設計出的用例的邏輯覆蓋程序,如果沒有達到要求的覆蓋標准,則應當再補充更多的測試用例
7、采購錯誤推斷法再追加測試用例---依靠測試工程師的經驗和智慧