实验三日期题白盒测试用例设计

日期问题白盒测试用例的设计(实验时间2012.3.21)

一、实验目的

1.熟练掌握如何运用基路径测试方法进行测试用例设计。

二、实验内容

1、题目

前一日函数PreDate是NextDate的逆函数(代码实现见下),实现功能为:输入1800 年到2050 年之间的某个日期,函数返回这一天的前一天的日期。(此处不考虑无效输入)

请采用基路径方法对前一日函数进行测试用例设计。

代码:(被测函数为PreDate)

#include"stdio.h"

typedef struct MyDate{

int month;

int day;

int year;

}MyDate;

MyDate PreDate(MyDate date);

int Leapyear(int year);

void Print(MyDate date);

MyDate PreDate(MyDate date)

//输入日期有效性检查中其他模块实现,此处假设输入日期都是合法数据

{

1.MyDate yesterday;

2.yesterday.month = date.month; // initialization

3.yesterday.day = date.day;

4.yesterday.year = date.year;

5.int days_month[13]={0,31,0,31,30,31,30,31,31,30,31,30,31};

//初始化每月天数,其中2月不确定,初始化为0

6.if(date.day>1)

7.yesterday.day=date.day-1;

else

{

8.if(date.month==1)

{

9.yesterday.year=date.year-1;

10.yesterday.month=12;

11.yesterday.day=31;

}

12.else if(date.month==3)

{

13.if(Leapyear(date.year))

{

14.yesterday.month=2;

15.yesterday.day=29;

}

else

{

16.yesterday.month=2;

17.yesterday.day=28;

}

}

else

{

18.yesterday.month=date.month-1;

19.yesterday.day=days_month[date.month-1];

}

}

20.return yesterday;

}

21.int Leapyear(int year)

{

22.if((year%4==0&&year%100!=0) || (year%400==0))

23.return 1;

24.else return 0;

}

void Print(MyDate date)

{

25.printf("%d--%d--%d\n",date.year,date.month,date.day);

}

2、测试用例设计

1)控制流图

2)环路复杂度计算

圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。独立路径必须包含一条在定义之前不曾用到的边。

对应上面图中的圈复杂度,计算如下:

流图中有五个区域;

V(G)=4个判定结点+1=5。

3)基本路径集设计

基本路径集为:

A.1、2、3、4、5、6、8、12、13、14、15、20、25

B.1、2、3、4、5、6、8、12、16、17、20、25

C.1、2、3、4、5、6、8、12、18、19、20、25

D.1、2、3、4、5、6、8、9、10、11、20、25

E.1、2、3、4、5、6、7、20、25

根据上面的独立路径,去设计输入数据,使程序分别执行到上面五条路径。

4)测试用例集设计

为了确保基本路径集中的每一条路径的执行,根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到,满足上面例子基本路径集的测试用例是:

2000-1-2 2000-1-1 2000-3-1

1999-3-1 1980-5-1

三、总结与体会

白盒测试是一种被广泛使用的逻辑测试方法,是由程序内部逻辑驱动的一种单元测试方法。只有对程序内部十分了解才能进 行

年月日软件测试用例的设计,实验三日期题白盒测试用例设计.doc相关推荐

  1. 网页设计实验三(超链接与多媒体文件应用)

    网页设计实验三 一 设计简易灯箱画廊 二 设计支持音频.视频播放的网页 三 设计简易网站导航 四 设计新生课程简介 五 设计中国名牌大学简介页面 +++点击资源索引[查看其它实验]+++ 一 设计简易 ...

  2. 实验三、数字PID控制器的设计

    实验三.数字PID控制器的设计 --- 直流闭环调速实验 一.实验目的 1.理解晶闸管直流单闭环调速系统的数学模型和工作原理;. 2. 掌握PID控制器参数对控制系统性能的影响; 3. 能够运用MAT ...

  3. 实验三 算符优先分析算法的设计与实现

    实验三 算符优先分析算法的设计与实现(8学时) 一. 实验目的 根据算符优先分析法,对表达式进行语法分析,使其能够判断一个表达式是否正确.通过算符优先分析方法的实现,加深对自下而上语法分析方法的理解. ...

  4. 软件质量保证与测试技术实验报告(一)白盒测试用例设计

    1.实验名称--白盒测试用例设计 2.实验目的 (1)能够利用白盒测试方法对程序进行测试. (2)会用各种逻辑覆盖法设计测试用例. (3)会用基本路径测试法设计测试用例. 3.实验内容 题目1:使用语 ...

  5. HDU操作系统课程设计实验三

    HDU操作系统课程设计实验三 一.设计目的 二.内容要求 三.实验内容 信号量的使用 1.实现一个模拟的shell,基本功能加find.grep命令 2.实现一个管道通信程序,基本功能加有名管道通信 ...

  6. 软件质量保证与测试 实验一:白盒测试用例设计 实验报告,软件质量保证与测试实验报告...

    <软件质量保证与测试>实验报告 实验一 白盒测试技术 (实验日期:12(2)11(3)班9月22日-9月29日) (实验日期:12(1)班9月23日-9月30日) 一.实验目的 1. 熟练 ...

  7. 软件质量保证与测试 实验一:白盒测试用例设计 实验报告,白盒测试和黑盒测试实验报告.doc...

    文档介绍: 白盒测试和黑盒测试实验报告软件质量保证与测试实验指导计算机工程学院测试环境配置settingJunit(1)startEclipseSelectwindows-preferences-ja ...

  8. 【领域驱动设计】三分钟搞懂领域驱动设计

    今天的企业应用程序无疑是复杂的,并依赖一些专门技术(持久性,AJAX,Web服务等)来完成它们的工作.作为开发人员,我们倾向于关注这些技术细节是可以理解的.但事实是,一个不能解决业务需求的系统对任何人 ...

  9. 软件设计实验三 结构型设计模式实验

    一.实验目的 1.结合实例,熟练绘制常见的结构型设计模式结构图. 2.结合实例,熟练使用任意一种面向对象编程语言实现常见的结构型设计模式. 3.通过本实验,理解每一种结构型设计模式的模式动机,掌握模式 ...

最新文章

  1. postmessage 消息接收延迟_微信为什么会突然延迟接收消息?原来是它们搞的鬼!...
  2. [转载] 30分钟泛型教程
  3. myeclipse2014下卸载,安装maven插件。
  4. RTEMS实时操作系统精要(1)-简介
  5. CentOS6.5下搭建SVN服务器
  6. 函数节流(throttle)与函数防抖(debounce)
  7. 产品经理之深度学习促进产品之分类(三)
  8. ui自动化测试框架_自动化测试框架--Instrumentation
  9. Android打开相机进行人脸识别,使用虹软人脸识别引擎
  10. 金蝶K3物料主数据计划策略字段设置
  11. 消息队列原理及activeMQ基本知识点
  12. 测试转开发,我都经历了什么
  13. 游戏加加导致cpu降频
  14. 无损音乐下载器 MusicTools单文件免安装-v1.9.3.1
  15. python里的map是什么意思_python中map什么意思
  16. Arduino ESP8266固件bin升级四种方法
  17. odoo本地文档功能开发记录
  18. 鸿蒙系统笔记本电脑上市,华为:智能手表及笔记本电脑将搭载鸿蒙系统 手机明年上市...
  19. 可视化的工业互联网 3D 展示
  20. 128G手机为何实际只有112G?预装App占用内存不合理

热门文章

  1. ClickHouse入门技术分享PPT之一
  2. 牛客小白月赛7 I.新建 Microsoft Office Word 文档
  3. 看电子合同从“0”到“1”蜕变之路
  4. 企业网路神警上网行为监管系统
  5. 树莓派超级水冷主机!!!
  6. SAP 成本结算中 费用分割的理解和用法
  7. 【Unity】OnTriggerStay2D无法触发问题,物体跟随鼠标等背包系统以及UI场景交互系统技术总结
  8. 金蝶软件服务器地址怎么修改,怎样修改金蝶系统服务器地址
  9. [THUWC 2017]在美妙的数学王国中畅游
  10. Python写停车场收费系统