软件测试相关理论知识剖析.ppt
文本预览下载声明
* 白盒测试工具: 内存资源泄漏检查:Numega中的bouncechecker,Rational的Purify等; 代码覆盖率检查:Numega中的truecoverage,Rational的Purecoverage,Telelogic公司的logiscope,Macabe公司的Macabe等; 开源覆盖率测试软件gCov等。 * 总结: “白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。 第一、穷举路径测试决不能查出程序违反了设计规范,即程序本身是个错误的程序; 第二、穷举路径测试不可能查出程序中因遗漏路径而出错。 第三、穷举路径测试可能发现不了一些与数据相关的错误。 * 控制结构测试 路径测试 ?利用流图表示控制逻辑 ?根据流图标识独立路径 ?确定覆盖测试路径上界的计算(环复杂度计算) ?用基本路径法导出测试案例的步骤 条件测试 数据流 测试 循环测试 分支测试:真假分支必须至少执行一次的路径策略 域测试:对于大于、小于和等于值的测试路径策略 由变量的定义到变量的使用,构成DU链,覆盖每个DU链至少一次。用此方法为包含循环和嵌套语句的程序选择测试路径的策略 对于简单循环、嵌套循环、串接循环和无结构循环的路径选择策略 * 基本路径测试再举例 2)路径2(1-2-9-11-12)的测试用例: score[ 1 ]= – 1 ; 期望的结果:average = – 1 ,其他量保持初值。 3)路径3(1-2-3-9-10-12)的测试用例: 输入多于50个有效分数,即试图处理51个分数,要求前51个为有效分数; 期望结果:n1=50、且算出正确的总分和平均分。 开始 i =1,n1=n2=0,sum=0 Score[ i ]-1 AND n250 n2=n2+1 n1=n1+1,sum=sum+score[i] Score[ i ]0 AND score[i]100 i = i +1 n10 average=sum/n1 average= – 1 返回 F F F T T T 1 2和3 4 5和6 7 8 9 10 11 12 基本路径测试 * 基本路径测试再举例 4)路径4(1-2-3-4-5-8-2…)的测试用例: score[i]=有效分数,当i50; score[k]0, k i ; 期望结果:根据输入的有效分数算出正确的分数个数n1、总分sum和平均分average。 5)路径5(1-2-3-4-5-6-8-2…)的测试用例: score[i]=有效分数, 当i50; score[k]100, k i ; 期望结果:根据输入的有效分数算出正确的分数个数n1、总分sum和平均分average。 开始 i =1,n1=n2=0,sum=0 Score[ i ]-1 AND n250 n2=n2+1 n1=n1+1,sum=sum+score[i] Score[ i ]0 AND score[i]100 i = i +1 n10 average=sum/n1 average= – 1 返回 F F F T T T 1 2和3 4 5和6 7 8 9 10 11 12 基本路径测试 * 基本路径测试再举例 6)路径6(1-2-3-4-5-6-7-8-2…)的测试用例: score[i]=有效分数, 当i50; 期望结果:根据输入的有效分数算出正确的分数个数n1、总分sum和平均分average。 开始 i =1,n1=n2=0,sum=0 Score[ i ]-1 AND n250 n2=n2+1 n1=n1+1,sum=sum+score[i] Score[ i ]0 AND score[i]100 i = i +1 n10 average=sum/n1 average= – 1 返回 F F F T T T 1 2和3 4 5和6 7 8 9 10 11 12 基本路径测试 * 基本路径测试 必须注意,一些独立的路径,往往不是完全孤立的,有时它是程序正常的控制流的一部分,这时,这些路径的测试可以是另一条路径测试的一部分。 基本路径测试 * 习题 1、使用基本路径测试方法,为以下程序段设计测试用例。 void Do (int X,int A,int B) { 1 if ( (A1)(B=0) ) 2 X = X/A; 3 if ( (A=2)||(X
显示全部