问答题

针对以下C语言程序,请按要求回答问题。
下面是一个简单的C语言程序:
int funcl(int a,b,c)
int k=1;
if((a>0 || b<0)) k=k+a;
else k=k+b;
if(c>0) k=k+c;
return k;

设计特殊的测试用例,说明各种逻辑覆盖之间的关系。

【参考答案】

这个程序有3个输入:a、b、c,其输入数据组合是非常大的。下面对该程序分别应用不同的逻辑覆盖准则,设计测试用例。
首先根据源程序画出程序流图比较容易,然后分析学过的所有的逻辑覆盖(如语句覆盖,分支覆盖,路径覆盖等),分析针对每种逻辑覆盖的标准来设计测试用例。通过设计测试用例来体现各种逻辑覆盖之间的关系。
1.语句覆盖
根据语句覆盖准则,只需要采用两个输入数据组合:(a,b,c)=(1,1,1)、(-1,1,1),便可以把该程序的所有5个语句执行一遍。
2....

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

问答题