软件测试技术文档
* * * 学习 教程 教材 多媒体课件【友情分享】GOOD GOOD STUDAY, DAY DAY UP↗↗ * 划分等价类的原则 ④ 如果规定了输入数据的一组值,而且程序要对每个输入值分别进行处理。这时可为 每一个输入值确立一个有效等价类,此外针对这组值确立一个无效等价类,它是所有不允许的输入值的集合。 例如,在教师上岗方案中规定对教授、副教授、讲师和助教分别计算分数,做相应的处理。因此可以确定4个有效等价类为教授、副教授、讲师和助教,一个无效等价类,它是所有不符合以上身分的人员的输入值的集合。 学习 教程 教材 多媒体课件【友情分享】GOOD GOOD STUDAY, DAY DAY UP↗↗ * 划分等价类的原则 如果规定了输入数据必须遵守的规则,则可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。 例如, Pascal语言规定 “一个语句必须以分号‘;’结束”。这时,可以确定一个有效等价类 “以‘;’结束”,若干个无效等价类 “以‘:’结束”、“以‘,’结束”、“以‘ ’结束”、“以LF结束”等。 有效Email地址的规则:含有﹫,﹫后面是*.*, Emaild地址不带特殊符号”,#,&,’等。 有效等价类:满足所有的条件的输入的集合。 无效等价类:任何不满足一个或者多个条件的输入的集合 学习 教程 教材 多媒体课件【友情分享】GOOD GOOD STUDAY, DAY DAY UP↗↗ * 划分等价类的原则 ⑥ 在确定已知的等价类中各元素在程序处理中的方式不同的情况下,应再将该等价类进一步划分为更小的等价类。 学习 教程 教材 多媒体课件【友情分享】GOOD GOOD STUDAY, DAY DAY UP↗↗ * 等价类划分法设计测试用例 形成等价类表,每一等价类规定一个唯一的编号; 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被测试用例所覆盖;且分割有效等价类直至最小。 设计一新的测试用例,使其尽可能多的覆盖尚未被覆盖的无效等价类,重复这一步骤直到所有无效等价类均被覆盖,即分割无效等价类直至最小。 学习 教程 教材 多媒体课件【友情分享】GOOD GOOD STUDAY, DAY DAY UP↗↗ * 某报表处理系统要求用户输入处理报表的日期,日期限制在2003年1月至2008年12月,即系统只能对该段期间内的报表进行处理,如日期不在此范围内,则显示输入错误信息。 系统日期规定由年、月的6位数字字符组成,前四位代表年,后两位代表月。 如何用等价类划分法设计测试用例,来测试程序的日期检查功能? 等价类划分法—实例 学习 教程 教材 多媒体课件【友情分享】GOOD GOOD STUDAY, DAY DAY UP↗↗ * 第一步:等价类划分 输入条件 有效等价类 无效等价类 报表日期的 类型及长度 6位数字字符(1) 有非数字字符 (4) 少于6个数字字符 (5) 多于6个数字字符 (6) 年份范围 在2003~2008 之间 (2) 小于2003 (7) 大于2008 (8) 月份范围 在1~12之间(3) 小于1 (9) 大于12 (10) “报表日期”输入条件的等价类表 学习 教程 教材 多媒体课件【友情分享】GOOD GOOD STUDAY, DAY DAY UP↗↗ * 第二步:为有效等价类 设计测试用例 对表中编号为1,2,3的3个有效等价类用一个测试用例覆盖: 测试数据 期望结果 覆盖范围 200306 输入有效 等价类(1)(2)(3) 学习 教程 教材 多媒体课件【友情分享】GOOD GOOD STUDAY, DAY DAY UP↗↗ * 第三步:为每一个无效等价类至少设计一个测试用例 测试数据 期望结果 覆盖范围 003MAY 输入无效 等价类(4) 20035 输入无效 等价类(5) 2003005 输入无效 等价类(6) 200105 输入无效 等价类(7) 200905 输入无效 等价类(8) 200300 输入无效 等价类(9) 200313 输入无效 等价类(10) 不能出现相同 的测试用例 本例的10个等价类至 少需要8个测试用例 有非数字字符 (4) 少于6个数字字符 (5) 多于6个数字字符 (6) 小于2003 (7) 大于2008 (8) 月份小于1 (9) 月份大于12 (10) 学习 教程 教材 多媒体课件【友情分享】GOOD GOOD STUDAY, DAY DAY UP↗↗ * 边界值分析法 边界值分析也