- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE6 / NUMPAGES6
青 岛 科 技 大 学 实 验 报 告
课程:软件测试基础 实验项目:白盒测试
专业:计算机科学与技术 班级:惠普测试142
姓名:闫伟明 日期:2016-11-25
实验要求:
根据下述C代码及对应流程图,将其转换成Python代码;
void DoWork (int x,int y,int z)
{
int k=0,j=0;
if ( (x3)(z10) )
{ k=x*y-1;
j=sqrt(k);
} //语句块1
if ( (x==4)||(y5) )
{ j=x*y+10; } //语句块2
j=j%3; //语句块3
}
流程图:
Python代码:
#py001.py
import math
def DoWork(x,y,z):
k=0
j=0
if x3 and z10:
k=x*y-1
j=math.sqrt(k)
if x==4 or y5:
j=x*y+10
j=j%3
return k,j
根据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
取假值记为-T4
测试用例
执行路径
覆盖条件
覆盖分支
x=4,y=6,z=7
abd
T1,T2,T3,T4
bd
x=4,y=4,z=13
ace
-T1,-T2,-T3,-T4
ce
判定 / 条件覆盖;
测试用例
执行路径
覆盖条件
覆盖分支
x=4,y=6,z=9
abd
T1,T2,T3,T4
bd
x=3,y=5,z=10
ace
-T1,-T2,-T3,-T4
ce
组合覆盖
对DoWork函数中的各个判定的条件取值组合加以标记:
组合号
条件取值组合
标记
覆盖的判定
1
x3, z10
记做T1 T2
第一个判定的取真分支
2
x3, z=10
记做T1 -T2
第一个判定的取假分支
3
x=3, z10
记做-T1 T2
第一个判定的取假分支
4
x=3, z=10
记做-T1 -T2
第一个判定的取假分支
5
x==4, y5
记做T3 T4
第二个判定的取真分支
6
x==4, y=5
记做T3 -T4
第二个判定的取真分支
7
x!=4, y5
记做-T3 T4
第二个判定的取真分支
8
x!=4, y=5
记做-T3 -T4
第二个判定的取假分支
根据组合覆盖的思想,设计测试用例如下:
测试用例
执行路径
覆盖条件
覆盖组合号
x=4,y=6,z=6
abd
T1,T2,T3,T4
1,5
x=4,y=5,z=10
acd
T1,-T2,T3,-T4
2,6
x=3,y=6,z=6
acd
-T1,T2,-T3,T4
3,7
x=3,y=5,z=10
ace
-T1,-T2, -T3,-T4
4,8
x=5,y=5,z=5
abe
T1,T2,-T3,-T4
1,8
(3)根据设计的测试用例,使用 unittest 完成测试实验。
(注:每一个测试方法用一个py文件,共5个py文件)
test001.py
# -*- encoding:utf8 -*-
import unittest
from py001 import DoWork
class Test001(unittest.TestCase):
语句覆盖:
测试用例的输入为:{x=5、y=6、z=7}
def test_yjfg(self):
self.assertEquals(DoWork(5,6,7),(29,1))
test002.py
# -*- encoding:utf8 -*-
import unittest
from py001 import DoWork
class Test002(unittest.TestCase):
判定覆盖:
测试用例的输入为:{x=5、y=6、z=7};{x=1、y=2、z=3}
def test_pdfg1(self):
self.
您可能关注的文档
最近下载
- 交通银行真题及答案(可下载).doc VIP
- 《建筑节能与可再生能源利用通用规范》.pdf VIP
- GZ067 智能节水系统设计与安装赛项正式赛卷模块A 评分标准-2023年全国职业院校技能大赛赛项正式赛卷.docx VIP
- 高标准农田建设项目施工组织设计 .pdf VIP
- TPM课件完整版本.ppt VIP
- 河北秦皇岛职业技术学院选聘专任教师考试真题2024.docx VIP
- 学堂在线《临床中成药应用》作业单元考核答案.docx VIP
- 三国两晋南北朝的政权更迭与民族交融ppt课件.pptx VIP
- 围墙护栏制作与安装工程检验批质量验收记录.docx VIP
- 2025年甘肃省张掖市辅警考试题库(附答案).docx VIP
文档评论(0)