软件测试
题目1
电话 码问题 某城市电话 码由三部分组成。它们的名称和内容分别是: (1)地区码:空白或三位数字; (2)前 缀:非’0’或’1’的三位数字; (3)后 缀:4 位数字。 假定被测程序能接受一切符合上述规定的电话 码,拒绝所有不符合规定的电话 码。根据该 程序的规格说明,作等价类的划分,并设计测试方案。
输入 | 有效等价类 | 无效等价类 |
---|---|---|
地区码 | ①空白 ②三位数字 | ③字母 ④标点符 等特殊字符 ⑤ 超过三位的数字⑥大于0小于3的数字 |
前缀 | ⑦非0或1的三位数字 | ⑧三位0或者三位1 ⑨字母⑩标点符 等特殊字符于三位的数字于三位的数字 |
后缀 | 位数字 | 于四位的数字母等特殊符 于四位的数字 |
测试方案
覆盖的等价类 | 地区码 | 前缀 | 后缀 | 预期结果 |
---|---|---|---|---|
① ⑦/td> | 空白 | 123 | 4567 | 正确 |
② ⑦/td> | 234 | 123 | 4567 | 正确 |
③ | asd | 123 | 4567 | 错误 |
④ | -#¥ | 000 | 4567 | 错误 |
⑤ | 1234 | 123 | 4567 | 错误 |
⑥ | 12 | 123 | 4567 | 错误 |
⑧ | 213 | 000 | 4567 | 错误 |
⑨ | 213 | asdsad | 4567 | 错误 |
⑩ | 213 | @$ | 4567 | 错误 |
/td> | 213 | 12 | 4567 | 错误 |
/td> | 213 | 12345 | 4567 | 错误 |
/td> | 213 | 12345 | 123 | 错误 |
/td> | 213 | 12345 | asd#$% | 错误 |
/td> | 213 | 12345 | 45673445 | 错误 |
题目2
题目二:三角形问题 根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。 一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息, 说明不是三角形、三角形是三边不等的、是等腰的、还是等边的。
输入 | 有效等价类 | 无效等价类 |
---|---|---|
a,b,c | ①a=b=c ②a+b>c&&a+c>b&&b+c>a ③ a!=b&&b!=c&&a!=c ④a==b&&b!=c or a==c &b!=c or b==c&&b!=a | ⑤ 输入的是小数⑥输入是字母或者符 ⑦a+b<=c or b+c <=a or c+b<=a |
测试用例
覆盖的等价类 | a | b | c | 预期结果 |
---|---|---|---|---|
① ② | 2 | 2 | 2 | 等边三角形 |
②④ | 1 | 2 | 2 | 等腰三角形 |
②③ | 2 | 3 | 4 | 三边不等三角形 |
⑤ | 2.3 | 2 | 3 | 输入错误 |
⑥ | ¥ | sd | 4 | 输入错误 |
⑦ | 1 | 2 | 3 | 边长度输入错误 |
题目3
日期问题 用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month 、 day 和year 均为整数值,并且满足:1≤month≤12 和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序 可以输出该输入日期在日历上隔一天的日期。例如,输入为 2004 年11 月29 日,则该程序的输出为 2004 年12 月1 日。 (1) 分析各种输入情况,列出为输入变量 month 、 day 、 year 划分的有效等价类。 (2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即 列出所有的动作桩)。 (3) 根据 (1) 和 (2) ,画出简化后的决策表。
输入 | 有效等价类 | 无效等价类 |
---|---|---|
year | ①1900<=year<=10000 | ②字母③标点符 等特殊字符 ④小于0的数字⑤不为整数 |
month | ⑥ 1<=month<=12 | ⑦小于0的数字 ⑧字母标点符 等特殊字符⑨大于12的数字⑩不为整数 |
day | 如果大月<=day<=31 如果小月:<=day<=30 如果闰年2月 1<=days<=29 如果平年 1<=days<=28 | 于1的数字月大于31的数字 小月大于30的数字,平年2月大于28的数字,闰年大于29的数字 母等特殊字符 为整数 |
动作桩:
- 提示 year输入错误
- 提示month输入错误
- 提示day输入错误
- 输出日期
决策表(判定表)
序 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|
条件 | year输入是否正确 | 1 | 0 | 1 | 1 | 0 | 1 |
month输入是否正确 | 1 | 1 | 0 | 1 | 0 | 0 | |
days输入是否正确 | 1 | 1 | 1 | 0 | 1 | 0 | |
动作 | 输出日期 | 1 | 0 | 0 | 0 | 0 | 0 |
提示year输出错误 | 0 | 1 | 0 | 0 | 1 | 0 | |
提示month输出错误 | 0 | 0 | 1 | 0 | 0 | 1 | |
提示day输出错误 | 0 | 0 | 0 | 1 | 0 | 0 |
题目四
生育津贴:生育津贴为女职工产假期间的工资,生育津贴低于本人工资标准的,差额部分由企业补足。(2)参加生育保险累计满一年的职工,在生育(流产)时仍在参保的,按有关规定享受生育保险待遇。(3)生育保险待遇生育津贴发放标准,以职工所在用人单位上年度职工月平均工资为基数按规定假期计发:(职工所在用人单位上年度职工月平均工资/30天 X假期天数)
假期天数:① 正常产假90天(包括产前检查15天);② 独生子女假增加35天;③ 晚育假增加15天;④ 难产假。剖腹产、Ⅲ度会阴破裂增加30天;吸引产、钳产、臀位产增加15天;⑤ 多胞胎生育假,每多生育一个婴儿增加15天;⑥ 流产假:怀孕不满2个月15天;怀孕不满4个月30天;满4个月以上(含4个月)至7个月以下42天;7个月以上遇死胎、死产和早产不成活75天;
设计测试用例
覆盖的等价类 | 假期天数 | 生育津贴 |
---|---|---|
① | 90 | 90/30 *月工资 |
①② | 125 | 125/30 *月工资 |
①③ | 105 | 105/30 *月工资 |
① ④难产 | 120 | 120/30 *月工资 |
① ④其他 | 105 | 105/30 *月工资 |
①②③ | 140 | 140/30 *月工资 |
①②④难产 | 155 | 155/30 *月工资 |
①②④其他 | 140 | 140/30 *月工资 |
①③⑤ | 105+15*(婴儿数-1) | 105+15*(婴儿数-1)/30 *月工资 |
①④⑤ | 120+15*(婴儿数-1) | 105+15*(婴儿数-1)/30 *月工资 |
①②③ ④ | 170 | 170/30 *月工资 |
①②③ ④⑤ | 170+15*(婴儿数-1) | 170+15*(婴儿数-1)/30 *月工资 |
⑥不满两个月 | 15 | 15/30 *月工资 |
⑥不满四个月 | 30 | 30/30 *月工资 |
⑥四个月以上七个月以下 | 42 | 42/30 *月工资 |
⑥七个月以上 | 75 | 75/30 *月工资 |
知识储备:
等价类测试用例的设计
1.无效等价类只能有一个 每个测试用例 且都要覆盖
2. 设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;
3. 设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止
条件桩,动作桩
- 条件桩 列出问题的所有条件
- 动作桩 列出可能针对问题所采取的动作 如正确打印内容,提示year出错,提示month出错
代码
测试日历
测试三角形
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!