最近发现身边测试的同窗都不太了解/理解白盒测试,网上的资料又是千篇一概(互抄),不易理解。因此想作一个更容易让测试同窗学习的白盒测试教程。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()