等价类划分法实验

article/2025/10/28 10:26:00

一、使用等价类划分法分析三角形问题

要求一:需包含有效等价类及无效等价类划分表格 以及 测试用例表格
要求二:代码实现
实现 方式一:设计 三个输入框 一个判断按钮 点击按钮后显示结果
实现方式二:Java控制台进行测试判断【本实验实现该种方式】

测试报告

Test Case: 三角形类型程序测试
Summary: 在页面输入三个值,程序运行结果是否能够正确输出结果。
测试数据:预期结果:
1、5 5 51、 等边三角形
2、3,4,52、 一般三角形
3、3,3,43、 等腰三角形
4、3,4,44、 等腰三角形
5、3,4,35、 等腰三角形
6、-1,2,36、 不构成三角形
7、0,1,27、 不构成三角形
8、1,2,38、 不构成三角形
测试方法:等价类划分法

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Java实现

import java.util.InputMismatchException;
import java.util.Scanner;public class SjxProject{/*** num为0表示无法构成三角形* num为3表示为等边三角形* num为2表示为等腰三角形* num为1表示为一般三角形*///定义三角形三条边分别为a,b,cpublic static void numangle(int a,int b, int c) {int num =0;//有一条边为负数,无法构成三角形if(a<=0||b<=0||c<=0) {num=0;getReuslt(a,b,c,num);}else {if(((a+b)>c) && ((a+c)>b && (b+c)>a)) {if((a == b) &&(a == c)) {num = 3;getReuslt(a,b,c,num);}if((a==b && a!=c)||(a==c && a!=b)||(b==c && a!=b)) {num = 2;getReuslt(a,b,c,num);}if(a!=b && a!=c && b!=c) {num = 1;getReuslt(a,b,c,num);}}else {num=0;//三边长度无法构成三角形getReuslt(a,b,c,num);}}        }//输出判断结果public static void getReuslt(int a,int b,int c, int num){switch(num) {case 0:System.out.println(a+"  "+b+"  "+c+"  "+"不构成三角形");break;case 1:System.out.println(a+"  "+b+"  "+c+"  "+"一般三角形");break;case 2:System.out.println(a+"  "+b+"  "+c+"  "+"等腰三角形");break;case 3:System.out.println(a+"  "+b+"  "+c+"  "+"等边三角形");break;default:System.out.println(a+"  "+b+"  "+c+"  "+"数据异常~~~");break;}}public static void main(String[] args) {//nextInt 接收从键盘输入的int(数字)类型的数据,不是数字类型会报错//next 不会接收回车符,tab 或者空格键,在接收有效数据之前会忽略这些符号,若已经读取了有效数据,遇到这些符号会直接退出//nextLine 可以接收空格或者 tab 键,其输入以 enter 键结束boolean isTrue = true;while (isTrue) {Scanner input=new Scanner(System.in);try {System.out.print("请输入边长a,要求填写数字");int a=input.nextInt();System.out.print("请输入边长b,要求填写数字");int b=input.nextInt();System.out.print("请输入边长c,要求填写数字");int c=input.nextInt();isTrue = false;// 当输入的三个数都是整数的时候,才会执行到这条语句numangle(a, b, c);} catch (InputMismatchException e) {System.out.println("输入的数字有误,请重新输入!");input.nextLine();// 清空输入的数字}}//        numangle(5, 5, 5);
//
//        numangle(3, 4, 5);
//
//        numangle(3, 3, 4);
//
//        numangle(3, 4, 4);
//
//        numangle(3, 4, 3);
//
//        numangle(-1, 2, 3);
//
//        numangle(0, 1 ,2);
//
//        numangle(1, 2, 3);}
}

HTML实现

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><script type="text/javascript">function result(){var a = document.getElementById("a").value;var b = document.getElementById("b").value;	var c = document.getElementById("c").value;	var a1 = parseFloat(a);var b1= parseFloat(b);var c1 = parseFloat(c);//清空搜索框function clear_content(){document.getElementById("a").value="";document.getElementById("b").value="";document.getElementById("c").value="";}function isNotANumber(a,b,c) { //isNaN(inputData)不能判断空串或一个空格 //如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。 if (parseFloat(a).toString() == "NaN"||parseFloat(b).toString() == "NaN"||parseFloat(c).toString() == "NaN") { return false; } else { return true; } }					/*** num为0表示无法构成三角形* num为3表示为等边三角形* num为2表示为等腰三角形* num为1表示为一般三角形*///定义三角形三条边分别为a,b,cfunction numangle( a1, b1, c1){var num =0;//有一条边为负数或者为0,无法构成三角形if(a1<=0||b1<=0||c1<=0) {alert("边长不能为0,不能为负数,请检查后重新输入!");clear_content();document.getElementsByTagName('h1')[0].style.display = "none";  //隐藏h1}else {if(((a1+b1)>c1) && ((a1+c1)>b1 && (b1+c1)>a1)) {if((a1 == b1) &&(a1 == c1)) {num = 3;getReuslt(a1,b1,c1,num);}if((a1==b1 && a1!=c1)||(a1==c1 && a1!=b1)||(b1==c1 && a1!=b1)) {num = 2;getReuslt(a1,b1,c1,num);}if(a1!=b1 && a1!=c1 && b1!=c1) {num = 1;getReuslt(a1,b1,c1,num);}}else {num=0;//三边长度无法构成三角形getReuslt(a1,b1,c1,num);}} }//输出判断结果function getReuslt(a1,b1,c1,num){switch(num) {case 0://alert(a1+"  "+b1+"  "+c1+"  "+"不构成三角形");document.getElementById("show").innerHTML = "<h1>" +a1+"  "+b1+"  "+c1+"  "+"不构成三角形"+ "</h1>";clear_content();break;case 1://alert(a1+"  "+b1+"  "+c1+"  "+"一般三角形");document.getElementById("show").innerHTML = "<h1>" +a1+"  "+b1+"  "+c1+"  "+"一般三角形"+ "</h1>";clear_content();break;case 2://alert(a1+"  "+b1+"  "+c1+"  "+"等腰三角形");document.getElementById("show").innerHTML = "<h1>" +a1+"  "+b1+"  "+c1+"  "+"等腰三角形"+ "</h1>";clear_content();break;case 3://alert(a1+"  "+b1+"  "+c1+"  "+"等边三角形");document.getElementById("show").innerHTML = "<h1>" +a1+"  "+b1+"  "+c1+"  "+"等边三角形"+ "</h1>";clear_content();break;default:alert(a1+"  "+b1+"  "+c1+"  "+"数据异常~~~");clear_content();break;}}if(isNotANumber(a,b,c)){//执行判断代码numangle(a1,b1,c1);}else{alert("边长不能为字符串,请检查后重新输入!");document.getElementsByTagName('h1')[0].style.display = "none";  //隐藏h1clear_content();}}</script></head><body><p>分别输入边长a,b,c</p><input type="text" id="a" placeholder="边长a" /><input type="text" id="b" placeholder="边长b" /><input type="text" id="c" placeholder="边长c"/><button type="button" onclick="result()">判断</button>	<div id="show"></div></body>
</html>

二、某页面查询条件中有两个查询条件 :开始年月 结束年月 用来查询该时间段内的数据,该查询条件只能输入201501-201912该段时间内的查询年月,如果输入的年月在该段时间之外,则报输入 错误。
请使用等价类划分法及边界值法来设计测试用例。

要求一:需包含有效等价类及无效等价类划分表格 以及 测试用例表格
要求二: 代码实现(可以设计两个输入框 输入6位年月 后 判断日期是否在201501-201912之间)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title></title><script type="text/javascript">function changeTime(){function isNotANumber(years,months) { //isNaN(inputData)不能判断空串或一个空格 //如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。 if (parseFloat(years).toString() == "NaN"||parseFloat(months).toString() == "NaN") { return false; } else { return true; } }var years = document.getElementById("year").value;var months = document.getElementById("month").value;	var year = parseFloat(document.getElementById("year").value);var month = parseFloat(document.getElementById("month").value);if(isNotANumber){alert("请检查是否填写年月,年月数只能填写数字");}else{if(year >=2015&&year <=2019){if(month<=12&&month>=1)alert("日期在201501-201912之间");  elsealert("不存在该月数,请重新输入");}else{alert("日期不在201501-201912之间,请检查年月数格式是否填写正确");}	}		}</script></head><body><p>分别输入年月数:</p><form><input type="text" id="year" placeholder="" /><input type="text" id="month" placeholder="" /><button type="button" onclick="changeTime()">查询</button></form></body>
</html>

http://chatgpt.dhexx.cn/article/IXwnsZWV.shtml

相关文章

解决typora beta版本过期提示

现在beta版的typora打开都会有这个弹窗提示&#xff0c;想要把弹窗提示解决其实很简单&#xff0c;只要按照下面这个办法解决就可以了。 winr打开运行窗口&#xff0c;输入regedit&#xff0c;点确定打开注册表&#xff0c;依次展开计算机\HKEY_CURRENT_USER\SOFTWARE\Typora&…

Beta版本发布说明

2 Beta版本发布说明 2.1 列出这一版本的功能 Beta版本基于Alpha版本&#xff08;实现博主登录、发布博文、设置博客、搜索博文、点击标签显示相应博文、点击分类显示相应博文、留言功能&#xff09;上&#xff0c;主要新增以下几个功能&#xff1a; Message页面的信息推送功能、…

Elasticsearch5.0 beta版本安装错误

转载请注明出处&#xff1a;http://blog.csdn.net/gamer_gyt 博主微博&#xff1a;http://weibo.com/234654758 Github&#xff1a;https://github.com/thinkgamer 写在前边的话 elasticsearch的alpha版本早已经在github上了&#xff0c;但是beta版本却是最近才正式发布&#…

【AIGC】Photoshop AI Beta版本安装使用(永久免费)

AIGC 大爆发 Adobe近日宣布&#xff0c;Photoshop&#xff08;测试版&#xff09;应用程序发布了生成式AI绘图&#xff0c;这是世界上第一个创意和设计工作流程的副驾驶&#xff0c;为用户提供了一种神奇的新工作方式。生成式AI绘图由Adobe Firefly提供支持&#xff0c;Adobe的…

Beta版本软件使用说明

北京航空航天大学计算机学院 远航1617 小组 产品版本&#xff1a; Beta版本 产品名称&#xff1a;Crawling is going on 文档作者&#xff1a;杨帆 文档日期&#xff1a;2013/12/24 1. 引言 1.1 编写目的 编写本使用说明的目的是充分叙述本软件所能实现的功能及其…

Beta版本测试报告以及Beta版本发布说明

Beta版本测试报告 请根据团队项目中软件的需求文档、功能说明、系统设计和Beta阶段的计划安排&#xff0c;写出软件的测试过程和测试结果&#xff0c;并回答下述问题。 在测试过程中总共发现了多少bug&#xff1f;每个类别的bug分别为多少个&#xff1f;bug的分类&#xff1a; …

Beta版本测试报告

新发现的问题&战略调整&#xff1a; 这里的问题主要包含两种&#xff1a; 优化问题和不影响整体使用的bug&#xff0c;主要针对即时聊天以及UI交互部分&#xff1b;我们安排六位同学两两组队&#xff0c;在一周时间内分别对产品进行覆盖性的体验测试&#xff0c;提出了以…

微软发布 Windows 11 首个 Beta 版本

近日&#xff0c;微软向开发频道发布了 Windows 11 Insider Preview Build 22000.100&#xff0c;在没有发现重大问题之后&#xff0c;微软现在又向更稳定的 Beta 频道发布了同样的版本&#xff0c;这也是 Windows 11 首个 Beta 频道的预览版。微软建议那些想尝试 Windows 11 版…

软件版本号讲解:什么是Alpha, Beta, RC,Release

1. 软件版本阶段说明 Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主&#xff0c;通常只在软件开发者内部交流&#xff0c;一般而言&#xff0c;该版本软件的Bug较多&#xff0c;需要继续修改。Beta版: 该版本相对于α版已有了很大的改进&#xff0c;消除了严重的…

WhiteHole Base beta版本正式发布!

体验 当前版本为基础测试版本&#xff0c;测试效果可以前往演示视频查看&#xff1a;https://www.bilibili.com/video/BV18Y411D7sA/?spm_id_from333.999.0.0&vd_source641e71dfd1a118fb834c4a5d156688d5 在线体验地址为&#xff1a; http://47.100.239.95 数据将保存~ …

版本详解:Beta、Dev、Canary、Stable、Chromium等版本

以Edge浏览器为例&#xff0c;各个版本有着不同的区别&#xff0c;或者说各个版本是测试版&#xff1a; 以Edge浏览器来说&#xff1a; Canary(金丝雀)版本浏览器&#xff0c;命名金丝雀&#xff0c;以为着“版本金贵且易碎”&#xff0c;这意味着该版本会融入很多新功能或者说…

UDS学习笔记(三)——协议的理解

在理解了CAN总线之后&#xff0c;我们就需要学习UDS协议了。百度一下UDS协议&#xff0c;出现很多的两个标准是ISO14229&#xff0c;ISO15765。ISO14229就是我们说的UDS诊断协议了&#xff0c;那还有一个ISO15765又是什么呢&#xff1f;这么多的标准要把脑袋都搞大了。那我们就…

UDS协议中常见的NRC

UDS诊断协议中常见的NRC NRC&#xff1a;Negative Response Code&#xff0c;否定响应码

解读UDS协议中NRC以及NRC优先级

最近被新东方转型之举震撼,让自己震撼的不是销售业绩、不是俞敏洪再创业启航,震撼的是多读书是真的可以改变一个人的,多读的这些书不是应用工作的功利书,是能慰藉心灵的“闲书”。为使自己摆脱高知识低文化宿命,分享一段文字,开始今天的主题: “ 我当然很希望自己可以得…

【UDS】ISO15765-2之协议数据单元

文章目录 简介结构格式分类1.单帧SF2.首帧FF3.流控帧FC4.连续帧CF 总结 ->返回总目录<- 简介 网络层协议数据单元&#xff08;N_PDU&#xff0c;Network_Protocol Data Unit&#xff09;。可以理解成是一种规范协议。而汽车电子中通信的报文格式就是以PDU为传输单元&am…

聊聊诊断协议——UDS

文章目录 前言一、车载诊断功能是什么&#xff1f;二、诊断协议框架总结 前言 随着技术不断提高&#xff0c;驾驶员对车辆的要求也在不断提高&#xff0c;因此车身控制器的数量也在与日俱增。控制器实现的功能&#xff1a;安全功能&#xff08;防抱死系统等&#xff09;、驾驶…

UDS诊断基础——UDS网络层协议

汽车诊断简介 汽车诊断分类 按照连接方式分类可分为在线诊断、远程诊断&#xff1a; 在线诊断&#xff1a;诊断仪通过与汽车OBD(On Board Diagnostic)接口直接连接远程诊断&#xff1a;通过车载终端、云端服务、用户之间交互实现 按照通信方式分类可分为&#xff1a; 基于…

汽车诊断UDS通信协议总结

UDS通信过程 UDS&#xff08;Unified Diagnostic Services&#xff09;是一种用于汽车诊断的通信协议&#xff0c;它是基于CAN&#xff08;Controller Area Network&#xff09;总线的一种高层协议。 下面是UDS通信的基本流程&#xff1a; 建立诊断会话&#xff1a;通过CAN总…

UDS诊断系列之二 ISO14229协议介绍(上)

ISO14229系列&#xff0c;涵盖了UDS的服务定义以及在各车载总线上的一些特殊应用指导&#xff0c;以及各总线类型所对应的下层协议要求&#xff0c;下面就是该系列中各协议所对应的内容清单。 协议编号协议名称协议内容14229-1Application layerUDS的使用规则&#xff0c;服务…

基于UDS协议的Bootloader

参考上汽标准:SMTC 2 800 004 电控单元诊断开发的技术要求 一、概述 二、Bootloader要求 三、刷新流程 四、刷新示例 一、概述 Bootloader概述&#xff1a;使用UDS协议服务实现应用软件&#xff0c;应用数据&#xff08;包括网络配置数据和标定数据&#xff09;的更新。B…