- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
白盒与黑盒测试的测试用例设计-read
第5章 白盒与黑盒测试的测试用例设计
5.1 覆盖率的概念
覆盖率是用来度量测试完整性的一个手段
逻辑覆盖和功能覆盖
覆盖率=(至少被执行一次的item数)/item总数
5.2 白盒测试的测试用例设计
5.2.1逻辑覆盖
逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计技术,属白盒测试。最彻底的白盒测试是覆盖程序中的每一条路径,但是由于程序中含有循环,要执行每一条路径是不可能的。因此我们只是希望采用的测试用例覆盖程序内部逻辑的程度尽量高些。为了衡量测试的覆盖程度,需要建立一些作为测试彻底度的定量衡量标准。目前常用的覆盖标准是:
语句覆盖;
判定覆盖;
条件覆盖;
判定/条件覆盖;
条件组合覆盖。
一、引例
图1是一个被测试的程序流程图,其中有两个判断,每个判断都包含复合条件的逻辑表达式。
a
b No Yes c
d No Yes e
图1 测试用例程序流程图
其源程序是:
main()
{ float text(float A, float B, float X);
if(A1)(B==0)
X=X/A;
if(A==2)||(X1)
X=X+1;
Return(X);
}
下面结合引例,介绍按照不同覆盖标准设计测试用例的方法。
二、语句覆盖
语句覆盖就是设计若干个测试用例,运行所测的程序,使得每一可执行语句至少执行一次。
对引例稍作分析就不难发现,只要设计一个能通过路径ace的测试用例即可,程序执行时就可以遍历流程图的所有框。因此,为引例设计满足语句覆盖的测试用例是:
[A=2,B=0,X=3]
从程序执行过程来看,语句覆盖的方法似乎能够比较全面地检验每一个可执行语句。
例外:如果在程序中第一个判断的“”均误写成 “|”,或第二个判断的“X1”均误写成“X0”,用上述的测试用例仍可覆盖所有可执行语句,这说明虽然做到了语句覆盖,但可能发现不了逻辑运算中出现的错误。因此这种覆盖实际是一个最弱的覆盖标准。
三、判定覆盖
判定覆盖就是设计若干个测试用例,使程序中的每个判断至少出现一次“真值”和一次“假值”,即程序中的每个分支都至少执行一次。
对本引例,为在语句覆盖的基础上达到判定覆盖标准,要使程序流程能经过路径acd和abe或路径ace和abd,为此可设计两个满足要求的测试用例:
[A=3,B=0,X=1](沿acd执行)
[A=2,B=1,X=3](沿abe执行)
判定覆盖比语句覆盖严格,因为它使得每一个判断都能获得每一种可能的结果,从而使每个语句都执行了。
例外:(1)若将第二个判断的“X1”均误写成“X1”,用上述的测试用例仍能得到相同的结果;(2)上述的测试用例在沿路径abd执行时,并不能检查X的值是否保持一致。
这表明,只用判定覆盖还不能保证一定能检查出所有的错误。因此,需要更强的逻辑覆盖标准去检验判断内部条件。
三、条件覆盖
条件覆盖是指利用若干个测试用例,使被测试的程序中,对应每个判断中每个条件的所有可能情况均至少执行一次。
在本引例中,共有4个判断条件:
A1、B=0、A=2、X1
为达到条件覆盖标准,需要有足够的测试用例以形成:在a点出现有:A1、A≤1、B=0、B≠0的情况,在b点出现有:A=2、A≠2、X1、X≤1的情况出现。为此可以设计两个测试用例以满足这一标准:
[A=2,B=0,X=4](沿ace执行)
[A=1,B=1,X=1](沿abd执行)
例外:
[A=1,B=0,X=3] (沿abd执行)
[A=2,B=1,X=1] (沿abd执行)
它满足条件覆盖标准,却不满足判定覆盖。为解决这种例外,可采用下面介绍的判定/条件覆盖标准。
四、判定/条件覆盖
判定/条件覆盖就是设计足够多的测试用例,使得程序中每个判断条件的所有可能的结果至少取到一次,又使每次判断的每个分支至少通过一次。
可设计两个满足要求的测试用例:
[A=2,B=0,X=4](沿ace执行)
[A=1,B=1,X=1](沿abd执行)
[A=2,B=1,X=1](沿abe执行)
判定/条件覆盖仍有缺陷,因为在程序执行过程中,某些条件掩盖了另一些条件。例如,对条件表达式(A1)(B=0),取A=1、B=0,此时(A1)为假,则目标程序不再检查(B=0)条件了,从而发现不了B的错误。同样对条件表达式(A=2)|(X1),取A=2,此时(A=2)为真,则目标程序也不再检查
您可能关注的文档
- 安徽能源发展十三五规划十三五时期2016-2020年是我.doc
- 安徽农业大学科技大楼试验装备招标文件-安徽农业大学国有资产管理处.doc
- 安装工程施工总承包-广东招标投标监管网.doc
- 案例一免免线购.doc
- 巴尔干半岛四国上.doc
- 办事指引-余江.doc
- 保山高速公路陆生生态环境影响评价评价20141130-招商局重庆交通.doc
- 保湿隔热材料中经为a级不然材料-浙江房地产业协会.doc
- 报价至-冷却塔节能改造.doc
- 报告书-管理平台.doc
- 2024染发行业趋势白皮书.pdf
- 企业行政前台电话接听礼仪培训课件.pdf
- 核药行业深度报告:高壁垒铸就双寡头,点亮核药星辰大海.pdf
- 茶饮行业深度报告:东方茶走进下沉,走向世界(202406).pdf
- [吉林]2023年吉林农业大学招聘18人(7号)笔试历年高频考点(难、易错点)附带答案详解.docx
- [台州]浙江台州市立医院招聘采购部工作人员笔试历年高频考点(难、易错点)附带答案详解.docx
- [吉安]2023年江西吉安职业技术学院机械与电子工程学院外聘教师招聘笔试历年高频考点(难、易错点)附带答案详解.docx
- [台州]浙江台州温岭市委机构编制委员会办公室招聘编外人员笔试历年高频考点(难、易错点)附带答案详解.docx
- [台州]浙江台州温岭市禁毒办招聘禁毒社工笔试历年高频考点(难、易错点)附带答案详解.docx
- [台州]浙江台州玉环市医疗保障局招聘编外工作人员笔试历年高频考点(难、易错点)附带答案详解.docx
最近下载
- DB33/T1054-2016 无机轻集料砂浆保温系统应用技术规程.docx
- 雅马哈psr950使用说明书.pdf VIP
- 如何帮助学生改善学习方法 心理健康教育活动课教学设计.doc
- 课题汇报结题报告PPT模板.pptx VIP
- 统编版一年级语文上册集体备课《快乐读书吧》教学设计.docx
- 珠海市滨海运动休闲旅游规划(2016-2025年).pdf
- Validation_master_plan验证主计划参考.doc
- 年产5万吨无水氟化氢、年产2万吨氟化氢铵、年产5000吨电子级氢氟酸项目可行性研究报告.pdf
- 2024年辅警招聘考试试题库新版.docx VIP
- 确定发展对象大会主持词.docx
文档评论(0)