int DoWork(int x,int y,int z){ 1 int k=0,j=0; 2 if(( x<5 ) && ( z>9)) 3 { 4 k=x*y-1; 5 j=sqrt(k); 6 } 7 if(( x= =4 ) || ( y>5 )) 8 j=x*y+10; 9 j=j%3; 10 return j; 11 }编写java类,调用该方法,进行白盒测试
时间: 2023-11-27 10:03:40 浏览: 129
白盒测试用例练习.docx
5星 · 资源好评率100%
下面是Java类的代码:
```java
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class DoWorkTest {
@Test
public void testDoWork() {
int x = 2, y = 3, z = 10;
assertEquals(0, DoWork(x, y, z));
x = 4; y = 3; z = 5;
assertEquals(1, DoWork(x, y, z));
x = 3; y = 6; z = 11;
assertEquals(0, DoWork(x, y, z));
x = 4; y = 6; z = 11;
assertEquals(1, DoWork(x, y, z));
x = 4; y = 6; z = 9;
assertEquals(2, DoWork(x, y, z));
}
private int DoWork(int x, int y, int z) {
int k=0, j=0;
if((x < 5) && (z > 9)) {
k = x * y - 1;
j = (int) Math.sqrt(k);
}
if((x == 4) || (y > 5)) {
j = x * y + 10;
}
j = j % 3;
return j;
}
}
```
该类中包含了一个测试方法`testDoWork()`,其中设置了5组测试用例,分别对应于不同的输入参数。对于每组测试用例,使用`assertEquals()`方法来验证预期输出是否与实际输出一致。最后,在测试方法中调用了被测方法`DoWork()`,并返回其输出结果进行验证。
白盒测试主要关注程序的内部结构,因此在编写测试用例时需要了解被测试函数的内部逻辑。根据题目给出的代码,可以设计多组测试用例来覆盖不同的分支和条件语句。
阅读全文