51Testing软件测试论坛
标题:
添加测试用例使得全面覆盖
[打印本页]
作者:
chanler
时间:
2010-6-13 04:24
标题:
添加测试用例使得全面覆盖
想在一个排序的数组中用二进制搜索找到相应的数字。程序用二进制搜索是否在剩余的List中存在第一个数字。最简单的用例已经给出:
testcase1:existing element
action:Run./binsearch 1 1 3 5 7 9 15 17
expected result:找到数字
以下是gcov的输出结果,请添加测试用例使得全面覆盖
#include<stdio.h>
#include<stdlib.h>
int isElement(int value,int sortedArr[],int arrayLen){
if(arrayLen==0){
return 0;
}
else if(arrayLen==1){
return value==sortedArr[0];
}
else{
int midIndex=arrayLen/2;
int middleElement=sortedArr[midIndex];
if(middleElement==value){
return 1;
}
else if(value<middleElement){
return isElement(value,sortedArr,midIndex);
}
else{
return isElement(value,sortedArr+midIndex,arrayLen-midIndex);
}}}
int main(int argc,char**argv){
int value,*sortedArr,arrayLen,i;
if(argc<2){
printf("Syntex error,ues:elm e e1 e2 e3...\n");
exit(EXIT_FAILURE);
}
value=atoi(argv[1]);
arrayLen=argc-2;
sortedArr=malloc(sizeof(int)*arrayLen);
for(i=0;i<arrayLen;i++){
sortedArr
=atoi(argv[i+2]);
if(i>0&&sortedArr
<sortedArr[i-1]){
printf("Error:the list of values must be sorted\n");
exit(EXIT_FAILURE);
}}
if(isElement(value,sortedArr,arrayLen))
printf("The value was found\n");
else
printf("The value was not found\n");
return EXIT_SUCCESS;
}
作者:
hujin1229
时间:
2010-8-6 18:19
1、数组大小为0,没有数字的情况
2、数组有两个值的情况
3、数组有三个值的情况
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2