53测试数据的设计 ●5.3.1逻辑覆盖测试(白盒测试方法) 例: PROCEDURE prol parameter A, B, X AND if(A>1)AND(B=0) XEX/A XEXA b endif if(A=2)OR.(X>1) X=X+1 endif X=X+1 两个判定(菱形部分)和四个条件(A>1、B=0、A=2、X>1)
5.3 测试数据的设计 ⚫ 5.3.1 逻辑覆盖测试(白盒测试方法) 例: 两个判定(菱形部分)和四个条件(A>1、B=0、A=2、X>1) PROCEDURE pro1 parameter A,B,X if (A>1) .AND. (B=0) X=X/A endif if (A=2) .OR. (X>1) X=X+1 endif A>1 AND B=0 X=X/A A=2 OR X>1 X=X+1 Y Y N N a c b e d
●1、语句覆盖: 编写足够的测试数据,使得每条语句至少执 行一次 路径ace满足覆盖要求 设计的测试数据:A=2;B=0;X=3 问题:如果第一个判定被错误地写成“OR”, 这个错误就检査不出来。同样如果将第二个 判定中“X>1”写成“Ⅹ>03,也将检查不 出错误
⚫ 1、语句覆盖: –编写足够的测试数据,使得每条语句至少执 行一次 –路径ace 满足覆盖要求 –设计的测试数据:A=2;B=0;X=3 – 问题:如果第一个判定被错误地写成“OR” , 这个错误就检查不出来。同样如果将第二个 判定中“X>1”写成“X>0” ,也将检查不 出错误
2、判定覆盖 编写足够的测试数据,使得每个判定至少有 次“真”和一次“假”的结果。或者说, 每个分支方向都必须至少经过一次 路径ace、bad或路径acd、abe都可以满足覆 盖要求 设计的测试数据: ●A=3,B=0,X=3 ●A=2,B=1,X=1 问题:若第二个判定有错(X>1被错误地写 成Ⅹ<1),用路径acd及abe就检测不出这个 错误
⚫ 2 、判定覆盖 –编写足够的测试数据,使得每个判定至少有 一次“真”和一次“假”的结果。或者说, 每个分支方向都必须至少经过一次。 –路径ace、bad或路径acd、abe都可以满足覆 盖要求 – 设计的测试数据: ⚫ A=3,B=0,X=3 ⚫ A=2,B=1,X=1 – 问题:若第二个判定有错(X>1被错误地写 成X<1),用路径acd及abe就检测不出这个 错误