版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
动态白盒测试10-22024/5/111/20测试方案技术—白盒测试2.白盒法白盒法需要了解程序功效与结构,测试用例必须依据程序内部逻辑来设计。假如想用白盒法发觉程序中全部错误,则最少必须使程序中每种可能路径都执行一次。“彻底地测试”是不可能,故策略是:在一定研制时间、研制经费限制下,经过执行有限测试用例,尽可能多地发觉一些错误。白盒法又称为逻辑覆盖法,当前惯用覆盖法有:输入输出2024/5/122/20测试方案技术—白盒测试(1)语句覆盖即每个语句最少能执行一次问题:若AND错写为OR,或X>1错写为X<1,则错误无法由上例测出。入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FFTestcase:A=2,B=0,X=4.2024/5/133/20测试方案技术—白盒测试(2)判定覆盖判定覆盖又叫分支覆盖,含义是:每个判定分支最少执行一次。Testcases:①A=3,B=0,X=3②A=2,B=1,X=1入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FF问题:若X>1错写为X<1,依然无法被测出。2024/5/144/20测试方案技术—白盒测试(3)条件覆盖即一个判断语句中往往包含了若干条件。经过给出测试用例,使判断中每个条件都取得各种可能结果。Testcases:①A=2,B=0,X=4(满足A>1,B=0;A=2,X>1)②A=1,B=1,X=1(满足A1,B0;A2,X1)问:条件覆盖?判定覆盖
答:不一定。反例:①A=2,B=0,X=1②A=1,B=1,X=2
入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FF2024/5/155/20测试方案技术—白盒测试(4)判断/条件覆盖选取足够多测试数据,使判断中每个条件都取得各种可能值,并使每个判断表示式也取到各种可能结果。Testcases:①A=2,B=0,X=4(满足A>1,B=0;A=2,X>1)②A=1,B=1,X=1(满足A1,B0;A2,X1)入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FF2024/5/166/20测试方案技术—白盒测试(5)条件组合覆盖使得每个判断中条件各种可能组合都最少出现一次。全部可能条件组合为:①A>1,B=0②A>1,B0③A1,B=0④A1,B0⑤A=2,X>1⑥A=2,X
1⑦A
2,X>1⑧A
2,X
1Testcases:①A=2,B=0,X=4(TT)②A=2.B=1,X=1(FT)③A=1,B=0,X=2(FT)④A=1,B=1,X=1(FF)问题:没有测试到(TF)情形入口A>1ANDB=0TA=2ORX>1TX=X/AX=X+1返回FF2024/5/177/20控制流程图:结点/分支/过程块/链路径1236457X>5andY<3其中:节点1、节点3、节点5、节点6、节点7为过程块节点2为分支,节点4为结点测试方案技术—白盒测试-路径覆盖2024/5/188/20以下为一个程序流程图,其中该例子中有两个判断,每个判断都包含复合条件逻辑表示式。(A1)(B=0)(A=2)(X1)X=X/AX=X+1abcdeFTTF举例2024/5/199/20其控制流程图(A1)
(B=0)X=X/A(A=2)
(X1)
X=X+1TTacbde结点1结点22024/5/11010/20路径该控制流程图有4条不一样。4条路径可表示为:
L1(a→c→e)简写ace、L2(a→b→d)简写abdL3(a→b→e)简写abe、L4(a→c→d)简写acd2024/5/11111/20
执行全部可能穿过程序控制流程路径。普通来说,这一测试严格地限制为全部可能入口/出口路径。假如遵照这一要求,则我们说到达了100%路径覆盖率。在路径测试中,该策略是最强,但普通是不可实现。针对该例子,要想实现路径覆盖,可选择以下一组测试用例(要求测试用例设计格式为:【输入(A,B,X),输出(A,B,X)】)。
测试用例 覆盖路径 【(2,0,4),(2,0,3)】L1【(1,1,1),(1,1,1)】L2【(1,1,2),(1,1,3)】L3【(3,0,3),(3,0,1)】L4 路径测试2024/5/11212/20
一层二层级连循环嵌套循环还要考虑循环变量详细情况关键路径选取
主要功效路径没有功效路径最短路径...循环情况路径选取2024/5/11313/20代码行度量•以源代码行数--度量程序复杂性。•Thayer指出,程序犯错率为100行源程序中可能存在0.04-7个错误犯错率与源程序行数之间不存在简单线性关系
Lipow指出,对于小程序,每行代码(执行部分)犯错率为1.3%-1.8%对于大程序,每行代码(执行部分)犯错率为2.7%-3.2%对于少于100个语句程序,犯错率与源程序行数之间是线性关系;伴随程序增大,犯错率以非线性方式增加。程序复杂性度量与错误之间关系2024/5/11414/20环路复杂性度量-McCabe度量法-基于程序控制流复杂性度量方法
程序图:把程序流程图中每个处理符号退化为一个结点,把连接每个处理符号链转变为连接结点有向弧,所得到有向图称为程序图。
程序图语义:描述程序内部控制流程,不表现对数据详细操作以及分支和循环详细条件。即该方法把简单条件语句与复杂循环语句复杂性视为一样;把嵌套IF语句与CASE语句复杂性视为一样。程序复杂性度量与错误之间关系2024/5/11515/20S0开始S1ABS2S3S4H输出K输出E结束S5S1S2ABS3S4HKES0S52024/5/11616/20依据图论,在一个强连通有向图中,环个数为:
V(G)=m-n+p
其中:m为图中弧数,n为图中结点数,p为图中强连通分量数程序总是连通,但普通不是强连通,为此,需加一条从入口到出口虚线。据此,上例中环数为:13-11+1=3即McCabe度量法度量值为3。注:环路复杂度是可加。为软件测试难度提供了一个定量度量方法。
McCabe发觉,在276个程序中,有23%子程序复杂度超出10,而在这些子程序中发觉错误占总错误53%,所以,他提议,假如程序复杂度超出10,那么就应该对这一程序进行分解。2024/5/11717/20不能区分不一样种类控制流复杂性简单条件语句与复杂循环语句复杂性等同对待嵌套IF语
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- AI在香料香精技术与工程中的应用
- 2025-2026月考试卷八年级数学上学期期中模拟卷(人教版)(原卷版)
- DB51∕T 2019-2026 川藏黑猪配套系生产技术规范
- 2025年农村能源革命试点
- 基坑支护施工方案(三轴、型钢、灌注桩)
- 2026年银行风险管控策略研究报告
- 2026年葡萄酒微观环境分析
- 2026年公共场所防火安全教育
- 2026年漫展活动方案策划书
- 2026年线性规划发展脉络分析方法
- 2026年消防和应急救援人员资格考试试卷及答案(共二十套)
- 2026年统编版历史中考热点预测(全国)
- 2026年上海市长宁区中考数学二模试卷(含答案)
- 郴州辅警招聘真题
- 海珠区2024广东广州市海珠区教育系统招聘财务工作人员和校医(财务岗18人)笔试历年参考题库典型考点附带答案详解
- 2026年中石化化工装置开停车考试题含答案
- 2026年江苏高考地理试题(附答案)
- 2026年金属冶炼公司矿石仓储管理制度
- 左室流出道梗阻课件
- 2025年中国质量协会质量专业能力考试(六西格玛绿带)在线题库及答案
- 劳动仲裁申请书范本
评论
0/150
提交评论