《设计测试方案.ppt》由会员分享,可在线阅读,更多相关《设计测试方案.ppt(13页珍藏版)》请在优知文库上搜索。
1、设计测试方案设计测试方案设计测试方案(Plan of testing)主要技术:主要技术:1、逻辑覆盖、逻辑覆盖(Logical coverage) 2、控制结构测试、控制结构测试3、等价划分、等价划分 任务:预定要测试的功能任务:预定要测试的功能 设计输入的测试数据设计输入的测试数据(test cases) 列出预期结果列出预期结果(expected output)入口入口A 1AND B=0TA=2OR X 1TX = X / AX = X + 1返回返回FFTest case : A=2 , B=0 , X=4. 覆盖程度由弱到强顺次为:覆盖程度由弱到强顺次为: 语句覆盖语句覆盖:每个语
2、句至少执行一次。每个语句至少执行一次。1 .逻辑覆盖逻辑覆盖判定覆盖判定覆盖(Branch coverage):在的基:在的基础上,每个判定的每个分支至少执行一础上,每个判定的每个分支至少执行一次。次。Test cases:A=3 , B=0 , X=3A=2 , B=1 , X=1入口入口A 1AND B=0TA=2OR X 1TX = X / AX = X + 1返回返回FF 条件覆盖条件覆盖(Condition coverage):在的基础上,使:在的基础上,使每个判定表达式的每个条件都取到各种可能的结果。每个判定表达式的每个条件都取到各种可能的结果。Test cases:A=2 , B
3、=0 , X=4(满足(满足A1, B=0; A=2, X1)A=1, B=1, X=1(满足满足A 1, B 0; A 2, X 1)问:条件覆盖问:条件覆盖 ? 判定覆盖判定覆盖 答答: 不一定。不一定。 反例反例: A=2, B=0, X=1 A=1, B=1, X=2 判定判定/条件覆盖:即判定覆盖条件覆盖:即判定覆盖 条件覆盖条件覆盖 入口入口A 1AND B=0TA=2OR X 1TX = X / AX = X + 1返回返回FF 条件组合覆盖:每个判定表达式条件组合覆盖:每个判定表达式中条件的各种可能组合都至少出中条件的各种可能组合都至少出现一次。现一次。入口入口A 1AND B
4、=0TA=2OR X 1TX = X / AX = X + 1返回返回FF全部可能的条件组合为:全部可能的条件组合为: A1, B=0 A1, B 0 A 1, B=0 A 1, B 0 A=2, X1 A=2, X 1 A 2, X1 A 2,X 1 Test cases: A=2, B=0, X=4 (T T) A=2. B=1, X=1 (F T) A=1, B=0, X=2 (F T) A=1, B=1, X=1 (F F)考察考察control flow graph 的角度,还可考虑下述覆的角度,还可考虑下述覆盖:盖: 点覆盖点覆盖 边覆盖边覆盖= 语句覆盖语句覆盖 路径覆盖路径覆盖
5、(Path coverage): 每条可能的路径都至少执每条可能的路径都至少执行一次,若图中有环,则每行一次,若图中有环,则每个环至少经过一次。个环至少经过一次。=判定覆盖判定覆盖Test cases: A=1 , B=1 , X=1 A=1 , B=1 , X=2 A=3 , B=0 , X=1 A=2 , B=0 , X=4 路径覆盖路径覆盖 条件组合覆盖条件组合覆盖2.控制结构测试:控制结构测试:基本路径、条件、循环基本路径、条件、循环 1). 基本路径测试基本路径测试基本路径测试是基本路径测试是Tom McCabe提出的一种白提出的一种白盒测试技术。盒测试技术。I.首先计算程序的环形复
6、杂度首先计算程序的环形复杂度II. 用该复杂度为指南定义执行路径的基本用该复杂度为指南定义执行路径的基本集合集合III.从该基本集合导出的测试用例可以保证从该基本集合导出的测试用例可以保证程序中的每条语句至少执行一次,而且程序中的每条语句至少执行一次,而且每个条件在执行时都将分别取真、假两每个条件在执行时都将分别取真、假两种值。种值。3.等价划分等价划分 适用于黑盒测试适用于黑盒测试n问题:问题:是如何选择适当的子集,使其发现最多的错误。是如何选择适当的子集,使其发现最多的错误。n解决上述问题的办法:解决上述问题的办法:是把所有可能的输入数据划分为若干等价类,这是把所有可能的输入数据划分为若干
7、等价类,这样就有可能得到一种假设,即测试某个等价类的样就有可能得到一种假设,即测试某个等价类的代表值就等价于对这一类其他值的测试。代表值就等价于对这一类其他值的测试。n等价划分技术等价划分技术是用来设计发现错误种类的测是用来设计发现错误种类的测试用例,以减少必须设计的测试用例总数。试用例,以减少必须设计的测试用例总数。 根据划分经验,划分等价类根据划分经验,划分等价类 当规定了输入范围时:当规定了输入范围时: 当规定了输入的一组值,且对不同值做不同处理当规定了输入的一组值,且对不同值做不同处理时时无效类无效类 有效类有效类 无效类无效类 当规定了输入的规则时:当规定了输入的规则时: 例:例:(
8、PASCAL) 语言规定,每个语句以语言规定,每个语句以“ ;” 结结 束束 有效类有效类1个;无效类若干(以个;无效类若干(以“ ,”结束、以结束、以“ :”结束、以空格结束等等)结束、以空格结束等等) 当输入为整型时:有效类可分为当输入为整型时:有效类可分为Z+、0、Z 三种三种 当处理表格时:有效类可分为空表、含一项的表、当处理表格时:有效类可分为空表、含一项的表、含多项的表等含多项的表等注:注: 以上经验亦适用于输出数据;以上经验亦适用于输出数据; 不需要测试编译程序肯定能发现的错误。不需要测试编译程序肯定能发现的错误。 设计步骤设计步骤 设计一个新方案以设计一个新方案以尽可能多尽可能
9、多地覆盖尚未被覆盖的地覆盖尚未被覆盖的有效有效等价类;重复这一步骤直到所有等价类;重复这一步骤直到所有有效类有效类都被都被覆盖为止。覆盖为止。 设计一个新方案以覆盖设计一个新方案以覆盖一个且仅一个一个且仅一个尚未被覆盖尚未被覆盖的的无效无效等价类;重复这一步骤直到所有等价类;重复这一步骤直到所有无效类无效类都都被覆盖为止。(通常程序执行一个错误后即不继被覆盖为止。(通常程序执行一个错误后即不继续检测其它错误,故每次只测一个无效类)续检测其它错误,故每次只测一个无效类)4、实用策略、实用策略(Practical Strategies) 黑盒设计黑盒设计 白盒补充白盒补充 在任何情况下都应该使用在
10、任何情况下都应该使用边界值分析边界值分析的方法;的方法; 必要时用必要时用等价划分法等价划分法补充;补充; 必要时再用必要时再用错误推测法错误推测法补充;补充; 对照程序逻辑,检查测试方案。可根据对程对照程序逻辑,检查测试方案。可根据对程序可靠性的要求采用不同的序可靠性的要求采用不同的逻辑覆盖标准逻辑覆盖标准,必要时补充一些测试方案。必要时补充一些测试方案。注注: 即使用上述综合策略设计测试方案,仍不能即使用上述综合策略设计测试方案,仍不能保证发现一切错误。保证发现一切错误。例如例如Lucent公司经过包公司经过包括逐行检查源代码在内的多方面测试之后,括逐行检查源代码在内的多方面测试之后,其软件能达标运行的成功率为其软件能达标运行的成功率为 80%。