- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件测试技术_第五章白盒测试
白盒测试 软件测试课程组 西南科技大学计算机学院 白盒测试 白盒测试(White Box Testing ) 白盒测试 彻底的白盒测试 例:含4个分支,循环次数≤20, 计算从A到B的可能路径。 白盒测试 白盒测试方法: 控制流测试 逻辑覆盖 路径测试 数据流测试 基于程序片的测试 本章主要内容 控制流图 逻辑覆盖测试 基路径测试 数据流测试 基于程序片的测试 5.1 控制流图 控制流图是退化的程序流程图,图中每个处理都退化成一个结点,流线变成连接不同结点的有向弧。 控制流图将程序流程图中结构化构件改用一般有向图的形式表示。 控制流图 在控制流图中用圆“○”表示节点,一个圆代表一条或多条语句。 控制流图中的基本元素: 节点 边 基本控制流图 复合逻辑下的控制流图 5.2 逻辑覆盖 语句覆盖 判定覆盖(分支覆盖) 条件覆盖 判定-条件覆盖 条件组合覆盖 路径覆盖 例子程序: if( (a1) (b==0)) x=x/a; if ((a==2) || (x1)) x=x+1; 程序框图 1.语句覆盖 Case1:A=2, B=0, X=3 Case2:A=2, B=1, X=3 Case1:A=2, B=0, X=3 2. 判定覆盖(分支覆盖) 第一组:Case1:A=2, B=0, X=3 第二组:Case3:A=1, B=0, X=1 只作到判定覆盖将无法确定判定内部条件的错误。 Case4:A=3, B=0, X=3 Case5:A=2, B=1, X=1 说明:以上仅考虑了两出口的判断,我们还应把判定覆盖准则扩充到多出口判断(如Case语句)的情况。因此,判定覆盖更为广泛的含义应该是使得每一个判定获得每一种可能的结果至少一次。 3.条件覆盖 设计若干测试用例,使程序的每个判定中的每个条件的可能取值至少满足一次 上例中设条件: A1 T1 F1 B=0 T2 F2 A=2 T3 F3 X1 T4 F4 满足条件覆盖的一组测试用例 Case6:A=2, B=1, X=1 Case7:A=1, B=0, X=3 两个测试用例覆盖了四个条件八种可能取值。但未覆盖c、d分支,不满足判定覆盖的要求。 4.判定-条件覆盖 使判定中每个条件的可能取值至少满足一次,并且使每个判定分支至少执行一次。 判定-条件覆盖能同时满足判定、条件两种覆盖标准。 满足判定-条件覆盖的一组测试用例 Case1:A=2, B=0, X=3 Case8:A=1, B=1, X=1 5.条件组合覆盖 设计用例,使得每个判断表达式中条件的各种可能组合都至少出现一次; 满足条件组合覆盖的一组测试用例 6.路径覆盖 设计足够多的测试用例,覆盖程序中的每条可能路径。 上述满足条件组合覆盖的测试用例不能覆盖路径acd。 满足路径覆盖的一组测试用例 小结 课堂练习 public void work ( int x, int y, int z ) { 1 int k = 0, j = 0; 2 if ( (x3) (z10) ){ 3 k = x * y - 1; 4 j = sqrt ( k ); 5 } 6 if( ( x==4 ) || ( y5 ) ) 7 j = x * y + 10; 8 j = j % 3; } 习题 为以下流程图所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。 5.3 路径测试 程序环路复杂性 基路径测试 循环测试 路径覆盖的困难 含4个分支,循环次数≤20,从A到B的可能路径: 1. 程序环路复杂性 程序的环路复杂性即McCabe复杂性度量,简单的定义为控制流图的区域数。 程序环路复杂性又叫圈复杂度。 圈复杂度 圈复杂度:是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目。 独立路径必须包含一条在定义之前不曾用到的边。(每一条新的路径都包含了一条新边) 圈复杂度(续) 程序图的圈复杂度计算方法(三种): V(G)=e – n + 2p; e:边数,n:节点数,p:连接区域数 当p=1时,V(G)= e – n + 2; V(G)=P+1;P是图G 中判定节点的数量 程序图中区域的数量对应于环路的复杂性; 对于强连接图的圈复杂
您可能关注的文档
最近下载
- 2025-2026学年高中政治必修1课后习题第三课第一框伟大的改革开放.pdf VIP
- 中建项目经济资料管理指引.pdf
- 2024年消毒供应技能大赛试题及题库.docx VIP
- 中医基础理论教材重点笔记详解.doc VIP
- 2024年内蒙古北方职业技术学院单招英语考试试题及答案解析.docx VIP
- 学习解读《干部教育培训工作条例》2023年全文PPT.ppt VIP
- 《长沙过贾谊宅》中考阅读经典赏析试题(共11题).docx VIP
- 2024年内蒙古交通职业技术学院单招英语考试试题及答案解析.docx VIP
- 破坏性MSA分析方法.ppt VIP
- 2024年内蒙古交通职业技术学院单招英语考试模拟试题及答案解析.docx VIP
文档评论(0)