白盒测试:覆盖测试及测试用例设计

news2024/11/24 7:58:17

白盒测试:覆盖测试及测试用例设计

一、实验目的

1、掌握白盒测试的概念。

2、掌握逻辑覆盖法。

二、实验任务

       某工资计算程序功能如下:若雇员月工作小时超过40小时,则超过部分按原小时工资的1.5倍的加班工资来计算。若雇员月工作小时超过50小时,则超过50的部分按原小时工资的3倍的加班工资来计算,而4050小时的工资仍按照原小时工资的1.5倍的加班工资来计算。程序输入为:雇员月工作时间及小时工资,输出为工资。

运用逻辑覆盖法的六种覆盖标准设计测试用例,并执行测试,撰写实验报告。

实验步骤:

1、画出程序流程图

判定1:hour<=40 && hour>=0

判定2:hour>40 && hour<=50

判定3:hour>50

2、根据逻辑覆盖法的六种覆盖标准设计测试用例,得到6张测试用例表

(1)、语句覆盖:程序需要执行通过的语句有1、3、5、6,由于2、4、7位置没有语句,因此不需要覆盖。

只需一条测试用例即可:

测试用例编号

hour(小时)

money(元)

预期输出

覆盖语句

T1

60

100

8500.00元

1、3、5、6

(2)、判定覆盖:易知程序流程图中有三个判定

编号

hour

money

判定1

判定2

判定3

预期输出

T2

30

50

1500.0元

T3

45

60

2850.0元

T4

60

70

5950.0元

(3)、条件覆盖

编号

hour

money

判定1

判定2

判定3

预期输出

T6

30

50

1500.0元

T7

45

60

2850.0元

T8

60

70

5950.0元

T9

-10

80

输入有误

(4)、条件/判定覆盖

编号

hour

money

判定1

判定2

判定3

预期输出

T6

30

50

1500.0元

T7

45

60

2850.0元

T8

60

70

5950.0元

T9

-10

80

输入有误

(5)、条件组合覆盖

编号

hour

money

判定1

判定2

判定3

预期输出

T6

30

50

1500.0元

T7

45

60

2850.0元

T8

60

70

5950.0元

T9

-10

80

输入有误

(6)、修正条件判定覆盖

编号

hour

money

判定1

判定2

判定3

预期输出

T6

30

50

1500.0元

T7

45

60

2850.0元

T8

60

70

5950.0元

T9

-10

80

输入有误

3、执行测试,填写软件缺陷报告。

语句覆盖

判定覆盖、条件覆盖和条件/判定覆盖的测试结果

条件组合覆盖、修正条件判定覆盖测试结果

测试缺陷报告:

测试模块:

工资计算程序

开 发 者:

XXX

测 试 员:

XXX

测试日期:

2024.5.8

软件缺陷列表

缺陷ID

缺陷详细信息

BUG1

BUG2

BUG3

BUG4

代码:

import java.util.*;
public class Main {
    public static void main(String[] args) {
        int hour;
        int money;
        double sum;
        while (true) {
            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("输入的月工时有误,请重新输入!");
                }
            }
        }
    }
}

记录学习、记录生活,最后,我终将会成为我想成为的人✌✌✌

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1652949.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1. C++入门:命名空间及输入输出

C相比C的变化 兼容C面向对象泛型C的不足的弥补 为什么要有命名空间 在C/C中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地…

EMAP如何建数据源

新建数据源&#xff1a; EMAP底座的数据源&#xff0c;名称为“DB_EMAP_BIZ_BASE"&#xff0c;不可随意更改. 新建业务系统数据源&#xff0c;名称为”DB_STUDY_BIZ_BASE". 支持的数据库&#xff1a; 支持两种类型数据库&#xff1a;H2 和 oracle 新建H2数据源&am…

YOLOv9全网最新改进系列:YOLOv9融合HCF-NET网络中的PPA模块,红外小目标实验证明针对小目标的改进具有出色表现!

YOLOv9全网最新改进系列&#xff1a;YOLOv9融合HCF-NET网络中的PPA模块&#xff0c;红外小目标实验证明针对小目标的改进具有出色表现&#xff01; YOLOv9原文链接戳这里&#xff0c;原文全文翻译请关注B站Ai学术叫叫首er B站全文戳这里&#xff01; 详细的改进教程以及源码…

C语言贪吃蛇

注 &#xff1a;本文是基于链表实现贪吃蛇游戏 1.Win32 API 本篇文章中实现贪吃蛇会用到一些Win32 API的知识&#xff0c;接下来简单做下介绍 1.1 Win32 API Windows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源之外&#xff0c; 它同时也是⼀个 很大的服务中…

vcenter7安装nsx

登录控制台 Get services

【噪声学习】噪声标签的鲁棒点云分割

Robust Point Cloud Segmentation with Noisy Annotations 事实上,与二维图像标注[1]、[2]相比,三维数据的干净标签更难获得。这主要是因为1)需要标注的点数通常非常庞大,例如在 ScanNetV2 [3] 中标注一个典型的室内场景时,需要标注百万量级的点数;2)标注过程本身更加复…

【4089】基于小程序实现的互动打卡系统

作者主页&#xff1a;Java码库 主营内容&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app等设计与开发。 收藏点赞不迷路 关注作者有好处 文末获取源码 技术选型 【后端】&#xff1a;Java 【框架】&#xff1a;spring…

Windows安装RabbitMQ教程(附安装包)

需要两个安装包 Erlang 安装包: https://download.csdn.net/download/Brevity6/89274663 (自己从官网下载也可以) RabbitMQ Windows 安装包&#xff1a; https://download.csdn.net/download/Brevity6/89274667 (自己从官网下载也可以) Erlang安装 Erlang安装傻瓜式下一…

Redis 之 布隆过滤器 与 布谷鸟过滤器

大家都知道,在计算机中IO一直是一个瓶颈,很多框架以及技术甚至硬件都是为了降低IO操作而生,今天聊一聊过滤器,先说一个场景: 我们业务后端涉及数据库,当请求消息查询某些信息时,可能先检查缓存中是否有相关信息,有的话返回,如果没有的话可能就要去数据库里面查询,这时候有一个…

新书速览|Rust编程与项目实战

掌握Rust编程基础和开发方法&#xff0c;实战网络编程、图像和游戏开发、数据分析项目 本书内容 Rust是一门系统编程语言&#xff0c;专注于安全&#xff0c;尤其是并发安全&#xff0c;它也是支持函数式、命令式以及泛型等编程范式的多范式语言。标准Rust在语法和性能上和标准…

小麦穗检测数据集VOC+YOLO格式6508张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6508 标注数量(xml文件个数)&#xff1a;6508 标注数量(txt文件个数)&#xff1a;6508 标注…

IP定位技术在解决“薅羊毛”问题中扮演着关键角色

IP定位技术在解决被“薅羊毛”问题中扮演着关键角色。所谓“薅羊毛”&#xff0c;通常指的是在网络平台上&#xff0c;通过不正当手段获取优惠、奖励或利润的行为。这种行为不仅损害了平台的经济利益&#xff0c;也破坏了公平竞争的市场环境。IP定位技术通过提供IP地址的地理位…

多核DSP并行计算跨平台通信解决方案

并行计算的核心是计算节点以及节点间的通信与协调机制。OpenMP虽然给开发者提供了极易上手的增量式开发方式&#xff0c;但是OpenMP在与复杂架构的MCSDK结合后&#xff0c;工具与代码产生了大量不可调试的黑盒子&#xff0c;更是决定了它不能用于关键任务领域&#xff0c;如军工…

测评方式揭秘:自养号测评与真人测评的利与弊

在当今电商行业飞速发展的背景下&#xff0c;不少卖家为了提升产品销量和积累良好评价&#xff0c;采取了真人测评和自养号测评两种策略。然而&#xff0c;这两种测评方式的具体运作机制和效果差异&#xff0c;许多卖家可能并未深入了解。接下来&#xff0c;我们将深入挖掘真人…

Visual Studio C++ 2019进行安装

Visual Studio C 2019进行下载安装 链接&#xff1a;https://my.visualstudio.com/Downloads?qvisual%20studio%202017&wt.mc_idomsftvscom~older-downloads

流量分析利器arkime的学习之路(三)---结合Suricata攻击检测

1、基础 Arkime安装部分参考《流量分析利器arkime的学习之路&#xff08;一&#xff09;—安装部署》 在此基础上安装suricata软件并配置。 2、安装suricata yum install suricate 可能依赖的文件包括libyaml&#xff0c;PyYAML&#xff0c;这些可能在之前安装arkime或者其他…

在全志H616核桃派开发板上实现超声波传感器测距

前言​ 超声波传感器是一款测量距离的传感器。其原理是利用声波在遇到障碍物反射接收结合声波在空气中传播的速度计算的得出。在测量、避障小车&#xff0c;无人驾驶等领域都有相关应用。 实验目的​ 通过python编程实现超声波传感器测距。 实验讲解​ 下图是一款市面上常…

5V升8.4V2A升压恒压WT3231

5V升8.4V2A升压恒压WT3231 WT3231 是一种高性能直流-直流&#xff08;DC-DC&#xff09;转换器&#xff0c;集成了能够承受10A电流和26mΩ低导通电阻的功率MOSFET。该转换器能提供高达12V的稳定输出电压&#xff0c;并具有固定600KHz开关频率&#xff0c;使得小型外部电感和电…

UV胶具有哪些特点和优势

1. 快速固化&#xff1a;UV胶在紫外线照射下能够迅速固化&#xff0c;固化时间通常在几秒钟到几分钟之间&#xff0c;大大提高了生产效率。 2. 高粘接强度&#xff1a;UV胶固化后&#xff0c;具有较高的粘接强度&#xff0c;能够在各种材料上实现可靠的粘接&#xff0c;提供持…

盘点四种计算数组中元素值为1的个数的方法

目录 一、引言 二、方法一&#xff1a;基础循环遍历 三、方法二&#xff1a;列表推导式 四、方法三&#xff1a;使用内置函数sum和生成器表达式 五、方法四&#xff1a;使用NumPy库 六、性能比较 七、性能结果分析与讨论 八、最佳实践 九、总结 一、引言 在编程和数…