一、目的和要求
(1)掌握白盒测试技术,并能应用白盒测试技术设计测试用例
(2)能用 Junit 实施测试
二、实验内容
void DoWork(int x,int y,int z){
1 int k=0,j=0;
2 if(( x>3 ) && ( z<10 ))
3 {
4 k=xy-1;
5 j=sqrt(k);
6 }
7 if(( x= =4 ) || ( y>5 ))
8 j=xy+10;
9 j=j%3;
10 return j;
11 }
说明:程序段中每行开头的数字(1~11)是对每条语句的编号。
(1)分别以语句覆盖、判定覆盖、条件覆盖和路径覆盖方法设计测试用例,
并写出每个测试用例的执行路径(用题中给出的语句编号表示)。
(2)编写 Java 类,调用该方法,并用 Junit 测试工具编写测试代码进行测
试
三、测试用例的编写
根据下面程序流程图,分别用最少的测试用例完成语句覆盖、判定覆盖、条件覆盖和路径覆盖的测试用例!要求标注出所有的语句、判定、条件、路径,并编上序号,每一个测试用例说明覆盖的对应语句、判定、条件、路径的序号。
令条件M={X>0 AND Y>10}
条件N={X<-10 OR Y<0}
条件K={Y=Y/X}
条件J={Y=-(Y+X)}
条件覆盖:
对于第一个判定条件M,可分解成两个条件:
(1) 条件X>0:取真时为T1,取假时为F1.
(2) 条件Y>10: 取真时为T2,取假时为F2.
对于第二个判定条件N,可分解成两个条件:
(1) 条件X<-10:取真时为T3,取假时为F3.
条件Y<0: 取真时为T4,取假时为F4.
测试类:
package ruanjianceshishiyanyi;
public class Baihe {
public Baihe() {
}
public int doWork(int x, int y, int z) {
int k = 0, j = 0;
if ((x >