实验二+140+阮晨曦

---恢复内容开始---

一、实验目的

掌握覆盖测试的基本方法和实践

二、实验要求

运用逻辑覆盖测试的覆盖准则设计被测程序的测试用例,并运行测试用例检查程序的正确与否,给出程序缺陷小结。

三、实验内容

(1)设计某程序的路径覆盖测试用例,如路径覆盖、条件覆盖、分支覆盖、循环覆盖等

 

 测试代码链接

http://www.cnblogs.com/mrlry/p/6617697.html

DD路径图

 

1语句覆盖

A-B-C-V

A-B-D-E-F-J-K-L-M-V

A-B-D-E-G-J-K-L-N-V

A-B-D-E-H-K-L-O-V

A-B-D-E-H-K-L-P-Q-V

A-B-D-E-H-K-L- P-R-S-U-V

A-B-D-E-H-K-L- P-R-T-U-V

1

-1

0

0

A-B-C-V

退出

 

2

2016

13

1

A-B-D-E-F-J-K-L-M-V

月份超出范围

 

3

2000

13

1

A-B-D-E-G-J-K-L-N-V

日期超出范围

4

2051

12

1

A-B-D-E-H-K-L-O-V

年份超出范围

5

2001

12

2

A-B-D-E-H-K-L-P-Q-V

2001年12月3日

6

2001

12

31

A-B-D-E-H-K-L- P-R-S-U-V

2002年1月1日

7

2001

11

30

A-B-D-E-H-K-L- P-R-T-U-V

2001年12月1日

 

 

 

2判定覆盖

A-B-C-V

A-B-D-E-F-J-K-L-M-V

A-B-D-E-G-J-K-L-N-V

A-B-D-E-H-K-L-O-V

A-B-D-E-H-K-L-P-Q-V

A-B-D-E-H-K-L- P-R-S-U-V

A-B-D-E-H-K-L- P-R-T-U-V

用例ID

输入值

执行路径

预期输出

y

 m

d

    
        

 

1

-1

0

0

A-B-C-V

退出

 

2

2016

13

1

A-B-D-E-F-J-K-L-M-V

月份超出范围

 

3

2000

13

1

A-B-D-E-G-J-K-L-N-V

月份超出范围

4

2051

12

1

A-B-D-E-H-K-L-O-V

年份超出范围

5

2001

12

2

A-B-D-E-H-K-L-P-Q-V

2001年12月3日

6

2001

12

31

A-B-D-E-H-K-L- P-R-S-U-V

2002年1月1日

7

2001

11

30

A-B-D-E-H-K-L- P-R-T-U-V

2001年12月1日

 

 

3路径覆盖

A-B-C-V

 

 

A-B-D-E-F-J-K-L-M-V

A-B-D-E-F-J-K-L-N-V

A-B-D-E-F-J-K-L-O-V

A-B-D-E-F-J-K-L-P-Q-V

A-B-D-E-F-J-K-L-P-R-S-U-V

A-B-D-E-F-J-K-L-P-R-T-U-V

 

A-B-D-E-G-J-K-L-N-V

A-B-D-E-G-J-K-L-M-V

A-B-D-E-G-J-K-L-O-V

A-B-D-E-G-J-K-L-P-Q-V

A-B-D-E-G-J-K-L-P- R-S-U-V

A-B-D-E-G-J-K-L-P- R- T-U-V

 

 

A-B-D-E-H-K-L-M-V

A-B-D-E-H-K-L-N-V

A-B-D-E-H-K-L-O-V

A-B-D-E-H-K-L-P-Q-V

A-B-D-E-H-K-L- P-R-S-U-V

A-B-D-E-H-K-L- P-R-T-U-V

 

 

 

用例ID

输入值

执行路径

预期输出

y

 m

d

      

1

-1

0

0

A-B-C-V

退出

 

2

2016

13

1

A-B-D-E-F-J-K-L-M-V

月份超出范围

 

3

2016

10

0

A-B-D-E-F-J-K-L-N-V

日期超出范围

 

4

1904

12

1

A-B-D-E-F-J-K-L-O-V

年份超出范围

 

5

2016

12

2

A-B-D-E-F-J-K-L-P-Q-V

2016年12月3日

 

6

2016

12

31

A-B-D-E-F-J-K-L-P-R-S-U-V

2017年1月1日

 

7

2016

11

30

A-B-D-E-F-J-K-L-P-R-T-U-V

2016年12月1日

 

8

2000

13

1

A-B-D-E-G-J-K-L-N-V

月份超出范围

 

9

2000

10

0

A-B-D-E-G-J-K-L-M-V

日期超出范围

 

10

3200

12

1

A-B-D-E-G-J-K-L-O-V

年份超出范围

 

11

2000

12

2

A-B-D-E-G-J-K-L-P-Q-V

2000年12月3日

 

12

2000

12

31

A-B-D-E-G-J-K-L-P- R-S-U-V

2001年1月1日

 

13

2000

11

30

A-B-D-E-G-J-K-L-P- R- T-U-V

2000年12月1日

 
          

 

14

2001

13

1

A-B-D-E-H-K-L-M-V

月份超出范围

15

2001

10

0

A-B-D-E-H-K-L-N-V

日期超出范围

16

2051

12

1

A-B-D-E-H-K-L-O-V

年份超出范围

17

2001

12

2

A-B-D-E-H-K-L-P-Q-V

2001年12月3日

18

2001

12

31

A-B-D-E-H-K-L- P-R-S-U-V

2002年1月1日

19

2001

11

30

A-B-D-E-H-K-L- P-R-T-U-V

2001年12月1日

 

 

 

4条件覆盖

 

 

编号

M=-1

覆盖路径

1

T

B-C

2

F

B-D

 

 

编号

y%4==0&&y%100!=0

y%100==0&&y%400==0

覆盖路径

3

T

F

E-F-J

4

F

T

E-G-J

5

F

F

E-H-K

 

 

编号

m<1||m>12

d<1||d>month[m]

y<1912||y>2050

覆盖路径

6

F

T

T

L-M

7

T

F

T

L-N

8

T

T

F

L-O

9

T

T

T

L-P-Q

 

 

编号

m==12&&d==31

覆盖路径

10

T

R-S-U

11

F

R-T-U

 

 

 

 

A-B-C-V

A-B-D-E-F-J-K-L-M-V

A-B-D-E-G-J-K-L-N-V

A-B-D-E-H-K-L-O-V

A-B-D-E-H-K-L-P-Q-V

A-B-D-E-H-K-L- P-R-S-U-V

A-B-D-E-H-K-L- P-R-T-U-V

用例ID

输入值

执行路径

预期输出

覆盖条件

M

 Y

D

        
            

 

1

-1

0

0

A-B-C-V

退出

1

2

2016

13

1

A-B-D-E-F-J-K-L-M-V

月份超出范围

2,3,6

3

2000

13

1

A-B-D-E-G-J-K-L-N-V

月份超出范围

2,4,7

4

2051

12

1

A-B-D-E-H-K-L-O-V

年份超出范围

2,5,8

5

2001

12

2

A-B-D-E-H-K-L-P-Q-V

2001年12月3日

2,5,9

6

2001

12

31

A-B-D-E-H-K-L- P-R-S-U-V

2002年1月1日

2.5.10

7

2001

11

30

A-B-D-E-H-K-L- P-R-T-U-V

2001年12月1日

2,5,11

 

Junit 脚本@Testpublic void test01() {assertEquals("月份超出范围",nextDate.nextdate(2016 ,13, 1));}@Testpublic void test02() {assertEquals("日期超出范围",nextDate.nextdate(2016 ,10, 0));}@Testpublic void test03() {assertEquals(null,nextDate.nextdate(-1 ,0, 0));}@Testpublic void test04() {assertEquals("年份超出范围",nextDate.nextdate(1904 ,12, 1));}  
@Test
public void test05() {assertEquals("2016年12月3日",nextDate.nextdate(2016 ,12, 2));}
@Test
public void test06() {assertEquals("2017年1月1日",nextDate.nextdate(2016 ,12, 31));}
@Test
public void test07() {assertEquals("2016年12月1日",nextDate.nextdate(2016 ,11, 30));}
@Test
public void test08() {assertEquals("月份超出范围",nextDate.nextdate(2000 ,13, 1));}
@Test
public void test09() {assertEquals("日期超出范围",nextDate.nextdate(2000 ,10,0));}
@Test
public void test10() {assertEquals("年份超出范围",nextDate.nextdate(3200 ,12, 1));}
@Test
public void test11() {assertEquals("2000年12月3日",nextDate.nextdate(2000 ,12, 2));}
@Test
public void test12() {assertEquals("2001年1月1日",nextDate.nextdate(2000 ,12, 31));}
@Test
public void test13() {assertEquals("2000年12月1日",nextDate.nextdate(2000 ,11,30));}
@Test
public void test14() {assertEquals("月份超出范围",nextDate.nextdate(2001 ,13, 1));}
@Test
public void test15() {assertEquals("日期超出范围",nextDate.nextdate(2001 ,10, 0));}
@Test
public void test16() {assertEquals("年份超出范围",nextDate.nextdate(2051 ,12, 1));}
@Test
public void test17() {assertEquals("2001年12月3日",nextDate.nextdate(2001 ,12, 2));}
@Test
public void test18() {assertEquals("2002年1月1日",nextDate.nextdate(2001 ,12, 31));}
@Test
public void test19() {assertEquals("2001年12月1日",nextDate.nextdate(2001 ,11,30));}

 

 

测试总结

       没有对源代码进行修改,并未找到测试的缺陷清单。

       

 

转载于:https://www.cnblogs.com/rcher/p/6705751.html

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

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

相关文章

hadoop重命名文件_Hadoop -- 3. 从Flume到HDFS

提起Flume, 就先讲一下它的基本作用, 它可以从不同的数据源导入到一个集中的地方存放起来,基本架构如下图所示*上图为Flume Data Flow Model, Ref: Flume 1.9.0 User Guide本篇文章会做一个小demo, 数据从spooling directory来(而不是官网图中画的Web Server), 先经过channel, …

osgi 模块化_OSGI –模块化您的应用程序

osgi 模块化由于我是模块化&#xff0c;低耦合&#xff0c;高凝聚力等的大力拥护者&#xff0c;所以…… 我相信这项技术是我们使用Java平台创建应用程序的突破。 使用OSGi&#xff0c;创建高度可扩展的应用程序非常简单&#xff0c;例如参见Eclipse IDE。 我的目的不是要深入展…

电脑计算器_CPA考生注意!2020考场只允许带这种计算器

注册会计师每年采用闭卷、计算机化考试方式。根据往年考生的反应&#xff0c;计算器的使用在考场上发挥了非常大的作用。值得大家注意的是&#xff0c;并不是所有的计算器都能带进考场&#xff0c;考试对计算器有什么要求?如何挑选到正确的计算器&#xff1f;我们一起来看看&a…

最早的齿轮计算机,世界最古老“计算机”出土后110年,科学家终于解开它的秘密...

伦敦大学学院(UCL)的研究团队&#xff0c;提出了“一个激进的新模型&#xff0c;与所有数据相匹配&#xff0c;并最终优雅地展示出了古希腊人眼中的宇宙”。1901年&#xff0c;在希腊岛屿安提基特拉的海岸&#xff0c;潜水员偶然发现了一艘古代沉船。沉船中的一件文物&#xff…

通过Java 8中的Applicative Builder组合多个异步结果

几个月前&#xff0c;我发布了一个出版物 &#xff0c;在其中详细解释了我提出的名为Outcome的抽象&#xff0c;它通过强制使用语义帮助了我很多 没有副作用的代码。 通过遵循这种简单&#xff08;但功能强大&#xff09;的约定&#xff0c;我最终将任何类型的故障&#xff08;…

在python中是否可以使用if作为变量名_在Python中可以使用if 作为变量名_python使用符号 标示注释...

在Python中可以使用if 作为变量名答&#xff1a;" src"" style"max-width: 100%; display: inline;">往来款项清查结果的账务处理与货币资金、存货和固定资产不同&#xff0c;它不通过“待处理财产损溢”账户。答&#xff1a;√明嘉靖皇帝是昏君答…

diskgenius 接触“只读“失败_相亲总是失败,这三个步骤你都做了吗?

原标题&#xff1a;相亲总是失败&#xff0c;这三个步骤你都做了吗&#xff1f;虽然现在爱情很稀缺&#xff0c;但想必大家都想找个男女朋友&#xff0c;想谈一场甜甜的恋爱。 而相亲&#xff0c;无疑是脱单最直接、最有效的方式&#xff0c;没有之一。但不管是经人介绍&#x…

shell中的常用通配符,字符类

因为 shell 频繁 地使用文件名&#xff0c;shell 提供了特殊字符来帮助你快速指定一组文件名。这些特殊字符叫做通配符。 通配符     意义 *         匹配任意多个字符&#xff08;包括零个或一个&#xff09;  ?         匹配任意一个字符&…

agv系统介绍_重载AGV小车主要结构及导航原理是什么?

相信对AGV有过了解的朋友都知道&#xff0c;当我们在进行工业生产过程时&#xff0c;重载AGV小车可以帮我们实现无人驾驶搬运的一个工作&#xff0c;可以保证AGV在运行时不用通过人工干预的情况下来完成现场的搬运工作,通过无人驾驶技术进行自主导航将货物自动从起始位置搬运到…

怎样打开计算机音频服务器,win10系统音频服务器未运行的修复步骤

有关win10系统音频服务器未运行的操作方法想必大家有所耳闻。但是能够对win10系统音频服务器未运行进行实际操作的人却不多。其实解决win10系统音频服务器未运行的问题也不是难事&#xff0c;小编这里提示两点&#xff1a;1、在1、windows10“音频服务未运行”,有个红色小叉咋办…

rgb fusion检测不到显卡_【论文阅读27】Co-Fusion

主要内容物体级别的语义SLAM。维护一个背景模型和多物体模型&#xff0c;每个模型由面元地图表示。基于运动分割和语义信息检测运动物体。使用基于ICP对齐的几何误差和基于颜色差异的光度误差跟踪背景模型&#xff08;相机位姿&#xff09;和多个运动物体。根据[8]的方法更新每…

修改linux系统用户最大线程数限制

linux系统对线程数量有个最大限制&#xff0c;当达到系统限制的最大线程数时使用账号密码ssh到系统时是无法登陆的&#xff0c;会报Write failed: Broken pipe&#xff0c;或者是shell request faied on chanel 0。在root用户下切换到该用户也会报错&#xff0c;su clouder&…

u盘插在电脑上灯亮没有反应_u盘插入电脑无反应怎么解决 u盘插入电脑无反应解决方法【步骤介绍】...

u盘的轻巧、便捷使其在生活工作中重要的工具设备&#xff0c;在使用u盘的过程中插入的 u盘无法识别 &#xff0c;电脑对插入的u盘无反应&#xff0c;遇到这样的问题该怎么办呢?接下来小编就和大家介绍 电脑无法识别u盘 的解决办法。1 、使用其它的移动设备插在电脑usb接口上&a…

recaptcha_与reCAPTCHA的Spring集成

recaptcha有时我们只需要CAPTCHA &#xff0c;这是一个可悲的事实。 今天&#xff0c;我们将学习如何与reCAPTCHA集成。 因为主题本身并不是特别有趣和高级&#xff0c;所以我们将通过使用Spring Integration处理低级细节来过度设计&#xff08;&#xff1f;&#xff09;。 Goo…

vbs关不掉的计算机窗口,恶搞之关不掉的窗口.vbs脚本

过完小年&#xff0c;到处都是过年的气息&#xff0c;给大家介绍一些轻松好玩的东西&#xff1a;一个好玩的脚本——关不掉的窗口。1、在电脑上创建一个XXX.txt文本&#xff0c;把代码复制进去&#xff0c;不要写注释&#xff0c;也不要在句尾留空格&#xff0c;保存&#xff0…

honeywell新风系统控制面板说明_如何选择新风系统中的新风设备万家舒适家

喜欢点击蓝字关注我们吧我们常说“看人不光要看外表&#xff0c;更要看内在”&#xff0c;这个说法对新风机同样适用。新风机的内部件主要分为&#xff1a;动力模块、电控模块、净化模块、热交换模块这四个部分。首先、动力模块&#xff0c;就是风机。从我们消费者角度来看&…

第八周学习进度条

转载于:https://www.cnblogs.com/baiyue/p/7110849.html

keras 生成句子向量 词向量_在Keras模型中使用预训练的词向量

在Keras模型中使用预训练的词向量文章信息通过本教程&#xff0c;你可以掌握技能&#xff1a;使用预先训练的词向量和卷积神经网络解决一个文本分类问题本文代码已上传到Github本文作者&#xff1a;Francois Chollet什么是词向量?”词向量”(词嵌入)是将一类将词的语义映射到向…

设计模式的Java 8 Lambda表达式–策略设计模式

策略模式定义封装在通常称为Context的驱动程序类中的一系列算法&#xff0c;并使这些算法可互换。 它使算法易于互换&#xff0c;并提供了在特定时间选择适当算法的机制。 算法&#xff08;策略&#xff09;在运行时由客户端或上下文选择。 在与客户端交互期间&#xff0c;Con…

2016美国计算机研究生,2016美国留学:美国大学研究生计算机工程专业排名

排名学校名称学校英文名所在地学费/年1Massachusetts Instituteof TechnologyCambridge, MA$44,7201StanfordUniversityStanford, CA$47,0731University ofCalifornia—BerkeleyBerkeley, CA$26,3224卡耐基梅隆大学Carnegie MellonUniversityPittsburgh, PA$41,0005伊利诺伊大学…