1、 1 / 6青 岛 科 技 大 学 实 验 报 告课程:软件测试基础 实验项目:白盒测试专业:计算机科学与技术 班级:惠普测试 142姓名:闫伟明 日期:2016-11-25实验要求: (1) 根据下述 C 代码及对应流程图,将其转换成 Python 代码;void DoWork (int x,int y,int z)int k=0,j=0;if ( (x3) /语句块 2 j=j%3; /语句块 3流程图:2 / 6Python 代码:#py001.pyimport mathdef DoWork(x,y,z):k=0j=0if x3 and z5:j=x*y+10j=j%3return k,
2、j(2) 根据 Python 代码设计白盒测试用例,包括: 语句覆盖;测试用例输入为: x=5、y=6 、z=7 程序执行的路径是:abd 判定覆盖;测试用例的输入为:x=5 、y=6 、z=7;x=1、y=2、z=3程序执行的路径分别是:abd;ace 条件覆盖;条件 x3 取真值记为 T1 取假值记为-T对于第一个判定( (x3)x=1,y=2,z=13“def test_tjfg1(self):self.assertEquals(DoWork(4,6,7),(23,1)def test_tjfg2(self):self.assertEquals(DoWork(1,2,13),(0,0)4
3、. test004.py# -*- encoding:utf8 -*-import unittestfrom py001 import DoWorkclass Test004(unittest.TestCase):“判定/条件覆盖:测试用例的输入为:x=4、y=6、z=9;x=3,y=5,z=10“def test_pdtjfg1(self):self.assertEquals(DoWork(4,6,9),(23,1)def test_pdtjfg2(self):self.assertEquals(DoWork(3,5,10),(0,0)5. test005.py# -*- encoding:
4、utf8 -*-6 / 6import unittestfrom py001 import DoWorkclass Test005(unittest.TestCase):“组合覆盖:测试用例的输入为:x=4,y=6,z=6;x=4,y=5,z=10;x=3,y=6,z=6;x=3,y=5,z=10;x=5,y=5,z=5“def test_zhfg1(self):self.assertEquals(DoWork(4,6,6),(23,1)def test_zhfg2(self):self.assertEquals(DoWork(4,5,10),(0,0)def test_zhfg3(self):self.assertEquals(DoWork(3,6,6),(0,1)def test_zhfg4(self):self.assertEquals(DoWork(3,5,10),(0,0)def test_zhfg5(self):self.assertEquals(DoWork(5,5,5),(24,1.8989794855663558)运行截图: