软件工程7-2资料.ppt

* 软件工程 * 谢谢! * * 从表面上看,判定/条件覆盖测试了所有条件的取值,但实际上条件组合中的某些条件会抑制其他条件。例如在含有“与”运算的判定表达式中, 第一个条件为“假”,则这个表达式中的后面几个条件均不起作用;在含有“或”运算的表达式中, 第一个条件为“真”,后边其他条件也不起作用,因此,后边其他条件若写错就测不出来。 * 从表面上看,判定/条件覆盖测试了所有条件的取值,但实际上条件组合中的某些条件会抑制其他条件。例如在含有“与”运算的判定表达式中, 第一个条件为“假”,则这个表达式中的后面几个条件均不起作用;在含有“或”运算的表达式中, 第一个条件为“真”,后边其他条件也不起作用,因此,后边其他条件若写错就测不出来。 * 图(a)是一个程序流程图,可以将它转换成图(b)的程序图(假设菱形框表示的判断内设有复合的条件)。在转换时注意: 一条边必须终止于一个结点,在选择结构中的分支汇聚处即使无语句也应有汇聚结点; 若判断中的逻辑表达式是复合条件,应分解为一系列只有单个条件的嵌套判断,如对于图(a)的复合条件的判定应画成图(b)所示的程序图。 * 从例中可知,一条新的路径必须包含有一条新边。这 4 条路径组成了图7.6(b)所示的程序图的一个基本路径集,4是构成这个基本路径集的独立路径数的上界,这也是设计测试用例的数目。只要测试用例确保这些基本路径的执行,就可以使程序中每个可执行语句至少执行一次,每个条件的取“真”和取“假”分支也能得到测试。 基本路径集不是唯一的,对于给定的程序图,可以得到不同的基本路径集。 * * * * * * * * * * * * * * 7.6.2 黑盒技术——等价类划分续 2) 确定测试用例(例) ③ 为每一个不合理等价类至少设计一个测试用例: 测试数据 期望结果 覆盖范围 99MAY 输入无效 2 19995 输入无效 3 1999005 输入无效 4 198912 输入无效 6 200001 输入无效 7 199900 输入无效 9 199913 输入无效 10 软件工程 7.6.2 黑盒技术——边界值分析 2. 边界值分析 实践经验表明,程序往往在处理边界情况时发生错误。 边界情况指输入等价类和输出等价类边界上的情况。 因此检查边界情况的测试用例是比较高效的,可以查出更多的错误。 例如,在做三角形设计时,要输入三角形的 3 个边长 A, B和C。 这 3 个数值应当满足A0,B0,C0,A+BC, A+CB, B+CA, 才能构成三角形。但如果把 6 个不等式中的任何一个“>”错写成“≥”, 那个不能构成三角形的问题恰出现在容易被疏忽的边界附近。 在选择测试用例时,选择边界附近的值就能发现被疏忽的问题。 7.6.2 黑盒技术——边界值分析续 2. 边界值分析 (1) 如果输入条件规定了值的范围,可以选择正好等于边界值的数据作为合理的测试用例,同时还要选择刚好越过边界值的数据作为不合理的测试用例。 如输入值的范围是[1,100], 可取0,1,100,101等值作为测试数据。 (2) 如果输入条件指出了输入数据的个数, 则按最大个数、 最小个数、比最小个数少 1 及比最大个数多1等情况分别设计测试用例。 如一个输入文件可包括1~255个记录, 则分别设计有1个记录、255个记录,以及0个记录和256个记录的输入文件的测试用例。 软件工程 7.6.2 黑盒技术——边界值分析续 2. 边界值分析 (3) 对每个输出条件按以上原则确定输出值边界。 如一个学生成绩管理系统规定,只能查询95~98级大学生的各科成绩, 可以设计测试用例,使得查询范围内的某一届或四届学生的学生成绩,还需设计查询94级、 99级学生成绩的测试用例(不合理输出等价类)。 由于输出值的边界不与输入值的边界相对应,所以要检查输出值的边界不一定可能,要产生超出输出值之外的结果也不一定能做到, 但必要时还需试一试。  (4) 如果程序的输

文档评论(0)

1亿VIP精品文档

相关文档