Python白盒测试实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1/6青岛科技大学实验报告课程:软件测试基础实验项目:白盒测试专业:计算机科学与技术班级:惠普测试142姓名:闫伟明日期:2016-11-25实验要求:(1)根据下述C代码及对应流程图,将其转换成Python代码;voidDoWork(intx,inty,intz){intk=0,j=0;if((x3)&&(z10)){k=x*y-1;j=sqrt(k);}//语句块1if((x==4)||(y5)){j=x*y+10;}//语句块2j=j%3;//语句块3}流程图:2/6Python代码:#py001.pyimportmathdefDoWork(x,y,z):k=0j=0ifx3andz10:k=x*y-1j=math.sqrt(k)ifx==4ory5:j=x*y+10j=j%3returnk,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)&&(z10)):条件x3取真值记为T1取假值记为-T条件z10取真值记为T2取假值记为-T2对于第二个判定((x==4)||(y5)):条件x==4取真值记为T3取假值记为-T3条件y5取真值记为T4取假值记为-T43/6测试用例执行路径覆盖条件覆盖分支x=4,y=6,z=7abdT1,T2,T3,T4bdx=4,y=4,z=13ace-T1,-T2,-T3,-T4ce判定/条件覆盖;测试用例执行路径覆盖条件覆盖分支x=4,y=6,z=9abdT1,T2,T3,T4bdx=3,y=5,z=10ace-T1,-T2,-T3,-T4ce组合覆盖对DoWork函数中的各个判定的条件取值组合加以标记:组合号条件取值组合标记覆盖的判定1x3,z10记做T1T2第一个判定的取真分支2x3,z=10记做T1-T2第一个判定的取假分支3x=3,z10记做-T1T2第一个判定的取假分支4x=3,z=10记做-T1-T2第一个判定的取假分支5x==4,y5记做T3T4第二个判定的取真分支6x==4,y=5记做T3-T4第二个判定的取真分支7x!=4,y5记做-T3T4第二个判定的取真分支8x!=4,y=5记做-T3-T4第二个判定的取假分支根据组合覆盖的思想,设计测试用例如下:4/6测试用例执行路径覆盖条件覆盖组合号x=4,y=6,z=6abdT1,T2,T3,T41,5x=4,y=5,z=10acdT1,-T2,T3,-T42,6x=3,y=6,z=6acd-T1,T2,-T3,T43,7x=3,y=5,z=10ace-T1,-T2,-T3,-T44,8x=5,y=5,z=5abeT1,T2,-T3,-T41,8(3)根据设计的测试用例,使用unittest完成测试实验。(注:每一个测试方法用一个py文件,共5个py文件)1.test001.py#-*-encoding:utf8-*-importunittestfrompy001importDoWorkclassTest001(unittest.TestCase):语句覆盖:测试用例的输入为:{x=5、y=6、z=7}deftest_yjfg(self):self.assertEquals(DoWork(5,6,7),(29,1))2.test002.py#-*-encoding:utf8-*-importunittestfrompy001importDoWorkclassTest002(unittest.TestCase):判定覆盖:测试用例的输入为:{x=5、y=6、z=7};{x=1、y=2、z=3}deftest_pdfg1(self):5/6self.assertEquals(DoWork(5,6,7),(29,1))deftest_pdfg2(self):self.assertEquals(DoWork(1,2,3),(0,0))3.test003.py#-*-encoding:utf8-*-importunittestfrompy001importDoWorkclassTest003(unittest.TestCase):条件覆盖:测试用例的输入为:{x=4、y=6、z=7};{x=1,y=2,z=13}deftest_tjfg1(self):self.assertEquals(DoWork(4,6,7),(23,1))deftest_tjfg2(self):self.assertEquals(DoWork(1,2,13),(0,0))4.test004.py#-*-encoding:utf8-*-importunittestfrompy001importDoWorkclassTest004(unittest.TestCase):判定/条件覆盖:测试用例的输入为:{x=4、y=6、z=9};{x=3,y=5,z=10}deftest_pdtjfg1(self):self.assertEquals(DoWork(4,6,9),(23,1))deftest_pdtjfg2(self):self.assertEquals(DoWork(3,5,10),(0,0))5.test005.py#-*-encoding:utf8-*-6/6importunittestfrompy001importDoWorkclassTest005(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}deftest_zhfg1(self):self.assertEquals(DoWork(4,6,6),(23,1))deftest_zhfg2(self):self.assertEquals(DoWork(4,5,10),(0,0))deftest_zhfg3(self):self.assertEquals(DoWork(3,6,6),(0,1))deftest_zhfg4(self):self.assertEquals(DoWork(3,5,10),(0,0))deftest_zhfg5(self):self.assertEquals(DoWork(5,5,5),(24,1.8989794855663558))运行截图:

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功