- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2011年10月19日 软件工程第四章 软件测试 4.2 白盒测试 4.2.1 逻辑覆盖 4.2.2 判定结构分析 4.2.3 循环结构分析 4.2.4 基本路径测试 白盒测试(White-Box Test) 此方法把测试对象看做一个玻璃盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。 通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。 4.2.1 逻辑覆盖 逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例的技术。它属白盒测试。 语句覆盖 判定覆盖 条件覆盖 判定-条件覆盖 条件组合覆盖 路径覆盖 void DoWork(int x,int y,int z) { int k=0,j=0; if((x3)(z10)) { k=x*y-1; //语句块1 j=sqrt(k); } if((x= =4)||(y5)) { j=x*y+10; //语句块2 } j=j%3; //语句块3 } 流程图 条件假设 对于第一个判断: 条件 x3 取真为 ,取假为条件 z10 取真为 ,取假为 路径条件推导 L1: ( a ? c ? e ) = not{(x3) and (z10)} and not{(x=4) or (y5)} = {(x≤3) or (z≥10)} and {(x≠4) and (y≤5)} = (x≤3 ) and (x≠4) and (y≤5) or (z≥10) and (x≠4) and (y≤5) 输入数据(x, y, z) 输出数据(k, j) 条件取值 (3,4,2) (0, 0) (4,4,12) (0,0) L2: ( a? b ? d ) = {(x3) and (z10)} and {(x=4) or (y5)} = (x3) and (z10) and (x=4) or (x3) and (z10) and (y5) 输入数据(x, y, z) 输出数据(k, j) 条件取值 (4, 3, 6) (11, 1) (5, 6, 6) (29, 1) L3 :( a? b? e) = {(x3) and (z10)} and not {(x=4) or (y5)} = (x3) and (z10) and (x≠4) and (y≤5) 输入数据(x, y, z) 输出数据(k, j) (5, 4, 6) (19, 1) 条件取值 L4: ( a? c ? d ) =not {(x3) and (z10)} and {(x=4) or (y5)} = (x≤3) and (x=4) or (x≤3) and (y5) or (z≥10) and (x=4) or (z≥10) and (y5) 输入数据(x, y, z) 输出数据(k, j) 条件取值 (3, 6, 2) (0, 1) (4,1,10) (0, 2) (5,6,10) (0, 1) 1. 语句覆盖 语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。 在图例中,正好所有的可执行语句都在路径L2上,所以选择路径 L2设计测试用例,就可以覆盖所有的可执行语句。 测试用例的设计格式如下【输入的(x, y, z),输出的(k, j)】 为图例设计满足语句覆盖的测试用例是:【(4,3,6),(11, 1)】 语句覆盖不能检查出的错误 逻辑运算(、||)错误 判定的第一个运算符“”错写成“||”,或第二个运算符“||”错写成“”,这时使用上述的测试用例仍然可以达到100%的语句覆盖. 循环
文档评论(0)