针对y=sqrt(x)设计测试用例
时间: 2023-04-05 22:03:42 浏览: 90
作为C知道,我可以回答这个问题。以下是一些测试用例:
1. 输入x=0,期望输出y=0。
2. 输入x=1,期望输出y=1。
3. 输入x=4,期望输出y=2。
4. 输入x=-1,期望输出"无实数解"。
5. 输入x=2.25,期望输出y=1.5。
6. 输入x=100,期望输出y=10。
7. 输入x=0.25,期望输出y=0.5。
8. 输入x=-4,期望输出"无实数解"。
9. 输入x=10000,期望输出y=100。
10. 输入x=0.01,期望输出y=0.1。
相关问题
y=sqrt(x)的程序,请设计测试用例来对该程序进行测试
好的,以下是一些测试用例:
1. 输入 x = 0,期望输出 y = 0
2. 输入 x = 1,期望输出 y = 1
3. 输入 x = 4,期望输出 y = 2
4. 输入 x = -1,期望输出错误提示或异常
5. 输入 x = 2.5,期望输出 y = 1.58113883
6. 输入 x = 1000000,期望输出 y = 1000
7. 输入 x = "abc",期望输出错误提示或异常
8. 输入 x = null,期望输出错误提示或异常
希望这些测试用例能够帮助您对 y=sqrt(x) 的程序进行测试。
问题:为以下所示的程序段设计测试用例。 void DoWork (int x,int y,int z) { int k=0,j=0; if ( (x>3)&&(z<10) ) { k=x*y-1; j=sqrt(k); } if ( (x==4)||(y>5) ) { j=x*y+10; } j=j%3; } 要求: 1. 画出该程序的流程图; 2. 用语句覆盖方法对该程序写测试用例(在程序中标出所有语句块); 3. 用判定覆盖方法对该程序写测试用例; 4. 用条件覆盖方法对该程序写测试用例; 5. 用判定-条件覆盖方法对该程序写测试用例; 6. 用条件组合覆盖方法对该程序写测试用例; 7. 用路径覆盖方法对该程序写测试用例;
1. 程序流程图如下:
![程序流程图](https://i.imgur.com/er3M0zH.png)
2. 使用语句覆盖方法,可以将程序分为以下几个语句块:
- 语句块1:int k=0,j=0;
- 语句块2:if ( (x>3)&&(z<10) ) { k=x*y-1; j=sqrt(k); }
- 语句块3:if ( (x==4)||(y>5) ) { j=x*y+10; }
- 语句块4:j=j%3;
根据语句覆盖方法,需要至少执行到每个语句块一次,因此可以设计以下测试用例:
- 测试用例1:x=4,y=6,z=12,预期输出j=22%3=1
- 测试用例2:x=2,y=4,z=9,预期输出j=0
- 测试用例3:x=5,y=2,z=8,预期输出j=0
3. 使用判定覆盖方法,可以将程序分为以下几个判定块:
- 判定块1:(x>3)&&(z<10)
- 判定块2:(x==4)||(y>5)
根据判定覆盖方法,需要至少执行到每个判定块的两种情况(True和False),因此可以设计以下测试用例:
- 测试用例1:x=4,y=6,z=12,预期输出j=22%3=1
- 测试用例2:x=2,y=4,z=9,预期输出j=0
- 测试用例3:x=5,y=2,z=8,预期输出j=0
- 测试用例4:x=2,y=2,z=2,预期输出j=0
4. 使用条件覆盖方法,可以将程序分为以下几个条件:
- 条件1:x>3
- 条件2:z<10
- 条件3:x==4
- 条件4:y>5
根据条件覆盖方法,需要至少执行到每个条件的两种情况(True和False),因此可以设计以下测试用例:
- 测试用例1:x=4,y=6,z=12,预期输出j=22%3=1
- 测试用例2:x=2,y=4,z=9,预期输出j=0
- 测试用例3:x=5,y=2,z=8,预期输出j=0
- 测试用例4:x=2,y=2,z=2,预期输出j=0
- 测试用例5:x=1,y=2,z=5,预期输出j=0
5. 使用判定-条件覆盖方法,可以将程序分为以下几个组合:
- 组合1:(x>3)&&(z<10)且(x==4)||(y>5)
- 组合2:(x>3)&&(z<10)且(x!=4)&&(y<=5)
- 组合3:!(x>3)&&(z<10)且(x==4)||(y>5)
- 组合4:!(x>3)&&(z<10)且(x!=4)&&(y<=5)
- 组合5:(x>3)&&!(z<10)且(x==4)||(y>5)
- 组合6:(x>3)&&!(z<10)且(x!=4)&&(y<=5)
- 组合7:!(x>3)&&!(z<10)且(x==4)||(y>5)
- 组合8:!(x>3)&&!(z<10)且(x!=4)&&(y<=5)
根据判定-条件覆盖方法,需要至少执行到每个组合的两种情况(True和False),因此可以设计以下测试用例:
- 测试用例1:x=4,y=6,z=12,预期输出j=22%3=1
- 测试用例2:x=2,y=4,z=9,预期输出j=0
- 测试用例3:x=5,y=2,z=8,预期输出j=0
- 测试用例4:x=2,y=2,z=2,预期输出j=0
- 测试用例5:x=1,y=2,z=12,预期输出j=0
- 测试用例6:x=4,y=2,z=12,预期输出j=15%3=0
- 测试用例7:x=2,y=2,z=8,预期输出j=0
- 测试用例8:x=1,y=6,z=8,预期输出j=0
6. 使用条件组合覆盖方法,可以将程序分为以下几个条件组合:
- 条件组合1:x>3, z<10, x==4, y>5
- 条件组合2:x>3, z<10, x==4, y<=5
- 条件组合3:x>3, z<10, x!=4, y>5
- 条件组合4:x>3, z<10, x!=4, y<=5
- 条件组合5:x>3, !(z<10), x==4, y>5
- 条件组合6:x>3, !(z<10), x==4, y<=5
- 条件组合7:x>3, !(z<10), x!=4, y>5
- 条件组合8:x>3, !(z<10), x!=4, y<=5
- 条件组合9:!(x>3), z<10, x==4, y>5
- 条件组合10:!(x>3), z<10, x==4, y<=5
- 条件组合11:!(x>3), z<10, x!=4, y>5
- 条件组合12:!(x>3), z<10, x!=4, y<=5
- 条件组合13:!(x>3), !(z<10), x==4, y>5
- 条件组合14:!(x>3), !(z<10), x==4, y<=5
- 条件组合15:!(x>3), !(z<10), x!=4, y>5
- 条件组合16:!(x>3), !(z<10), x!=4, y<=5
根据条件组合覆盖方法,需要至少执行到所有条件组合一次,因此可以设计以下测试用例:
- 测试用例1:x=4,y=6,z=12,预期输出j=22%3=1
- 测试用例2:x=4,y=2,z=12,预期输出j=15%3=0
- 测试用例3:x=5,y=2,z=8,预期输出j=0
- 测试用例4:x=2,y=2,z=2,预期输出j=0
- 测试用例5:x=1,y=2,z=5,预期输出j=0
- 测试用例6:x=1,y=6,z=8,预期输出j=0
- 测试用例7:x=2,y=4,z=9,预期输出j=0
- 测试用例8:x=2,y=2,z=8,预期输出j=0
7. 使用路径覆盖方法,可以列出以下路径:
- 路径1:1 → 2 → 4
- 路径2:1 → 2 → 3 → 4
- 路径3:1 → 2 → 3 → 4
- 路径4:1 → 4
根据路径覆盖方法,需要至少执行到每条路径一次,因此可以设计以下测试用例:
- 测试用例1:x=4,y=6,z=12,预期输出j=22%3=1
- 测试用例2:x=4,y=2,z=12,预期输出j=15%3=0
- 测试用例3:x=5,y=2,z=8,预期输出j=0
- 测试用例4:x=1,y=2,z=5,预期输出j=0
- 测试用例5:x=2,y=2,z=2,预期输出j=0