13黑盒测试和调试方案.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
13黑盒测试和调试方案

本堂课重点 白盒测试技术(控制结构测试) 黑盒测试技术 调试 控制结构测试 基本路径测试 条件测试 循环测试 基本路径测试 基本路径测试是在程序控制图的基础上,通过分析控制构造的环行复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每一个可执行语句至少执行一次(如让循环体只执行一次)。 例子 基本路径测试例子 void Sort(int iRecordNum,int iType) 1 { 2 int x=0; 3 int y=0; 4 while (iRecordNum-- 0) 5 { 6 if(0= =iType) 7 x=y+2; 9 else 8 if(1= =iType) 10 x=y+10; 12 else 11 x=y+20; 13 } 14 } 环形复杂度 第二步:计算环形复杂度 环形复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。 有以下三种方法计算圈复杂度: ★ 流图中区域的数量对应于环型的复杂性; ★ 给定流图G的圈复杂度-V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量; ★ 给定流图G的圈复杂度-V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。 第三步:确定独立路径的基本集合 根据上面的计算方法,可得出四个独立的路径: √ 路径1:4-14 √ 路径2:4-6-7-14 √ 路径3:4-6-8-10-13-4-14 √ 路径4:4-6-8-11-13-4-14 根据上面的独立路径,去设计输入数据,使程序分别执行到上面四条路径。 第四步:设计测试用例 为了确保基本路径集中的每一条路径的执行,根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到,满足上面例子基本路径集的测试用例是: 路径1:4-14 输入数据:iRecordNum=0,或者取iRecordNum0的某一个值 预期结果:x=0 路径2:4-6-7-14 输入数据:iRecordNum=1,iType=0 预期结果:x=2 路径3:4-6-8-10-13-4-14 输入数据:iRecordNum=1,iType=1 预期结果:x=10 路径4:4-6-8-11-13-4-14 输入数据:iRecordNum=1,iType=2 预期结果:x=20 条件测试 条件测试概念 条件测试检查的项目 条件测试策略 条件测试概念 基本路径测试技术简单而且高效,但是仅有这种技术还不够(可以保证程序中的每条语句至少执行一次,而且每个条件在执行时都将分别取真、假两种值),还需要使用其他控制结构测试技术,才能进一步提高白盒测试的质量。 条件测试是检查程序模块中所包含逻辑条件的测试用例设计方法 简单条件是一个布尔变量或一个关系表达式,在布尔变量或关系表达式之前还可能有一个NOT算符。 关系表达式的形式如: E1<关系运算符>E2 其中E1和E2是算术表达式,而<关系运算符>是下列之一:“<”、“≤”、“=”、“≠”(“!=”)、“>”、或“≥”。 复杂条件由简单条件、布尔运算符和括弧组成。我们假定可用于复杂条件的布尔算符包括OR“|”,AND“&”和NOT“!” 。所以条件的成分类型包括布尔运算符、布尔变量、布尔括弧(括住简单或复杂条件)、关系运算符或算术表达式。 条件测试检查的项目 如果条件不正确,则至少条件的一个成分不正确。因此,条件错误的类型如下: 布尔运算符错误(遗漏布尔运算符,布尔运算符多余或布尔运算符不正确); 布尔变量错误; 布尔括弧错误; 关系运算符错误; 算术表达式错误。 条件测试策略 1. 分支测试 可能是最简单的条件测试策略,对于复合条件C,C的真分支和假分支以及C中的每个简单条件都需要至少执行一次。 2. 域测试(Domain testing) 要求从表达式中导出三个或四个测试,表达式的形式如: E1<关系操作符>E2 需要三个测试分别用于计算E1的值是大于、等于或小于E2的值。如果<关系操作符>错误,而E1和E2正确,则这三个测试能够发现关系算符的错误。为了发现E1和E2的错误,计算E1小于或大于E2的测试应使两个值间的差别尽可能小。 3. BRO(branch and relational)测试 BRO(branch and relational)测试集 测试保证能发现布尔变量和关系操作符只出现一次而且没有公共变量的条件中的分支和条件操作符错误。 例

文档评论(0)

6952225 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档