实验二+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 脚本

    @Test

public void test01() {

     assertEquals("月份超出范围",nextDate.nextdate(2016 ,13, 1));

    }

    @Test

public void test02() {

     assertEquals("日期超出范围",nextDate.nextdate(2016 ,10, 0));

    }

    @Test

public void test03() {

     assertEquals(null,nextDate.nextdate(-1 ,0, 0));

    }

    @Test

public 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));

    }

测试总结

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

时间: 2024-10-28 06:21:12

实验二+140+阮晨曦的相关文章

实验三+140+阮晨曦

1. 代码链接 http://www.cnblogs.com/chenxxiaol/p/6804119.html 2. 界面设计 3. 等价类测试 分析题目 得出对输入的条件要求为 (1)      整数 (2)      三个数 (3)      1≤a≤100 (4)      1≤b≤100 (5)      1≤c≤100 (6)      a<b+c (7)      b<a+ c (8)      c<a+ b (9)    等腰三角形 (10)   等边三角形 (11) 

第5次作业类测试代码+140+阮晨曦

1. 代码链接 http://www.cnblogs.com/chenxxiaol/p/6804119.html 2. 界面设计 3. 等价类测试 分析题目 得出对输入的条件要求为 (1)      整数 (2)      三个数 (3)      1≤a≤100 (4)      1≤b≤100 (5)      1≤c≤100 (6)      a<b+c (7)      b<a+ c (8)      c<a+ b (9)    等腰三角形 (10)   等边三角形 (11) 

第4次作业类测试代码+140+阮晨曦

类图 修改后代码 NextDate.java public static String print(Calendar cal) { Date resultDate = cal.getTime(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); return sdf.format(resultDate); } public static void nextDate(Calendar cal) { cal.add(C

实验二十四:SD卡模块

  驱动SD卡是件容易让人抓狂的事情,驱动SD卡好比SDRAM执行页读写,SD卡虽然不及SDRAM的麻烦要求(时序参数),但是驱动过程却有猥琐操作.除此此外,描述语言只要稍微比较一下C语言,描述语言一定会泪流满面,因为嵌套循环,嵌套判断,或者嵌套函数等都是它的痛.. 史莱姆模块是多模块建模的通病,意指结构能力非常脆弱的模块,暴力的嵌套行为往往会击垮模块的美丽身躯,好让脆弱结构更加脆弱还有惨不忍睹,最终搞垮模块的表达能力.描述语言预想驾驭SD卡,关键的地方就是如何提升模块的结构能力.简单而言,描述

操作系统(实验二、作业调度模拟程序实验)

实验二.作业调度模拟程序实验 专业 商业软件工程   姓名 丘惠敏 学号 201406114203 一.        实验目的   (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 二.        实验内容和要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 三.        实验方法.步骤及结果测试   1.   

1111《操作系统教程》实验二 作业调度模拟程序

实验二 作业调度模拟程序 一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 作业调度算法: 1) 采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2) 短作业优先 (SJF

实验二作业调度模拟程序实验报告

实验二作业调度模拟程序 网络工程专业   姓名:蔡利聪  学号:201306114117 一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 作业调度算法: 1)       采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进

MySQL数据库实验二:单表查询

实验二   单表查询 一.实验目的 理解SELECT语句的操作和基本使用方法. 二.实验环境 是MS SQL SERVER 2005的中文客户端. 三.实验示例 1.查询全体学生的姓名.学号.所在系. SELECT Sname,S#,Sdept FROM S: 2.查询全体学生的详细记录. SELECT  * FROM S: 3.查全体学生的姓名及其出生年份. SELECT Sname,2011-Sage    /*假定当年的年份为2011年*/ FROM S: 4.查询选修了课程的学生学号.

20145221高其&amp;20145326蔡馨熠《信息安全系统设计基础》实验二 固件设计

20145221高其&20145326蔡馨熠<信息安全系统设计基础>实验二 固件设计 实验目的与要求 了解多线程程序设计的基本原理,学习 pthread 库函数的使用. 了解在 linux 环境下串行程序设计的基本方法. 掌握终端的主要属性及设置方法,熟悉终端I /O 函数的使用.学习使用多线程来完成串口的收发处理. 熟悉linux开发环境,学会基于S3C2410的linux开发环境的配置和使用.使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的