当前位置: 首页 > 编程日记 > 正文

第5次作业+105032014166+张珍珍

测试链接:http://www.cnblogs.com/wxcclub/p/6792634.html

一、被测项目界面。

二、测试用例设计表

1.等价类

等价类划分法

输入及外部条件

有效等价类

等价类编号

无效等价类

等价类编号

日期类型

数字

1

非数字

8

1912≤year≤2050

2

year<1912

9

year>2050

10

1≤month≤12

3

month<1

11

month>12

12

非闰年2月

1<=day<=28

4

day<1

13

day>28

14

闰年2月

1<=day<=29

5

day<1

15

day>29

16

小月(30天)

1<=day<=30

6

day<1

17

day>30

18

大月(31天)

1<=day<=31

7

day<1

19

day>31

20

有效等价类测试用例

测试结果

测试用例

覆盖等价类编号

输入

期望输出

实际输出

year

month

day

下一天

上一天

星期

下一天

上一天

星期

1

1234

2001

2

15

2001年2月16日

2001年2月14日

星期四

2001年2月16日

2001年2月14日

星期四

2

1235

2008

2

16

2008年2月17日

2008年2月15日

星期六

2008年2月17日

2008年2月15日

星期六

3

1236

2017

4

17

2017年4月18日

2017年4月16日

星期一

2017年4月18日

2017年4月16日

星期一

4

1237

2017

5

18

2017年5月19日

2017年5月17日

星期四

2017年5月19日

2017年5月17日

星期四

 

无效等价类测试用例

测试结果

测试用例

覆盖等价类编号

输入

期望输出

实际输出

year

month

day

下一天

上一天

星期几

下一天

上一天

星期几

1

8

a

b

12.2

月份超出范围

程序异常

×

2

9,3,7

1910

5

15

年份超出范围

1910年5月16日

1910年5月14日

null

×

3

10,3,7

2052

5

15

年份超出范围

2052年5月16日

2052年5月14日

null

×

4

2,11,7

2017

0

5

月份超出范围

2017年0月6日

2017年0月4日

null

×

5

2,12,7

2017

13

1

月份超出范围

2017年13月2日

2017年12月31日

null

×

6

2,3,13

2017

2

0

日期超出范围

2017年2月1日

2017年2月-1日

null

×

7

2,3,14

2017

2

29

输入错误(自定义错误)

2017年2月30日

2017年2月28日

星期三

×

8

2,3,15

2008

2

0

日期超出范围

2008年2月1日

2008年2月-1日

null

×

9

2,3,16

2008

2

30

输入错误(自定义错误)

2008年2月31日

2008年2月29日

null

×

10

2,3,17

2017

5

0

日期超出范围

2017年5月1日

2017年5月-1日

星期三

×

11

2,3,18

2017

4

31

输入错误(自定义错误)

2017年4月32日

2017年4月30日

星期一

×

12

2,3,19

2017

5

0

日期超出范围

2017年5月1日

2017年5月-1日

星期一

×

13

2,3,20

2017

5

32

日期超出范围

2017年5月33日

2017年5月31日

星期一

×

测试结果:不通过!

2.边界值

测试用例

输入保留

输入

期望输出

实际输出

测试结果

year

month

day

下一天

上一天

星期

下一天

上一天

星期

1

1911

1

2

年份超出范围

1911年1月3日

1911年1月1日

null

×

2

1912

1

2

1912年1月3日

1912年1月1日

星期二

1912年1月3日

1912年1月1日

null

×

3

1913

1

2

1913年1月3日

1913年1月1日

星期三

1913年1月3日

1913年1月1日

null

×

4

2000

1

2

2000年1月3日

2000年1月1日

星期日

2000年1月3日

2000年1月1日

星期日

5

2049

1

2

2049年1月3日

2049年1月1日

星期六

2049年1月3日

2049年1月1日

星期六

6

2050

1

2

2050年1月3日

2050年1月1日

星期日

2050年1月3日

2050年1月1日

星期日

7

2051

1

2

年份超出范围

2051年1月3日

2051年1月1日

null

×

8

2017

0

2

月份超出范围

2017年0月3日

2017年0月1日

星期日

×

9

2017

1

2

2017年1月3日

2017年1月1日

星期一

2017年1月3日

2017年1月1日

星期一

10

2017

2

2

2017年2月3日

2017年2月1日

星期四

2017年2月3日

2017年2月1日

星期四

11

2017

11

2

2017年11月3日

2017年11月1日

星期四

2017年11月3日

2017年11月1日

星期四

12

2017

12

2

2017年12月3日

2017年12月1日

星期六

2017年12月3日

2017年12月1日

星期六

13

2017

13

2

月份超出范围

2017年13月3日

2017年13月1日

星期日

×

14

2017

1

0

日期超出范围

2017年1月1日

2017年1月-1日

星期六

×

15

2017

1

1

2017年1月2日

2016年12月31日

星期日

2017年1月2日

2016年12月31日

星期日

16

2017

1

2

2017年1月3日

2017年1月1日

星期一

2017年1月3日

2017年1月1日

星期一

17

2017

1

30

2017年1月31日

2017年1月29日

星期一

2017年1月31日

2017年1月29日

星期一

18

2017

1

31

2017年2月1日

2017年1月30日

星期二

2017年2月1日

2017年1月30日

星期二

19

2017

1

32

日期超出范围

2017年1月33日

2017年1月31日

星期三

×

测试结果:不通过!

 

3.决策表

决策表

条件

1

2

3

4

5

6

7

1912≤ year ≤2050

-

-

-

-

-

F

T

1≤ month ≤12

F

T

T

T

T

T

T

非闰年2月1<=day<=28

-

F

-

-

-

T

T

闰年2月1<=day<=29

-

-

F

-

-

T

T

小月1<=day<=30

-

-

F

-

T

T

大月1<=day<=31

-

-

-

-

F

T

T

动作

月份超出范围

日期超出范围

年份超出范围

计算上/下一天、星期

 

决策表测试用例

测试结果

测试用例

覆盖等价类编号

输入

期望输出

实际输出

year

month

day

下一天

上一天

星期

下一天

上一天

星期

1

1

2017

0

5

月份超出范围

2017年0月6日

2017年0月4日

null

×

2

2

2017

2

29

日期超出范围

2017年2月30日

2017年2月28日

星期三

×

3

3

2008

2

30

日期超出范围

2008年2月31日

2008年2月29日

null

×

4

4

2017

4

31

日期超出范围

2017年4月32日

2017年4月30日

星期一

×

5

5

2017

5

32

日期超出范围

2017年5月33日

2017年5月31日

星期一

×

6

6

1910

5

15

年份超出范围

1910年5月16日

1910年5月14日

null

×

7

7

2017

5

18

2017年5月19日

2017年5月17日

星期四

2017年5月19日

2017年5月17日

星期四

测试结果:不通过!

三、测试结论

对于正确输入除了对于边界的1912,1913没有给他计算星期其它测试基本通过,但是没有对不正确输入进行处理,不正确输入包括题目要求和常识要求。

四、给开发同学的建议

1.将输入框内容放到字符串变量中,利用正则表达式判断输入是否为数字

2.限制题目要求的条件:  条件1  1≤ month ≤12  否则输出,月份超出范围

条件2  1≤ day ≤31 否则输出,日期超出范围

条件3  1912≤ year ≤2050  否则输出:年份超出范围

3.注意闰年与非闰年2月,和大小月相应的日期,设置错误提示

转载于:https://www.cnblogs.com/zhen-firstblog/p/6838678.html

相关文章:

C++ new

C中利用new操作符在堆区开辟数据 堆区开辟的数据&#xff0c;由程序员手动开辟&#xff0c;手动释放&#xff0c;释放利用操作符 delete 语法&#xff1a;new 数据类型 利用new创建的数据&#xff0c;会返回该数据对应的类型的指针 开辟单个内存 语法&#xff1a;new 数据类型…

漫画:禅道程序员的一天

更多精彩欢迎关注《海边的程序员》 转载于:https://www.cnblogs.com/xiaobai007/p/9797462.html

HA01-集群介绍

目录 一、宏观理解集群 二、微观理解集群 三、安装高可用集群环境 3.1、实验环境简介 3.2、安装集群软件并配置集群 3.3、用命令行创建集群 一、宏观理解集群 集群中的一个服务器称为一个节点node。 集群资源以mysql为例一般有&#xff1a;vip&#xff08;浮动IP&#…

Python并行编程(八):with语法

1、基本概念 当有两个相关的操作需要在一部分代码块前后分别执行的时候&#xff0c;可以使用with语法自动完成。同时&#xff0c;使用with语法可以在特定的地方分配和释放资源&#xff0c;因此&#xff0c;with语法也叫作"上下文管理器"。在threading模快中&#xff…

“抽象类”的定义及其与“普通类”的区别

我们都知道在多态中子类要重写父类的方法&#xff0c;执行时也执行子类中的方法&#xff0c;这就显得父类中的方法体有点子虚乌有了&#xff0c; 也就是说可以直接省略方法体&#xff0c;而只定义一个方法就可以了。因此&#xff0c;我们称一个没有方法体的方法为抽象方法&…

refreshcontrol 实现下拉刷新的功能

该组件实现下拉刷新的功能。不过该组件是用在ScrollView的内部的&#xff0c;为ScrollView添加一个下拉刷新的功能。当ScrollView的垂直方向的偏移量scrollY:0的时候&#xff0c;手指往下拖拽ScrollView就会触发onRefresh事件方法。 相关的属性&#xff1a; onRefresh functio…

C++二维数组名与数组指针的思考

二维数组名和数组指针可以当做一个东西用&#xff0c;但两者之间的含义是不同的。 二维数组名是一个指向数组中所有元素的指针&#xff0c;而数组指针是一个行指针。体现在sizeof()上的不同。 #include <iostream> using namespace std; int main() {// a是一个二维数组…

HA03-fence设置

目录 一、fence作用 二、在集群里添加fence 2.1、fence和node之间的通信 2.2、配置fence 2.3、node上安装fence代理 2.4、在集群中添加fence 2.5、fence动作 一、fence作用 HA01理解集群那篇文章中讲过&#xff0c;当集群中某个node出现故障&#xff0c;各个node争抢集…

springboot整合Quartz实现动态配置定时任务

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请注明出处。 https://blog.csdn.net/liuchuanhong1/article/details/60873295前言 在我们日常的开发中&#xff0c;很多时候&#xff0c;定时任务都不是写死的&#xff0c;而是写到数据库中&#xff0c;从而实现定时任…

SQLserver 常用函数适用方法(转载)

SQL Server 常用函数使用方法(持续更新) 之前就想要把一些 SQL 的常用函数记录下来&#xff0c;不过一直没有实行。。。嘿嘿。。。 直到今天用到substring()这个函数&#xff0c;C# 里面这个方法起始值是 0&#xff0c;而 SQL 里面起始值是 1。傻傻分不清楚。。。 这篇博客作为…

“接口”的定义及其与“抽象类”的区别

我们知道一个有抽象方法的类是抽象类&#xff0c;而当一个类中全是抽象方法时&#xff0c;就可以定义为接口&#xff08;interface&#xff09; 接口命名通常以“I”开头&#xff1b;接口中的方法默认有public abstract&#xff08;所以可以省略&#xff09;&#xff1b;接口中…

Linux13-计划任务crontab

目录 一、用户计划任务 1.1、定义用户计划任务的命令crontab 1.2、作业格式 二、系统计划任务cron 三、管理临时文件 3.1、systemd-tmpfiles命令与配置文件 3.2、用法举例 一、用户计划任务 1.1、定义用户计划任务的命令crontab Linux提供了针对周期性作业的crond守护…

Java线程安全 关于原子性与volatile的试验

1. 变量递增试验 1 static /*volatile*/ int shared0;//volatile也无法保证操作的原子性2 static synchronized int incrShared(){//不加synchronized的话&#xff0c;shared最终结果值小于预期3 return shared;4 }5 public static void testIncrShare…

Python学习 day01打卡

1.Python : 是一门解释型 弱类型 高级开发编程语言. 2.第一个Python程序的编写: print ("hell,world") 3.变量:把程序运行过程中的值储存起来,方便后面的程序调用. 4.变量的命名要求: 1,只能是数字或字母或下划线组成; 2,不能是数字开头,也不能全是数字; 3,不能是Pyt…

Window10安装pycocotools

之前在linux系统下安装pycocotools时非常简单&#xff0c;只需&#xff1a; pip install pycocotools 如果在windows下通过以上指令安装会报错&#xff0c;网上查询后都说需要安装C编译器或者VS环境&#xff0c;等等&#xff0c;其实没必要那么麻烦&#xff0c;直接通过一下指令…

有名内部类 匿名内部类

内部类&#xff0c;从名字上就可以看出&#xff0c;是定义在外部类里的类&#xff0c;可以更加详细地说明某个事物的特征&#xff0c;举个例子&#xff0c;就像一个人&#xff08;把他定义为一个类[外部类]&#xff09;&#xff0c;这个人有大脑、肝脏、心脏等器官&#xff0c;…

Linux14-进程的优先级nice

目录 一、进程优先级和nice的概念 二、显示nice级别 三、更改nice级别 一、进程优先级和nice的概念 CPU管理进程的是按照时间片的方式来划分CPU的资源。CPU可以把1s划分成若干份&#xff0c;轮询时间片。通过设置进程的优先级&#xff0c;让某些重要的进程优先并且长时间获…

ConcurrentHashMap实现原理及源码分析

ConcurrentHashMap是Java并发包中提供的一个线程安全且高效的HashMap实现&#xff08;若对HashMap的实现原理还不甚了解&#xff0c;可参考我的另一篇文章HashMap实现原理及源码分析&#xff09;&#xff0c;ConcurrentHashMap在并发编程的场景中使用频率非常之高&#xff0c;本…

Gulp的简单使用

我比较喜欢使用Gulp&#xff0c;因为简单好用&#xff01; 今天的任务是&#xff1a;使用Gulp来压缩 jQuery源码&#xff0c;各输出一个压缩的和未压缩的版本 第一步&#xff1a;安装 cnpm install gulp --save-dev cnpm install gulp-rename gulp-uglify --save-dev 第二步&…

Mask_RCNN安装与踩过的坑

一、Mask_RCNN下载 https://www.bilibili.com/video/BV1M7411x7is?t629&p5 按照上述教程的话&#xff0c;安装的是ballon例子的Mask_RCNN。这个理解的话&#xff0c;修改Mask_RCNN也就很简单了。 1.2 更新驱动 强烈建议更新驱动&#xff0c;因为以后如果装pytorch的话&…

Lambda表达式的运用(详尽版)

Lambda表达式是Java JDK8发布的最新特性&#xff0c;它极大地简化了定义匿名内部类时要写的代码&#xff0c;使代码变得更加简洁紧凑。 我们知道定义匿名内部类时要紧跟创建对象&#xff0c;接着要实现接口或重写父类中的抽象方法&#xff0c;例如&#xff1a; public interfa…

Linux15-SELinux

目录 一、查看和配置SELinux生效 二、SELinux上下文 2.1、查看SELinux上下文 2.2、semanagerestorecon命令更改SELinux上下文 三、SELinux布尔值 四、SELinux故障排除 Security Enhanced Linux&#xff08;SELinux&#xff09;是一个额外的系统安全层&#xff0c;是一种强…

Java学习(三)JSP学习1

一、 理解JSP技术 JSP全名为Java Server Pages&#xff0c;中文名叫java服务器页面&#xff0c;其根本是一个简化的Servlet设计&#xff0c;它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术&#xff0c;它是在传统的网…

通过Java代码实现图片的放大和缩小

本文介绍的例子在Android安卓手机上测试通过。 先看看效果吧。可以看到这个开发好的安卓应用有三个按钮&#xff1a;Zoom In缩小图片&#xff0c;Zoom Out放大图片和Save保存。 初始页面&#xff1a; 可以在左边边框自由移动图片&#xff0c;图片下面的调试界面debug screen会显…

ProxyError: Conda cannot proceed due to an error in your proxy configuration

右键网络---->属性---->左下角的Internet选项---->链接---->局域网设置 将所以的对号去掉

Java访问权限(详尽版)

Java中的访问权限一共有四种&#xff1a;public 、protected 、 默认的 、private&#xff08;访问范围由大到小&#xff09;&#xff1a; 先说public和private这两种&#xff0c;因为这两种最容易理解&#xff1a; public&#xff1a;在整个项目中都可以被访问&#xff0c;无…

suse11sp4配置vnc显示gnome

目录 一、suse11sp4配置vnc默认显示xterm 二、suse11sp4配置vnc显示gnome桌面 一、suse11sp4配置vnc默认显示xterm 今天给一台比较老的服务器配置vnc服务&#xff0c;操作系统为suse11sp4。该服务器已经安装了gnome界面和vnc。vncpasswd设置密码&#xff0c;vncserver :1设置…

ubuntu18.04安装CUDA10.0

1、更新驱动 对于CUDA10.0&#xff0c;要求驱动版本大于410.48&#xff0c;因此首先要更新驱动 ubuntu-drivers devices&#xff08;查看所有驱动&#xff09; sudo ubuntu-drivers autoinstall&#xff08;自动安装最适合的驱动&#xff09; 查看驱动版本 nvidia-smi 2、下载…

运行时异常 检查时异常

Throwable是Java程序中所有异常对象的根基类&#xff0c;而Throwable是从Object类直接继承来的&#xff0c; Throwable可分为error&#xff08;错误&#xff09;和 Exception&#xff08;异常&#xff09;。error表示的是JDK出了问题&#xff0c;与写的代码无关&#xff1b;而E…

Atitit. Attilax企业框架 AEF的发展里程总结

Atitit. Attilax企业框架 AEF的发展里程总结 1. Attilax企业框架and框架发展思想 1 2. AEF框架 2 2.1. 多语言支持&#xff0c;涉及的语言 java ,c# php python js c 2 2.2. 业务模块支持 2 2.3. 技术组件支持 2 2.4. 平台化支持 2 2.5. 插件化支持 2 3. AEF框架发展里程 3 3.1…