c语言实现二、软件测试阶段白盒测试,,画出其程序流程图,并给出至少四种逻辑覆盖标准的测试用例。
时间: 2024-03-07 22:47:25 浏览: 209
好的,以下是一个C语言示例程序:
```c
#include <stdio.h>
int main() {
int a, b;
double c;
printf("Please enter two integers: ");
scanf("%d%d", &a, &b);
if (a > 0 && b > 0) {
c = (double)b / a;
}
if (a > 1 || c > 1) {
c++;
}
c += b;
printf("The result is: %lf\n", c);
return 0;
}
```
以下是程序流程图:
```
┌─────────────┐
│ Start │
└─────┬───────┘
│
▼
┌─────────────┐
│ User Input │
└─────┬───────┘
│
▼
┌─────────────┐
│ a > 0 && │
│ b > 0 │
└─────┬───────┘
│
▼
┌─────────────┐
│ c = b/a │
└─────┬───────┘
│
▼
┌─────────────┐
│ a > 1 || │
│ c > 1 │
└─────┬───────┘
│
▼
┌─────────────┐
│ c++ │
└─────┬───────┘
│
▼
┌─────────────┐
│ c += b │
└─────┬───────┘
│
▼
┌─────────────┐
│ Output c │
└─────┬───────┘
│
▼
┌─────────────┐
│ End │
└─────────────┘
```
以下是四种逻辑覆盖标准的测试用例:
1. 测试 a 和 b 都大于 0,c 应该等于 b/a。
- 输入:a = 5,b = 10,预期输出:c = 2.000000。
2. 测试 a 大于 1,c 小于等于 1,c 应该等于 b+1。
- 输入:a = 2,b = 3,预期输出:c = 4.000000。
3. 测试 a 等于 1,c 大于 1,c 应该等于 b+1。
- 输入:a = 1,b = 3,预期输出:c = 4.000000。
4. 测试 a 和 b 都小于等于 0,c 应该等于 b。
- 输入:a = -1,b = -2,预期输出:c = -2.000000。
阅读全文