前言
还记得笔者当初刚入职的时候,经常要写测试用例,那时候的我对于测试用例不是很懂,每到要写测试用例的时候就是笔者脱发最严重的时候,后来有个老同事就教了我,现在这么多年了我自己根本不怕写用例,毕竟我已经不是当年的我了。
那么今天这篇文章呢就是想教教大家怎么写测试用例。废话不多说咱们直接进入主题吧。
一、用于语句覆盖的基路径法
基路径法保证设计出的测试用例,使程序的每一个可执行语句至少执行一次,即实现语句覆盖。基路径法是理论与应用脱节的典型,基本上没有应用价值,读者稍作了解即可,不必理解和掌握。
基路径法步骤如下:
1)画出程序的控制流图
控制流图是描述程序控制流的一种图示方法,主要由结点和边构成,边代表控制流的方向,节点代表控制流的汇聚处,边和结点圈定的空间叫做区域,下面是控制流图的基本元素:
void Sort(int iRecordNum, int iType)
{
int x = 0;
int y = 0;
while(iRecordNum-- > 0)
{
if(0 == iType)
{
x = y+2;
break;
}
elseif(1 == iType)
{
x = y+10;
}
else
{
x = y+ 20;
}
}
}
2)计算程序环路复杂度
环路复杂度V(G)可用以下3种方法求得:
(1) 环路复杂度等于控制流图中的区域数;
上图中,有4个区域,V(G) = 4。
(2) 设E为控制流图的边数,N为结点数,则环路复杂度为E-N+2;
上图中,V(G) = 10(边) – 8(结点) + 2 = 4。
(3) 设P为控制流图中的判定结点数,环路复杂度为P+1。
上图中:V(G) = 3(判定结点) + 1 = 4。
环路复杂度是独立路径数的上界,也就是需要的测试用例数的上界。<