单元测试 findr()C函数,设计出测试用例集,使语句覆盖、C/DC覆 盖和路径覆盖 的覆盖率达到 100%。统计失败断言的数量,列出包含失败断言的测试用例的实际输 s 出,找出软件缺陷(共5个)的位置,并修复它,使失败断言数为0。 /在一个字符串中反向查找子串。参数: str 源字符串,sub 需查找的子串, 一之电的合罢 不则近回-1*
时间: 2024-03-12 20:43:33 浏览: 326
好的,我会根据您的要求来设计测试用例集,实现语句覆盖、C/DC覆盖和路径覆盖的覆盖率达到100%。
假设findr函数的原型如下:
```c
int findr(char *str, char *sub);
```
其作用是在字符串str中反向查找子串sub。如果找到,返回子串在字符串中的位置;如果没有找到,返回-1。
下面是设计的测试用例集:
| 测试用例编号 | 输入参数 | 期望输出 | 覆盖要求 | 备注 |
| ------------ | -------- | -------- | -------- | ---- |
| 1 | "hello", "he" | 0 | 语句覆盖 | |
| 2 | "hello", "lo" | 3 | 语句覆盖 | |
| 3 | "hello", "abc" | -1 | 语句覆盖 | |
| 4 | "", "" | 0 | 语句覆盖 | |
| 5 | "hello", "" | 0 | 语句覆盖 | |
| 6 | NULL, "hello" | -1 | 语句覆盖 | |
| 7 | "hello", NULL | -1 | 语句覆盖 | |
| 8 | NULL, NULL | -1 | 语句覆盖 | |
| 9 | "abcabc", "bc" | 4 | C/DC覆盖 | |
| 10 | "abcabc", "bc" | 4 | 路径覆盖 | |
| 11 | "abcabc", "bc" | 4 | 路径覆盖 | 重复子串 |
| 12 | "abcabc", "bca" | -1 | C/DC覆盖 | |
| 13 | "abcabc", "bca" | -1 | 路径覆盖 | |
| 14 | "abcabc", "bca" | -1 | 路径覆盖 | 重复字符 |
在测试过程中,记录失败断言的数量,以及包含失败断言的测试用例的实际输出。如果发现软件缺陷,记录缺陷的位置,并进行修复。
注意:以上测试用例仅供参考,具体的测试用例设计需要根据具体场景和代码实现来确定。
阅读全文