使用基本路径法设计出的测试用例能够保证程序的每一条可执行语句在测试过程中至少执行一次。以下代码由C 语言书写,请按要求回答问题。
Int IsLeap(int year)
{
if (year % 4 == 0)
{
if (year % 100 == 0)
{
if ( year % 400 == 0)
leap = 1;
else
leap = 0;
}
else
leap = 1;
}
else
leap = 0;
return leap;
}
假设的取值范围是1000<year<2001,请使用基本路径测试法为变量year设计测试用例,使之满足基本路径覆盖的要求。
参考答案:
知识点包括:
用例1:year是1000~2000之间不能被4整除的整数,如1001、1002、1003等。
用例2:year是1000~2000之间能被4整除但不能被100整除的整数,如1004、 1008、1012、1016等。
用例3:year是1000~2000之间能被100整除但不能被400整除的整数,如1100、 1300、1400、1500、1700、1800、1900。
用例4:yew是1000~2000之间能被400整除的整数,如1200、1600、2000。
解析:
[分析]:
采用基本路径测试法,满足基本路径覆盖的要求。
在进行程序的基本路径测试时,从程序的环路复杂性,可导出程序基本路径集合中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。独立路径是指包括一组以前没有处理的语句或条件的一条路径。例如针对本题所对应的控制流图中,一组独立的路径如下。
· path1:不能被4整除的整数
· path2;被4整除但不能被100整除的整数 .
· path3:能被100整除但不能被400整除的整数
· path4;能被400整除的整数
路径path1、path2、path3和path4组成一个基本路径集。只要设计出的测试用例能够确保这些基本路径的执行,就可以使得程序中的每个可执行语句至少执行一次。