5) 程序的输出有4个报告:
a)按学号排列的成绩单,列出每个学生的成绩、名次。 b)按学生成绩排序的成绩单。 c)平均分数及标准偏差的报告。
d)试题分析报告。按试题号排序,列出各题学生答对的百分比。
解答:分别考虑输入条件和输出条件,以及边界条件。给出下表所示的输入条件及相应的测试用例。
输出条件及相应的测试用例表。
15
2. 三角形问题的边界值分析测试用例
在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。在此,我们将三角形每边边长的取范围值设值为[1, 100] 。 测试用例 Test1 Test2 Test3 Test4 Test5 Test6 Test7 a 60 60 60 50 50 60 60 b 60 60 60 50 50 1 2 c 1 2 60 99 100 60 60 预期输出 等腰三角形 等腰三角形 等边三角形 等腰三角形 非三角形 等腰三角形 等腰三角形 16
Test8 Test9 50 50 99 100 50 50 等腰三角形 非三角形 Test10 Test11 Test12 Test13 1 2 99 100 60 60 50 50 60 60 50 50 等腰三角形 等腰三角形 等腰三角形 非三角形 3. NextDate函数的边界值分析测试用例 在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 。 测试用例 Test1 Test2 Test3 Test4 Test5 Test6 Test7 Test8 Test9 Test10 mouth 6 6 6 6 6 6 6 6 6 6 day 15 15 15 15 15 15 15 -1 1 2 Year 1911 1912 1913 1975 2049 2050 2051 2001 2001 2001 预期输出 1911.6.16 1912.6.16 1913.6.16 1975.6.16 2049.6.16 2050.6.16 2051.6.16 day超出[1…31] 2001.6.2 2001.6.3 17
Test11 Test12 Test13 Test14 Test15 Test16 Test17 Test18 Test19
6 6 6 -1 1 2 11 12 13 30 31 32 15 15 15 15 15 15 2001 2001 2001 2001 2001 2001 2001 2001 2001 2001.7.1 输入日期超界 day超出[1…31] Mouth超出[1…12] 2001.1.16 2001.2.16 2001.11.16 2001.12.16 Mouth超出[1…12] 18
3. 错误推断法
3.1.
概念
基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。
3.2.
错误推断法的应用
基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。
1. 例如, 输入数据和输出数据为0的情况;输入表格为空格或输入表格只有一行。 这些都是
容易发生错误的情况。可选择这些情况下的例子作为测试用例。
2. 例如,前面例子中成绩报告的程序,采用错误推测法还可补充设计一些测试用例:
1) 程序是否把空格作为回答 2) 在回答记录中混有标准答案记录
3) 除了标题记录外,还有一些的记录最后一个字符即不是2也不是3 4) 有两个学生的学号相同 5) 试题数是负数
3. 例如,测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测
试的情况:
1) 输入的线性表为空表; 2) 表中只含有一个元素; 3) 输入表中所有元素已排好序; 4) 输入表已按逆序排好;
5) 输入表中部分或全部元素相同。
4. 例如,测试手机终端的通话功能,可以设计各种通话失败的情况来补充测试用例:
1) 无SIM 卡插入时进行呼出(非紧急呼叫) 2) 插入已欠费SIM卡进行呼出
3) 射频器件损坏或无信号区域插入有效SIM卡呼出
4) 网络正常,插入有效SIM卡,呼出无效号码(如1、888、333333、不输入任何
号码等)
5) 网络正常,插入有效SIM卡,使用“快速拨号”功能呼出设置无效号码的数字
19