某学籍排查系统要求学生输入入学日期,日期限制在2008年9月至2012年7月,即系统只能对该段期间内的学籍进行处理,如日期不在此范围内,则显示输入错误信息。系统日期规定由年、月的6位数字 字符组成,前四位代表年,后两位代表月。 如何用等价类划分法设计测试用例, 来测试程序的日期检查功能?
首先明白什么是测试用例:
测试用例是为某个测试目标而编制的一组测试输入、执行条件以及预期结果的方案,以便测试某个程序路径或核实是否满足某个特定需求。
其次等价分类法基本思想:
将所有可能的输入数据划分成苦干个等价类,可以假设:每类中的一个典型值在测试中的作用与这一类中所有其他值的作用是相同的。因此可以从每个等价类中只取一组数据作为测试数据。这样选取的测试数据最具有代表性,最有可能发现程序中的错误。
以及如何划分等价类:
等价类:有效等价类(合理等价类),无效等价类(不合理等价类)。
划分原则:
覆盖:所选类别应能覆盖所有可能的类别。
不相交:一种取值只测试某一种等价类。
代表性:取值能代表某一种等价类。
如何用等价类划分法设计测试用例, 来测试程序的日期检查功能?
其步骤如下:
步骤1:等价类划分
“报表日期”输入条件的等价类表
输入等价类 | 有效等价类 | 无效等价类 |
报表日期的 类型及长度 | 6位数字字符(1) | 有非数字字符 (4) 少于6个数字字符 (5) 多于6个数字字符 (6) |
日期范围 | 在有效范围边界上选取数据 (2) | 小于200809(最小日期)(7) 大于201207(最大日期)(8) |
月份范围 | 在1~12之间(3) | 小于1 (9) 大于12 (10) |
步骤2:设计有效类的测试用例
对表中编号为1,2,3的3个有效等价类用一个测试用例覆盖
测试数据 | 期望结果 | 覆盖范围 |
200810 | 输入有效 | 等价类(1)(2)(3) |
步骤3:设计无效类的测试用例
对上表中每个无效类至少设计一个测试用例
不能出现相同的测试用例:
测试数据 | 期望结果 | 覆盖范围 |
001WAY 20085 2007005 200808 201305 200900 200813 | 输入无效 输入无效 输入无效 输入无效 输入无效 输入无效 输入无效 | 等价类(4) 等价类(5) 等价类(6) 等价类(7) 等价类(8) 等价类(9) 等价类(10) |