软件测试的黑盒测试,输入年月日输出下一天,JavaScript版本

题目7:编写以下程序:该程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31和1900≤year≤2050),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上的往后一天的日期。

例如,输入为2004年11月30日,则该程序的输出为2004年12月1日。

要求:

(1)提供执行代码、执行方法和程序界面;包括分析过程及测试用例以及测试用例执行结果;(2)按照等价类划分法设计测试用例;

测试结果展示:

超出范围测试:

年超出范围

月超出范围

日超出范围 

 

 

闰年测试:

 

 

跨年测试:

 

 超出边界值测试:

 

 

 

代码如下:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>黑盒测试</title><style>.main {margin: 0 auto;padding: 20px;width: 500px;border-radius: 20px;box-shadow: 0 6px 6px hsl(0deg 0% 0% / 0.3);background-image: -moz-linear-gradient(135deg, rgb(189, 240, 255), rgb(218, 158, 255));background-image: -webkit-linear-gradient(135deg, rgb(189, 240, 255), rgb(218, 158, 255));background-image: linear-gradient(135deg, rgb(189, 240, 255), rgb(218, 158, 255));}input {width: 100px;height: 20px;border-radius: 5px;}button {width: 180px;height: 40px;border-radius: 8px;border: 0px;box-shadow: 0 6px 6px hsl(0deg 0% 0% / 0.2);font-weight: 600;}.p20 {padding: 20px 0;}</style>
</head><body><div class="main"><div class="p20"><span>请输入年</span><input id="year" type="number" placeholder="请输入年" min="1900" max="2050" value="1900"></div><div class="p20"><span>请输入月</span><input id="month" type="number" placeholder="请输入月" min="1" max="12" value="1"></div><div class="p20"><span>请输入日</span><input id="day" type="number" placeholder="请输入日" min="1" max="31" value="1"></div><div class="p20"><button onclick="change()">点击查看下一天结果</button></div><div class="p20"><span>显示结果:</span><span id="show"></span></div></div><script>function change() {let year = parseInt(document.getElementById("year").value)var month = parseInt(document.getElementById("month").value)var day = parseInt(document.getElementById("day").value)console.log(parseInt(month) === 1)var show = document.getElementById("show")switch (month) {case 1:case 3:case 5:case 7:case 8:case 10:if (day === 31) {month = month + 1;day = 1;} else {day = day + 1;}break;case 4:case 6:case 9:case 11:if (day === 30) {month = month + 1;day = 1;} else {day = day + 1;}break;case 2:if (day === 28) {if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {day = 29;} else {day = 1;month = month + 1;}} else if (day === 29) {if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {day = 1;month = month + 1;} else {console.log("输入的日期不合法");show.innerHTML = "日的值不在指定范围内"}} else if (day < 29) {day = day + 1;} else {console.log("输入的日期不合法");show.innerText = "日的值不在指定范围内"}break;case 12:if (day == 31) {day = 1;month = 1;year = year + 1;} else {day = day + 1;}default:break;}// 这里最后计算为日期,做判断,看是否符合预期if (year >= 1900 && year <= 2050 && month <= 12 && month >= 1 &&day <= 31 && day >= 1) {if (year % 100 != 0 && year % 4 == 0 || year % 400 == 0) {// 是闰年if (month == 2 && day >= 30) {// 在判断是闰年是否大于30天,是就提出日不在指定范围show.innerHTML = "日的值不在指定范围内"console.log("日的值不在指定范围内");} else {show.innerHTML = `下一天是${year}-${month}-${day}`console.log("下一天为" + year + "年" + month + "月" + day + "日");}} else if (month == 2 && day > 28) {show.innerHTML = "日的值不在指定范围内"console.log("日的值不在指定范围内");} else {show.innerHTML = `下一天是${year}-${month}-${day}`console.log("下一天为" + year + "年" + month + "月" + day + "日");}} else if (year < 1900 || year > 2050) {console.log("年的值不在指定范围内");show.innerHTML = "年的值不在指定范围内"} else if (month > 12 || month < 1) {show.innerHTML = "月的值不在指定范围内"console.log("⽉的值不在指定范围内");} else if (day > 31 || day < 1) {show.innerHTML = "日的值不在指定范围内"console.log("日的值不在指定范围内");}}</script>
</body></html>

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

仅需要26个字节的Hello World程序(可能是最小的Hello World了)

前言 大多数初学者编写的第一个程序都是输出一段文字&#xff0c;最常见的是“Hello World&#xff01;”。大家在编写完成之后&#xff0c;除了检查语法和逻辑之外&#xff0c;可能忽略了另一个方面的问题&#xff0c;那就是输出文件的大小。以C语言为例&#xff0c;我们编写…

ChatGPT:3. 使用OpenAI创建自己的AI网站:2. 使用 flask web框架快速搭建网站主体

使用OpenAI创建自己的AI网站 如果你还是一个OpenAI的小白&#xff0c;有OpenAI的账号&#xff0c;但想调用OpenAI的API搞一些有意思的事&#xff0c;那么这一系列的教程将仔细的为你讲解如何使用OpenAI的API制作属于自己的AI网站。博主只能利用下班时间更新&#xff0c;进度慢…

New Bing 正式向所有用户开放,无需申请即可体验

文章原文&#xff1a;New Bing 正式向所有用户开放&#xff0c;无需申请即可体验 - WINISLE 从今天起&#xff0c; New Bing 已经向所有用户开放&#xff01; 尽管&#xff0c;微软已经全面放开了 New Bing 体验资格&#xff0c;但由于中国地区的一些合规问题&#xff0c;国内…

国内使用必应的正确打开方式

捣腾了两天终于体验上了bing&#xff0c;目前认为是最稳定的&#xff0c;下面是教程 前提&#xff0c;使用魔法&#xff0c;否则会跳转至国内地址正常使用microsoft edge浏览器即可&#xff0c;看其他人说必须下载最新版&#xff0c;或者下载dev版本。普通版本即可。浏览器访问…

人工智能和剪映配合提升微课效率

今天我们介绍如何让人工智能帮助我们制作微课或者批量生成短视频。 工具&#xff1a; 人工智能软件&#xff08;ChatGPT、文心一言、Claude等&#xff09; 剪映专业版 1.确定主体和生成内容 我们需要想好视频主题&#xff0c;并让人工智能帮助我们生成内容。如图&#xff0c;这…

ideal使用chatGPT

先在浏览器登录OPAI&#xff0c;在点击第二个连接获取token&#xff0c;把页面上的JSON字符串复制到ideal中

篡位者OpenAI偷家谷歌,CEO怒发Bard调教指南:别慌,咱向来是弯道超车

视学算法报道 编辑&#xff1a;编辑部 【导读】谷歌被唱衰多日&#xff0c;劈柴终于出手了&#xff01;他发备忘录鼓励员工&#xff1a;别怕&#xff0c;「迟到也能赢」是咱们公司老传统了。 谷歌CEO劈柴反击了&#xff01;他告诉员工&#xff1a;别慌&#xff0c;咱们迟到也…

新浪实时股票数据接口http://hq.sinajs.cn/list=code

股票数据的获取目前有如下两种方法可以获取&#xff1a; 1. http/javascript接口取数据 2. web-service接口 1.http/javascript接口取数据 1.1Sina股票数据接口 以大秦铁路&#xff08;股票代码&#xff1a;601006&#xff09;为例&#xff0c;如果要获取它的最新行情&#xff…

友宝在线在港交所上市申请“失效”:连续两年亏损,王滨为大股东

近日&#xff0c;贝多财经从港交所披露易了解到&#xff0c;Beijing UBOX Online Technology Corp.&#xff08;北京友宝在线科技股份有限公司&#xff0c;下称“友宝”或“友宝在线”&#xff09;的上市申请材料已经失效&#xff0c;目前已经无法查看。 其中&#xff0c;招股书…

尚医通-医院详情功能(二十七)

目录&#xff1a; &#xff08;1&#xff09;前台用户系统-医院详请-情接口开发 &#xff08;2&#xff09;前台用户系统-技术点-nuxt路由 &#xff08;3&#xff09;前台用户系统-医院详情-前端整合 &#xff08;1&#xff09;前台用户系统-医院详-情接口开发 现在做在页面…

2020年全球及中国分子影像系统(PET/CT及PET/MR)行业现状及竞争格局分析,国产龙头在高端产品领域走在国际前沿「图」

一、分子影像系统综述 分子影像系统&#xff08;包括PET/CT及PET/MR&#xff09;通过显示组织水平、细胞和亚细胞水平的特定分子&#xff0c;反映活体状态下分子水平变化&#xff0c;对生物学行为在影像方面进行定性和定量研究。分子成像技术能够探查疾病过程中细胞和分子水平…

派尔特医疗在港交所招股书二次“失效”,上市计划实质性延迟

2022年6月30日&#xff0c;贝多财经从港交所披露易了解到&#xff0c;北京派尔特医疗科技股份有限公司&#xff08;下称“派尔特医疗”&#xff09;的招股书“失效”。事实上&#xff0c;这已经是派尔特医疗的上市申请材料第二次“失效”。 在此之前&#xff0c;派尔特医疗曾于…

尚医通 (二十六) --------- 科室接口开发

目录 一、上传科室接口1. 添加科室基础类2. 上传科室 二、查询科室接口三、删除科室接口 一、上传科室接口 1. 添加科室基础类 A、添加 model 说明&#xff1a;由于实体对象没有逻辑&#xff0c;我们已经统一导入 com.fancy.yygh.model.hosp.Department B、添加 repository…

医疗企业GE HealthCare纳斯达克上市:市值275亿美元

雷递网 雷建平 1月5日 医疗企业GE HealthCare&#xff08;股票代码为&#xff1a;“GEHC”&#xff09;昨日在美国纳斯达克上市&#xff0c;发行价为56美元。 GE HealthCare开盘价为54.13美元&#xff0c;较发行价下跌3.34%&#xff1b;收盘价为60.49美元&#xff0c;较发行价上…

python查询腾讯股票api实时行情数据

import urllib.requestdef httpGet(url):requrllib.request.Request(url) contenturllib.request.urlopen(req).read()return contentcontent httpGet("http://qt.gtimg.cn/qsh600213"); data str(content).split(~); print(f当前价格:{data[3]}); print(f昨收:…

高视医疗在港交所招股:IPO募资要用于贷款,高铁塔为控股股东

11月30日&#xff0c;高视医疗&#xff08;HK:02407&#xff09;在港交所发布公告&#xff0c;拟全球发售1306.86万股股份&#xff0c;其中香港发售股份130.7万股&#xff0c;国际发售股份1176.16万股&#xff0c;另有15%超额配股权&#xff0c;于2022年11月30日至12月5日招股&…

高视医疗冲刺香港上市:家族特色明显,奥博资本、华平投资等持股

11月28日&#xff0c;高视医疗&#xff08;Gaush Meditech Ltd&#xff09;在香港递交招股书&#xff0c;准备在港交所主板上市&#xff0c;摩根士丹利、海通国际为联席保荐人。 公开信息显示&#xff0c;高视医疗成立于1998年&#xff0c;专注于服务眼科医疗事业&#xff0c;…

东软医疗再次赴港递交上市申请,共安装超过4.1万台医学影像设备

据港交所12月1日披露&#xff0c;东软医疗系统股份有限公司&#xff08;下称“东软医疗”&#xff09;向港交所主板递交上市申请&#xff0c;中金公司与高盛为其联席保荐人。据贝多财经了解&#xff0c;这已经是东软医疗第二次向港交所递交招股书。 早前&#xff0c;东软医疗曾…

华康医疗深交所IPO:市值49亿 为湖北今年首家上市企业

雷递网 雷建平 1月28日报道 武汉华康世纪医疗股份有限公司&#xff08;简称&#xff1a;“华康医疗”&#xff0c;股票代码为&#xff1a;“证券代码&#xff1a;301235”&#xff09;今日在深交所创业板上市。 华康医疗本次公开发行2640万股&#xff0c;发行价为39.30元&#…

高视医疗在港交所上市:IPO首日跌破发行价,高铁塔为控股股东

12月12日&#xff0c;高视医疗&#xff08;HK:02407&#xff09;在港交所上市。本次上市&#xff0c;高视医疗的发行价确定为每股发售股份51.40港元。据此计算&#xff0c;高视医疗预计募资约6.72亿港元。而招股书则显示&#xff0c;该公司预计募资净额约为2.83亿港元&#xff…