实验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("输入的月工时有误,请重新输入!"); } } } }
画出程序流程图根据逻辑覆盖法的六种覆盖标准设计测试用例,得到6张测试用例表语句覆盖:程序需要执行通过的语句有①③⑤⑥,由于②④⑦位置没有语句,因此不需要覆盖。从节约测试成本的角度出发,此处实际上只需要一个测试用例即可。判定覆盖:易知程序流程图中有三个判定条件覆盖条件/判定覆盖条件组合覆盖修正条件/判定覆盖执行测试,填写软件缺陷报告