admin 管理员组

文章数量: 1086019


2024年4月27日发(作者:text shadow第二个参数)

软件0911 潘倩

闰年判断测试

一、 功能定义

设计测试功能能够判断1800年至2050年的闰年。

二、 测试流程分析

1. 基本描述

此测试共有三个条件,通过这三个条件能充分判断年份是否为闰年,条

件如下:

 T1:y%400==0

 T2:y%4==0

 T3:y%100==0

2. 流程图

该流程图包含四条路径:

 L13:P1→P3

 L14:P1→P4

 L2:P2

开始

输入年份:y

y%400==0

p1

F

p2

F

p3

y%4==0 AND y%100!=0

T

p4

T

输出y不是闰

输出y是闰年

结束

三、 逻辑覆盖

1. 语句覆盖

从流程图来看,可从L2路径直接执行结果,则基本的逻辑判定条件

满足T1为真即可。

根据以上分析,设计得到的测试用例如表所示。

表一 语句覆盖的测试用例 (第一次尝试)

ID 输入 预期输出 通过路径 语句覆盖

y

LC-01 2000 是闰年 L2 100%

对于测试用例LC-01,当y对400求余时,结果为0。则测试肯定为

闰年。但此测试具有一定的限定性,不能充分体现语句覆盖的准确性。

表二 语句覆盖的测试用例 (第二次尝试)

ID 输入 预期输出 通过路径 语句覆盖

y

LC-02 1889 不是闰年 L13 100%

LC-03 1980 是闰年 L14 100%

LC-04 2000 是闰年 L2 100%

此次测试,测试过程加多,考虑到了多种情况,但可能还有其它情况没

想到,因为不是每一个年份都测试了一遍,所以此种逻辑覆盖还需要加强。

2. 判定覆盖

判定覆盖要求测试用例的应用程序中每个判定节点取得每种可能的结果

至少一次。从本例来讲,要满足判定覆盖,需执行路径L14、L13.。

表三 判定覆盖的测试用例

ID 输入 预期输出 通过路径 判定覆盖

y

LC-05 1947 不是闰年 L13 100%

LC-06 1800 是闰年 L14 100%

判定覆盖比语句覆盖增加了一倍的路径,因此具有更强的测试能力。但

判定覆盖并未深入测试符合判定表达式的细节,并未测试到每个简单逻辑判

定条件的正确性。

3. 条件覆盖

条件覆盖要求设计测试用例时保证程序中每个复合判定表达式的每个简

单判定条件的取真和取假情况至少一次。

表四 条件覆盖的测试用例

ID 输入 预期输出 通过路径 条件覆盖

y

LC-07

LC-08

LC-09

LC-10

LC-11

1947

1800

2005

1996

2000

不是闰年

是闰年

不是闰年

是闰年

是闰年

L13

L14

L13

L14

L2

100%

100%

100%

100%

100%


本文标签: 覆盖 判定 测试 测试用例 路径