实验5、白盒测试:覆盖测试及测试用例设计
一、实验目的
1、掌握白盒测试的概念。
2、掌握逻辑覆盖法。
二、实验任务
1、某工资计算程序功能如下:若雇员月工作小时超过40小时,则超过部分按原小时工资的1.5倍的加班工资来计算。若雇员月工作小时超过50小时,则超过50的部分按原小时工资的3倍的加班工资来计算,而40到50小时的工资仍按照原小时工资的1.5倍的加班工资来计算。程序输入为:雇员月工作时间及小时工资,输出为工资。
运用逻辑覆盖法的六种覆盖标准设计测试用例,并执行测试,撰写实验报告。
实验步骤:
程序代码如下:
import java.util.*;
public class Salary {
public static void main(String[] args) {
int hour;
int money;
double sum;
System.out.print("请输入雇员的月工作时间(小时):");
Scanner console = new Scanner(System.in);
hour = console.nextInt();
System.out.print("请输入雇员的时薪(元):");
money = console.nextInt();
if(hour<=40 && hour>=0) {
sum = hour*money;
System.out.println("雇员本月的工资为:"+sum+"元");
}
else {
if (hour > 40 && hour <= 50) {
sum = 40 * money + (hour - 40) * money * 1.5;
System.out.println("雇员本月的工资为:" + sum + "元");
} else if(hour > 50){
sum = 40 * money + 10 * money * 1.5 + (hour - 50) * money * 3;
System.out.println("雇员本月的工资为:" + sum + "元");
}else {
System.out.println("输入的月工时有误,请重新输入!");
}
}
}
}

| 测试用例ID | hour(小时) | money(元) | 预期输出 | 覆盖语句 |
| T1 | 55 | 20 | 1400.0元 | ①③⑤⑥ |
| 测试用例ID | hour(小时) | money(元) | 第1个判定hour<=40&&hour>=0 | 第2个判定 hour > 40 && hour <= 50 | 第三个判定hour > 50 |
| T2 | 23 | 20 | T | F | F |
| T3 | 45 | 20 | F | T | F |
| T4 | 55 | 20 | F | F | T |
| 测试用例ID | hour(小时) | money(元) | 条件hour<=40 && hour>=0 | 条件hour > 40 && hour <= 50 | 条件hour > 50 |
| T5 | 23 | 20 | T | F | F |
| T6 | 45 | 20 | F | T | F |
| T7 | 55 | 20 | F | F | T |
| T8 | -1 | 20 | F | F | F |
| 测试用例ID | hour(小时) | money(元) | 条件hour<=40 && hour>=0 | 条件hour > 40 && hour <= 50 | 条件hour > 50 |
| T9 | 23 | 20 | T | F | F |
| T10 | 45 | 20 | F | T | F |
| T11 | 55 | 20 | F | F | T |
| T12 | -1 | 20 | F | F | F |
| 测试用例ID | hour(小时) | money(元) | 第1个判定 | 第2个判定 | 第三个判定 |
| 条件hour<=40 && hour>=0 | 条件hour > 40 && hour <= 50 | 条件hour > 50 | |||
| T13 | 23 | 20 | T | F | F |
| T14 | 45 | 20 | F | T | F |
| T15 | 55 | 20 | F | F | T |
| T16 | -1 | 20 | F | F | F |
| 测试用例ID | hour(小时) | money(元) | 第1个判定 | 第2个判定 | 第三个判定 |
| 条件hour<=40 && hour>=0 | 条件hour > 40 && hour <= 50 | 条件hour > 50 | |||
| T17 | 23 | 20 | T | F | F |
| T18 | 45 | 20 | F | T | F |
| T19 | 55 | 20 | F | F | T |
| T20 | -1 | 20 | F | F | F
|
| 模块名称 | 对某工资计算程序功能进行软件测试 | ||
| 版本号 | V1.0 | 测试人 | XXX |
| 缺陷类型 | 代码实现 | 严重级别 | 5级 |
| 可重复性 | 是 | 缺陷状态 | New |
| 测试平台 | Win11 | 测试软件 | Interlij IDEA |
| 简述 |
| ||
| 操作步骤 | 1.运行程序,在控制台依次输入:52,-1 2.回车 | ||
| 实际结果 | -61.0元 | ||
| 预期结果 | 输入的时薪有误,请重新输入! | ||
| 注释 | 无注释,建议适当增加注释,提高程序代码的可读性 | ||