最近發現身邊測試的同窗都不太瞭解/理解白盒測試,網上的資料又是千篇一概(互抄),不易理解。因此想作一個更容易讓測試同窗學習的白盒測試教程。python
程序中每個語句至少能被執行一次學習
一、程序中每個語句執行一次
二、對程序執行邏輯的覆蓋率低,屬於最弱的覆蓋方式
三、無需測試程序的分支狀況
四、無需測試程序分支判斷的輸入值以及輸入值的組合
五、無需測試程序執行的不一樣路徑測試
demo.py設計
# encoding:utf-8 A = int(input('請輸入A的值:')) B = int(input('請輸入B的值:')) X = int(input('請輸入X的值:')) if A > 1 and B == 0: X = X / A if A == 2 or X > 1: X = X + 1 print('X:', X) print('結束')
用例編號 | 測試用例 | 覆蓋路徑 | 預期結果 |
---|---|---|---|
1 | A=2,B=0,X=3 | a-c-e | X=2.5 |
執行編號1 用例,程序從上往下執行,每一行代碼都會運行 —— 語句覆蓋
執行結果:X=2.5code
test_demo.pyblog
# encoding:utf-8 import unittest class TestDemo(unittest.TestCase): def demo(self, A, B, X): if A > 1 and B == 0: X = X / A if A == 2 or X > 1: X = X + 1 return X def test_demo_with_statement_coverage(self): ''' 使用語句覆蓋測試 方法demo 輸入:A=2,B=0,X=3 預期結果:X = 2.5 ''' X = self.demo(A=2, B=0, X=3) self.assertEqual(2.5, X) if __name__ == '__main__': unittest.main()