实验4白盒测试(二)new
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京信息工程大学实验(实习)报告
实验四白盒测试(二)
一、实验目的
理解白盒测试的基本方法,掌握语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等代码覆盖测试策略,并能运用相应的方法设计测试用例
二、实验时间
2学时
三、实验准备
主流PC 机一套,要求安装windows 操作系统和Office 工具及相应编程软件;
四、实验内容
1.题目一:使用逻辑覆盖测试方法测试以下程序段
void DoWork (int x,int y,int z){
1 int k=0, j=0;
2 if ( (x>3)&&(z<10) )
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 }
说明:程序段中每行开头的数字(1~10)是对每条语句的编号。
(1)画出程序的控制流图(用题中给出的语句编号表示)。
(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。
2.题目二:
请按要求对下面的java 代码进行测试。代码的功能是:用折半查找法在元素呈升序排列的数组中查找值为key 的元素。
public int binSearch ( int array[], int key ) {
1 int mid, low, high;
2 low = 0;
3 high = array.length-1;
4 while ( low <= high ) {
5 mid = (low +high)/2;
6 if ( key = = array [mid] )
7 return mid;
8 else if ( key < array [mid] )
9 high = mid -1;
10 else
11 low = mid + 1
12 }
13 return -1;
14 }
(1)画出此程序段的控制流图;
(2)试计算此程序段的McCabe 复杂性;
(3)用独立路径覆盖法给出测试路径;并为各测试路径设计测试用例。
五、实验步骤
程序流程图
条件覆盖
判定/条件覆盖
①x > 3 ;② z < 10 ;③ x = = 4 ;④ y > 5 ;
①x > 3 ;② z < 10 ;③ x = = 4 ;④ y > 5 ;
令 x > 3 为真时,记作T1 ;为假时,即x ≤ 3 , 记作F1 ;
z< 10 为真时,记作T2 ;为假时,即z ≤ 10, 记作F2 ;
x = = 4 为真时,记作T3 ;为假时,即x ≠ 4 , 记作F3 ;
路径覆盖
第二题
程序流程图
START
Low=0High=array length-1
Low<=high
Mid=(low+high)/2Key==arry[mid]
Key High=mid-1 Low=mid+1 Return mid Return-1end N Y Y N N 控制流图 (2)计算此程序段的McCabe 复杂性 若设P为控制流图中的判定节点数,则有V(G) = P + 1 如图中有3个判定节点,因此其环路复杂性为V(G)=P+1=3+1=4,所以该程序的环路复杂性为4。 (3)独立路径: PATH1:1-2-3-4-13-14 PATH2:1-2-3-4-5-6-7-12-4-13-14 PATH3:1-2-3-4-5-6-8-9-12-4-13-14 六、实验心得 通过本次实验,让我了解到白盒测试的方法有很多种,要根据不同的测试对象,选择合适地方法。要对条件组合覆盖和条件判断覆盖进行区别。 (专业文档资料素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)