一、实验名称:
白盒测试
二、实验目的:
了解白盒测试的概念、目标和方法,掌握逻辑覆盖测试和基本路径测试的方法。通过实验,提高和运用白盒测试技术解决实际测试问题的能力,熟悉具体编程环境下编写、调试单元代码的基本操作技术和方法。
三、实验内容:
实验内容:
编写程序,完成以下功能:实现 PriorDate 函数,获得当前输入日期的前一个日期。
具体操作如下:
输入日期 day 变量值大于 1,则把 day 变量的值减 1;
如果输入日期是 2--12 月份中某月的第一天,把day 变量的值置为前一个月的最后一天,month 变量的值减 1;
如果输入日期是1月的第一天,则 day 变量的值置为 31,month 变量的值置为 12,year 变量的值减 1。
关于最后一天的判断:
如果是有31天的月份(1,3,5,7,8,10,12),day 变量值为 31;
如果是有30天的月份(4,6,9,11),day 变量值为 30;
如果是有29天的月份(闰年的2月),day 变量值为29;如果是有 28 天的月份(非闰年的 2 月),day 变量值为 28。
设计测试用例进行白盒测试,使其分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖以及路径覆盖。
四、实验步骤:
- 程序流程图如下:
2.白盒测试设计用例
(1)语句覆盖
语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次
测试用例的设计如下:
测试数据(年月日) |
执行路径 |
预期结果 |
实际结果 |
2051 13 32 |
OACEGZ |
ERROR |
ERROR |
2022 5 10 |
OBDFHLY |
2022 5 9 |
2022 5 9 |
2022 5 1 |
OBDFHMY |
2022 4 30 |
2022 4 30 |
2022 2 10 |
OBDFINY |
2022 2 9 |
2022 2 9 |
2022 2 1 |
OBDFIPY |
2022 1 31 |
2022 1 31 |
2022 3 10 |
OBDFJQY |
2022 3 9 |
2022 3 9 |
2022 3 1 |
OBDFJRY |
2022 2 28 |
2022 2 28 |
2022 1 10 |
OBDFKSY |
2022 1 9 |
2022 1 9 |
2022 1 1 |
OBDFKTWY |
2021 12 31 |
2021 12 31 |
0 1 1 |
OBDFKTXY |
ERROR |
ERROR |
(2)判定覆盖
使得每个判定语句的取值都满足各有一次“真”与“假”
测试用例的设计如下:
测试数据(年月日) |
执行路径 |
预期结果 |
实际结果 |
2051 13 32 |
OACEGZ |
ERROR |
ERROR |
2022 5 10 |
OBDFHLY |
2022 5 9 |
2022 5 9 |
2022 5 1 |
OBDFHMY |
2022 4 30 |
2022 4 30 |
2022 2 10 |
OBDFINY |
2022 2 9 |
2022 2 9 |
2022 2 1 |
OBDFIPY |
2022 1 31 |
2022 1 31 |
2022 3 10 |