第09课白盒测试分支条件测试、循环测试.pptVIP

第09课白盒测试分支条件测试、循环测试.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第09课白盒测试分支条件测试、循环测试

第3章 白盒测试方法 把程序看成装在一个透明的白盒子里,程序的结构和处理呈现过程完全可见,按照程序的内部逻辑测试程序,以检查程序中的每条通路是否都能按照预先要求正确工作。 思考 3.3 分支-条件测试 测试思想 根据模块中的逻辑条件设计测试用例,使得被测模块中的每一个复合条件以及构成这个复合条件的每一个简单条件的真假情况至少被执行一次。 简单条件是一个布尔变量或一个可能带有NOT(“┓”)操作符的关系表达式,关系表达式的形式如:E1<关系操作符>E2,其中E1和E2是算术表达式,而<关系操作符>是下列之一:“<”,“≤”,“=”,“≠”(“┓=”),“>”, 或“≥” 复合条件由简单条件、布尔操作符和括弧组成。假定可用于复合条件的布尔算子包括OR“|”,AND“&”和NOT“┓”,不含关系表达式的条件称为布尔表达式。 分支-条件测试 案例 使用分支-条件方法设计下面逻辑条件的测试用例 案例 对分支-条件测试的讨论 案例 结论 推荐 推荐 推荐 推荐 练习 3.4 分支结构的路径测试 当程序中判定多于一个时,形成的分支结构可以分为两类,即嵌套型分支结构和连锁型分支结构。 对于嵌套型分支结构,若有n个判定语句,则需要n+1个测试用例;但对连锁型分支结构,若有n个判定语句,则需要有2n个测试用例,去覆盖它的2n条路径。当n较大时将无法测试。 为减少测试用例的数目,可采用试验设计法,抽取部分路径进行测试。由于抽样服从均匀分布,因此,在假定各条路径的重要性相同,或暂不明确各条路径的重要性的情况下可以做到均匀抽样。如果明确了各条路径的重要性,还可以采取加权的办法,筛选掉部分路径,再用如下的措施进行抽样。具体步骤如下: ① 设连锁型分支结构中有n个判定,计算满足关系式 n+1≤2m 的最小自然数m; ② 设t = 2m,取正交表Lt,并利用它设计测试数据。 例如,一个耦合型分支结构中有三个判定语句P1,P2,P3。它全部路径是23=8 条。先计算3+1≤2m = t的t,得t = 4。取正交表L4,如图 (a) 所示,把每一列当做一个判定,每一行当做可取的测试用例,则正交表L4最多可取三个判定,分别代之以P1,P2,P3。判定P1,P2,P3的取假分支和取真分支分别记作S1、S2;S3、S4;S5、S6,用各个判定的取假分支取代正交表L4中的0,用取真分支取代正交表中的1,就建立起一个测试路径矩阵,如图 (b) 所示。这样,测试路径数目从23=8条减少到3+1=4条。 3.5 循环结构的路径测试 测试思想 关注循环体结构的正确性,对循环变量运用类似于边界值测试的方法以验证循环体结构的正确性。 四种不同类型的循环结构 简单循环 嵌套循环 连接循环 非结构循环 循环类型 测试简单循环 测试嵌套循环 测试连接循环 测试非结构循环 案例:求最小值 Min(int i,int n) {k=i; j=i+1; while ( j = n) { if (A[j] A[k]) k = j; j++; } } 要求:做到0、1、2次循环 测试用例选择 练习 下面是一段插入排序的程序,将R[k+1]插入到R[1…k]的适当位置。   R[0] = R[k+1];    j = k;   while (R[j] R[0])     {    R[j+1] = R[j];     j--;    }   R[j+1] = R[0]; 用路径覆盖方法为它设计足够的测试用例(while循环次数为0、1、2次)。 程序流程图如下: 设计测试用例如下: * SWPU 2 路径分析测试 3 分支条件测试、循环测试 4 其它测试类型 5 主要内容 综合测试实例 6 黑盒测试与白盒测试 1 逻辑覆盖测试 白盒测试的常用方法 逻辑覆盖 路径分析测试 循环、条件分支 … 如果被误写成 if((a=b+c)(ba+c)(ca+b)), 基本路径测试的四个用例(68,68,56), (68,60,56), (68,68,68), (68,8,56)是否可以发现这个问题? 进行分支-条件测试可以发现下列缺陷 布尔变量错误 布尔括弧错误 关系操作符错误 算术表达式错误 布尔操作符错误 遗漏布尔操作符 布尔操作符多余 布尔操作符不正确 需被测试的逻辑条件 复合条件 ((ab+c) (ba+c) (ca+b)) 简单条件 ab+c ba+c ca+b ((ab+c) (ba+c) (ca+b)) ab+c ba+c ca+b 68,68,68 T T T T 0,0,0 F F F F 上面的测试用例不推荐大家使用 测试用例有效

文档评论(0)

sandaolingcrh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档