【软件测试】实验2 决策表测试实验报告

2023-12-22 12:10

本文主要是介绍【软件测试】实验2 决策表测试实验报告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【软件测试】实验2 决策表测试实验报告

1.实验目的

掌握决策表测试方法。

2.实验内容

前一日函数 Pre Date 是 NextDate的逆函数,即给定一 个月份、日期、年,会返回前一天的日期。
年的取值在1812年到2017年。
日的取值 在 1日到 31 日之间。
月的取值 在 1到 12 月之间

3.实验步骤

(1)用java或c/c++编写该程序;
(2)用决策表法对所写程序进行测试。

4.实验代码

package rjcs2;
import java.util.Scanner;public class PreDate {public static void main(String[] args){Scanner date = new Scanner(System.in);System.out.println("请输入年、月、日:");int year = date.nextInt();int month = date.nextInt();int day = date.nextInt();if(year<1812||year>2017||month<1||month>12||day<1||day>31)System.out.println("输入错误,请重新输入!");else if((month==4||month==6||month==9||month==11)&&day==31)System.out.println("输入错误,请重新输入!");else if((year%4!=0||(year%400!=0 && year%100==0))&&month==2&&day>28)System.out.println("输入错误,请重新输入!");else if (month==2&&day>29)System.out.println("输入错误,请重新输入!");else {if(day==1){if(month==1){year--;month=12;day=31;}else if(month==2||month==4||month==6||month==8||month==9||month==11){month--;day=31;}else if(month==5||month==7||month==10||month==12){month--;day=30;}else{if((year%4==0 && year%100>0)||(year%400==0 && year%100==0)){month--;day=29;}else{month--;day=28;}}}else{day--;}String m = String.format("%02d",month);String d = String.format("%02d",day);System.out.println("前一天日期为:"+year+"-"+m+"-"+d);}}		
}

5.测试结果

(1)桩
条件桩:

c1:年份在
c2:月份在
c3:日子在
动作桩:
a1:不可能情况
a2:日子减一
a3:日子置为28
a4:日子置为29
a5:日子置为30
a6:日子置为31
a7:月份减一
a8:月份置为12
a9:年份减一
(2)规则
D1={day:day=1}
D2={day: 2≤day≤28}
D3={day:day=29}
D4={day:day=30}
D5={day:day=31}
M1={month:month=1}
M2={month:month=2}
M3={month:month=3}
M4={month:month=8}
M5={month:month=4,6,9,11}(本月30天,上月31天)
M6={month:month=5,7,10,12}(本月31天,上月30天)
Y1={year:year不是闰年}
Y2={year:year是闰年}
(3)决策表
在这里插入图片描述在这里插入图片描述在这里插入图片描述

(4)简化决策表
在这里插入图片描述

(5)测试用例

在这里插入图片描述

这篇关于【软件测试】实验2 决策表测试实验报告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/523901

相关文章

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

STM32(十一):ADC数模转换器实验

AD单通道: 1.RCC开启GPIO和ADC时钟。配置ADCCLK分频器。 2.配置GPIO,把GPIO配置成模拟输入的模式。 3.配置多路开关,把左面通道接入到右面规则组列表里。 4.配置ADC转换器, 包括AD转换器和AD数据寄存器。单次转换,连续转换;扫描、非扫描;有几个通道,触发源是什么,数据对齐是左对齐还是右对齐。 5.ADC_CMD 开启ADC。 void RCC_AD

HNU-2023电路与电子学-实验3

写在前面: 一、实验目的 1.了解简易模型机的内部结构和工作原理。 2.分析模型机的功能,设计 8 重 3-1 多路复用器。 3.分析模型机的功能,设计 8 重 2-1 多路复用器。 4.分析模型机的工作原理,设计模型机控制信号产生逻辑。 二、实验内容 1.用 VERILOG 语言设计模型机的 8 重 3-1 多路复用器; 2.用 VERILOG 语言设计模型机的 8 重 2-1 多

Verybot之OpenCV应用一:安装与图像采集测试

在Verybot上安装OpenCV是很简单的,只需要执行:         sudo apt-get update         sudo apt-get install libopencv-dev         sudo apt-get install python-opencv         下面就对安装好的OpenCV进行一下测试,编写一个通过USB摄像头采