第3次作业+105032014040

1.测试帖链接:

http://www.cnblogs.com/xwhisper/p/6629297.html

2.修正流程图:

3.测试用例设计:

因用例过多,以下只列举部分。

覆盖方式 用例号 输入 期待结果
语句覆盖 1 2051  3  21 年份超出范围
语句覆盖 2 2050  13  21 月份超出范围
语句覆盖 3 2050  3  32 日期超出范围
语句覆盖 4 2050  2  30 日期超出范围
语句覆盖 5 2050  2  28 2050  3  1
语句覆盖 6 2050  4  30 2050  5  1
语句覆盖 7 2050  12  31 2051  1  1
判定覆盖 8 1914  4  21 年份超出范围
判定覆盖 9 1915  4  21 1915  4  22
判定覆盖 10 1915  13  21 月份超出范围
判定覆盖 11 1915  12  21 1915  12  22
判定覆盖 12 1915  2  32 日期超出范围
判定覆盖 13 1915  2  30 日期超出范围
判定覆盖 14 2000  2  29 2000  3  1
判定覆盖 15 2000  3  31 2000  4  1
判定覆盖 16 2000  12  31 2001  1  1
判定覆盖 17 2000  4  21 2000  4  22
判定/条件覆盖 18 1999  3  31 2000  4  1
判定/条件覆盖 19 2000  2  28 2000  2  29
判定/条件覆盖 20 2000  2  29 2000  3  1
判定/条件覆盖 21 2000  2  30 日期超出范围
判定/条件覆盖 22 1999  12  31 2000  1  1
判定/条件覆盖 23 1999  12  32 日期超出范围
组合覆盖 24 2051  1  1 年份超出范围
组合覆盖 25 2050  12  31 2051  1  1
组合覆盖 26 1914  12  31 年份超出范围
组合覆盖 27 1915  1  1 1915  1  2
组合覆盖 28 1915  13  1 月份超出范围
组合覆盖 29 1915  4  31 日期超出范围
组合覆盖 30 2000  4  30 2000  5  1

4.单元测试框架:

Junit测试代码

 1 import static org.junit.Assert.*;
 2 import org.junit.Test;
 3
 4 public class NextDateTestTest {
 5
 6     @Test
 7     //判断输入格式是否正确
 8     public void testCheckDate() {
 9         assertFalse(NextDateTest.checkDate(2051, 3, 21));
10         assertFalse(NextDateTest.checkDate(2050, 13, 21));
11         assertFalse(NextDateTest.checkDate(2050, 3, 32));
12         assertFalse(NextDateTest.checkDate(2050, 2, 30));
13         assertTrue(NextDateTest.checkDate(2050, 12, 31));
14         assertTrue(NextDateTest.checkDate(2050, 2, 28));
15         assertTrue(NextDateTest.checkDate(2050, 4, 30));
16         assertFalse(NextDateTest.checkDate(1914, 4, 21));
17         assertFalse(NextDateTest.checkDate(1915, 13, 21));
18         assertTrue(NextDateTest.checkDate(1915, 4, 21));
19         assertTrue(NextDateTest.checkDate(1915, 12, 21));
20         assertFalse(NextDateTest.checkDate(1915, 2, 32));
21         assertFalse(NextDateTest.checkDate(1915, 2, 30));
22         assertTrue(NextDateTest.checkDate(2000, 2, 29));
23         assertTrue(NextDateTest.checkDate(2000, 3, 31));
24         assertTrue(NextDateTest.checkDate(2000, 12, 31));
25         assertTrue(NextDateTest.checkDate(2000, 4, 21));
26         assertTrue(NextDateTest.checkDate(1999, 3, 31));
27         assertTrue(NextDateTest.checkDate(2000, 2, 28));
28         assertTrue(NextDateTest.checkDate(2000, 2, 29));
29         assertFalse(NextDateTest.checkDate(2000, 2, 30));
30         assertTrue(NextDateTest.checkDate(1999, 12, 31));
31         assertFalse(NextDateTest.checkDate(1999, 12, 32));
32         assertFalse(NextDateTest.checkDate(2051, 1, 1));
33         assertTrue(NextDateTest.checkDate(2050, 12, 31));
34         assertFalse(NextDateTest.checkDate(1914, 12, 31));
35         assertTrue(NextDateTest.checkDate(1915, 1, 1));
36         assertFalse(NextDateTest.checkDate(1915, 13, 1));
37         assertFalse(NextDateTest.checkDate(1915, 4, 31));
38         assertTrue(NextDateTest.checkDate(2000, 4, 30));
39     }
40
41
42     @Test
43     //输入格式正确的数据进行日期的计算,所以以下均为上面checkData方法过滤后的正确数据
44     public void testNextDate() {
45         assertEquals("NextDate:2051年1月1日",NextDateTest.nextDate(2050, 12, 31));
46         assertEquals("NextDate:2050年3月1日",NextDateTest.nextDate(2050, 2, 28));
47         assertEquals("NextDate:2050年5月1日",NextDateTest.nextDate(2050, 4, 30));
48         assertEquals("NextDate:1915年4月22日",NextDateTest.nextDate(1915, 4, 21));
49         assertEquals("NextDate:1915年12月22日",NextDateTest.nextDate(1915, 12, 21));
50         assertEquals("NextDate:2000年3月1日",NextDateTest.nextDate(2000, 2, 29));
51         assertEquals("NextDate:2000年4月1日",NextDateTest.nextDate(2000, 3, 31));
52         assertEquals("NextDate:2001年1月1日",NextDateTest.nextDate(2000, 12, 31));
53         assertEquals("NextDate:2000年4月22日",NextDateTest.nextDate(2000, 4, 21));
54         assertEquals("NextDate:1999年4月1日",NextDateTest.nextDate(1999, 3, 31));
55         assertEquals("NextDate:2000年2月29日",NextDateTest.nextDate(2000, 2, 28));
56         assertEquals("NextDate:2000年3月1日",NextDateTest.nextDate(2000, 2, 29));
57         assertEquals("NextDate:2000年1月1日",NextDateTest.nextDate(1999, 12, 31));
58         assertEquals("NextDate:2051年1月1日",NextDateTest.nextDate(2050, 12, 31));
59         assertEquals("NextDate:1915年1月2日",NextDateTest.nextDate(1915, 1, 1));
60         assertEquals("NextDate:2000年5月1日",NextDateTest.nextDate(2000, 4, 30));
61     }
62
63 }

5.测试结果:

测试结果表明以上的用例均通过测试,程序未发现错误。

6.测试小结:

   若条件很多,则需要花费很多时间对用例进行编写。所以还要继续熟悉逻辑覆盖的各个要点。

时间: 2025-01-16 13:47:14

第3次作业+105032014040的相关文章

实验三+040+薛龚

被测代码地址:http://www.cnblogs.com/tangyangbin/p/6797303.html 等价类.边界值.决策表方法测试用例设计设计见 第5次作业+105032014040+薛龚

软件工程——第二次作业(2)

施工中-- 作业要求:https://edu.cnblogs.com/campus/nenu/SWE2017FALL/homework/922 项目要求是编写出一个拥有"词频统计"功能的小程序,作为一个小程序,若只是实现基本的词频统计功能,其实并不是很难.但是,如果再附加一些需求和功能的话就会让我感到有点难度了,更何况为了以后课程的要求,我选择使用Visual Studio 2015编译器和C#语言这两种从未学过的工具,在4-5天之内共10个小时左右(预计,但是实际上确实是花了更多时间

2017282110285--第一次个人作业

第一部分:结缘计算机 1.你为什么选择计算机专业?你认为你的条件如何?和这些博主比呢? 其实我从高一就开始接触编程了,在高中我搞了两年的算法竞赛,算是有一点算法基础(捂脸,其实实力弱得一批),也是在那个时候开始爱上了编程.因此在高考结束后就报了信息安全专业,哪怕那时候父母不是很支持我报跟计算机相关的专业.我认为我的起步条件会比一般的零基础的萌新稍微好那么一点点,但也就仅限于此了,毕竟有天赋的人比比皆是,他们只是缺少一个契机罢了,入门之后分分钟起飞的也是一大把,更不用说那些大牛博主了,他们的程序员

python学习:程序控制结构·作业20141219

Python学习:程序控制结构 20141219 编程环境: windows 7 x64 python 2.7.6 题目: 1 编写程序,完成下列题目(1分) 题目内容: 如果列出10以内自然数中3或5的倍数,则包括3,5,6,9.那么这些数字的和为23.要求计算得出任意正整数n以内中3或5的倍数的自然数之和. 输入格式: 一个正整数n. 输出格式: n以内中3或5的倍数的自然数之和. 输入样例: 10 输出样例: 23 时间限制:500ms内存限制:32000kb n = int(raw_in

团队编程项目作业

团队名称: 简单 队长 学号:2015035107224 姓名:张志鹏 成员 学号:2015035107071 姓名:邱阳阳 学号:2015035107044 姓名:刘孝东 学号:2015035107007 姓名:孙弘原 学号:2015035107005 姓名:刘文帅 学号:2015035107009 姓名:杨琳 团队编程项目作业名称:爬取豆瓣电影TOP250 选择该团队编程项目原因:感觉项目有意思

团队项目编程作业

团队名称: 简单 队长 学号:2015035107224 姓名:张志鹏 成员 学号:2015035107071 姓名:邱阳阳 学号:2015035107044 姓名:刘孝东 学号:2015035107007 姓名:孙弘原 学号:2015035107005 姓名:刘文帅 学号:2015035107009 姓名:杨琳 团队编程项目作业名称:爬取豆瓣电影TOP250 选择该团队编程项目原因:我爱学习

团队作业八——第二次团队冲刺(Beta版本)第6天

团队作业八--第二次团队冲刺(Beta版本)第5天 一.每个人的工作 (1) 昨天已完成的工作 简单模式逻辑代码涉及与相关功能的具体实现 (2) 今天计划完成的工作 修改完善注册登录内容界面,编辑错题文件写入. (3) 工作中遇到的困难 今天花了较多时间在完善登录注册界面上,这让我们比较担心,如果每天都花很多时间在解决之前的问题,当天的任务又做不好,会不会赶不上进度.如果每天都不能正常完美的完成每天任务,那冲刺最后一天结束的时候,又哪里再有一个明天给我们完善代码.且今天还遇到了写入SD存储卡文件

第四周作业(汇总)

本周作业: 1.对四则运算软件需求的获取方式进行实践,例如使用调查问卷访问相关关系人等. 答: 本次是借助“问卷星”网站来发布问卷进行调查的.问卷地址:https://sojump.com/jq/9942880.aspx 本次问卷针对学生.家长和老师三个对象进行调查,对 四则软件进行需求分析.问卷调查结束后,问卷星还提供数据分析服务. 2.采用四象限法将你小组的四则运算软件的需求功能进行分类.阐述其优势与不足. 3.尝试把四则运算软件需求进行分解,变为每个小组成员可执行的积压工作项,分配这些工作

个人作业-Week3:代码复审

软件工程师的成长 我在上大学之前,对于软件工程师之类并无概念,并且高初中的电脑课也从未提及过写代码之类的东西,更多的都是一些教一些办公软件的使用(笑,明明电脑课总是因为老师“有事”变成其他课,根本就没上过几节吧),来到大学后得知一些同学高中就开始搞各种竞赛后,我感到十分惊讶,什么,从小热爱学习XX,一路坚持,最终成为XX大师的人小说以外真的有啊.大学之后的课余时间更是鲜有与软件工程相挂钩的事情,用一句话概括,就是过着这些博主批判对象的生活,十分尴尬.选这个课就是觉得应该做出些改变了,然而在第一次