函数Search(somearray,size,value)的功能是,在一个整数数组somearray中搜索一个值为value的整数,如果数组中有这个数,则函数值等于该数的下标,否则函数值等于-1。数组的长度由参数size指定。假定数组第一个元素的下标为1。用c语言实现此函数,由此设计白盒测试
时间: 2024-02-17 07:01:03 浏览: 79
以下是实现Search函数的C语言代码:
```c
int Search(int somearray[], int size, int value) {
for(int i=0; i<size; i++) {
if(somearray[i] == value) {
return i+1; // 数组下标从1开始
}
}
return -1;
}
```
以下是设计白盒测试方案的步骤:
1. 确定输入域:确定输入参数的有效范围。
- somearray:整数数组,可以为空数组或者包含任意个整数。
- size:整数,表示数组中元素的个数,取值范围为[0, INT_MAX]。
- value:整数,表示要搜索的整数,取值范围为[INT_MIN, INT_MAX]。
2. 确定输出域:确定函数输出的有效范围。
- 函数值:整数,表示搜索到的整数在数组中的下标,如果没有搜索到则返回-1。取值范围为[-1, size]。
3. 设计测试用例:
- 正常情况:给定一个非空数组,搜索其中存在的整数,预期输出该整数在数组中的下标。
- 正常情况:给定一个非空数组,搜索其中不存在的整数,预期输出-1。
- 边界情况:给定一个空数组,预期输出-1。
- 边界情况:给定一个长度为1的数组,搜索其中存在的整数,预期输出1。
- 边界情况:给定一个长度为1的数组,搜索其中不存在的整数,预期输出-1。
- 极端情况:给定一个包含INT_MAX个元素的数组,搜索其中不存在的整数,预期输出-1。
- 极端情况:给定一个包含INT_MAX个元素的数组,搜索其中存在的整数,预期输出1~INT_MAX。
阅读全文