您的当前位置:首页正文

白盒测试

2023-10-23 来源:客趣旅游网


实验报告

实验名称: 程序白盒测试实验

实验地点:湖南城市学院信息楼

实验日期:

指导老师:

学生班级:

学生姓名:

提交日期:403

2012-5-7

王科

2012-5-14

白盒测试

一、实验目的

1、理解白盒测试的基本方法,并能够用白盒测试技术设计测试用例。 2、掌握驱动模块和桩模块,以及运用掌握编程语言开发桩模块。

二、实验准备

1、主流PC机一套,要求安装windows操作系统、Virtul Studio6.0、java等工具;

2、理解白盒测试方法以及单元测试相关方面知识; 3、熟悉上述方法测试用例设计的理论。

三、实验内容

题目一:

void main() {

int arr[ ]={1,10,7,5,28,14,13,98} int arr1[ ]=bubbleSort(int arr[ ]) for( int i=0;isystem.ou.println(arr[i]) }

要求:

a.大家用c编程语言,实现bubbleSort(int arr[ ]) b.请用基路径法设计测试用例。

题目二:使用逻辑覆盖方法测试下面程序段

int 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 return j; 11 }

说明:程序段前面数字代表程序语句的标号

1、画出程序的控制流图(用题中给出的语句编号表示)。

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、试计算此程序段的McCabe 复杂性; 2、用基本路径覆盖法给出测试路径; 3、为各测试路径设计测试用例。

四、实验步骤

题目一:

步骤一:写出bubbleSort(int arr[])的C语言源代码。 void bubbleSort(int arr[]) 1 {

2 int temp,i,j;

3 for(i=0; i arr[j]) 6 {

7 temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; 8 } 9 }

步骤二:画出控制流图,bubbleSort(int arr[])对应的控制流图如下图所示。

步骤三:计算圈复杂度。通过公式V(G)=E-N+2来计算,本例中E=11,N=9。 故:V(G)=11-9+2=4。

步骤四:找出独立路径。 Path1:1-2-3-4-5-6-7-8-9 Path2:1-2-3-4-5-4-3-9

步骤五:为各测试路径设计测试用例如下: 用例编号 路径 输入数据 预期输出 1 2 Path1:1-2-3-4-5-6-7-8-9 2、1、3 Path2:1-2-3-4-5-4-3-9 1、2、3 1、2、3 1、2、3 题目二:

步骤一:画出程序控制流图,其对应的控制流图如下图所示。

步骤二:按语句覆盖设计测试用例,经分析,只需设计一组测试用例即可。 X=4,Y=6,Z=7.

其执行路径是:1-2-3-4-5-6-7-8-9-10

步骤三:按判定覆盖设计测试用例,经分析,只需设计二组测试用例即可。 X=4,Y=6,Z=7.

其执行路径是:1-2-3-4-5-6-7-8-9-10 X=2,Y=3,Z=4.

其执行路径是:1-2-6-7-9-10

步骤四:按条件覆盖设计测试用例,经分析,只需设计二组测试用例即可。 X=4,Y=5,Z=12.

其执行路径是:1-2-6-7-9-10 X=2,Y=6,Z=8.

其执行路径是:1-2-6-7-8-9-10

步骤四:按判定-条件覆盖设计测试用例,经分析,只需设计二组测试用例即可。

X=4,Y=6,Z=7.

其执行路径是:1-2-3-4-5-6-7-8-9-10 X=2,Y=2,Z=12.

其执行路径是:1-2-6-7-9-10

步骤五:按组合覆盖设计测试用例,经分析,只需设计四组测试用例即可。 X=4,Y=6,Z=7.

其执行路径是:1-2-3-4-5-6-7-8-9-10 X=4,Y=2,Z=12.

其执行路径是:1-2-6-7-8-9-10 X=2,Y=6,Z=7.

其执行路径是:1-2-6-7-8-9-10 X=2,Y=2,Z=12.

其执行路径是:1-2-6-7-9-10

步骤六:按路径覆盖设计测试用例,经分析,只需设计四组测试用例即可。 X=4,Y=6,Z=7.

其执行路径是:1-2-3-4-5-6-7-8-9-10 X=4,Y=6,Z=12.

其执行路径是:1-2-6-7-8-9-10 X=6,Y=2,Z=7.

其执行路径是:1-2-3-4-5-6-7-9-10 X=2,Y=2,Z=12.

其执行路径是:1-2-6-7-9-10

题目三:

步骤一:绘制代码段的控制流图,其对应的控制流图如下图所示。

步骤二:根据控制流图计算程序的McCabe 复杂度。 V(G)=E-N+2=13-11+2=4.

步骤三:找出程序段的独立路径。经分析,可得4条独立路径。 Path1:1-2-3-4-5-6-8-10-12-4-13 Path2:1-2-3-4-5-6-8-10-11-12-4-13 Path3:1-2-3-4-5-6-8-9-12-4-13 Path4:1-2-3-4-5-6-7

步骤四:设计测试用例 用例编号 路径 输入数据 1 Path1:1-2-3-4-5-6-8-10-12-4-13 2 Path2:1-2-3-4-5-6-8-10-11-12-4-13 3 Path3:1-2-3-4-5-6-8-9-12-4-13 4 Path4:1-2-3-4-5-6-7 预期输出 五、实验总结

1、白盒测试与程序内部结构相关,因此也称为结构测试或逻辑驱动测试。而在进行白盒测试时,测试者必须检查程序的内部结构,从程序的逻辑结构着手,得出测试数据。因此测试者需要了解程序结构的实现细节等知识,才能有效进行测试用例的设计工作。

2、白盒测试并不是简单地按照代码设计测试用例,而是需要根据不同的测试需求,结合不同的测试对象,使用合适的方法进行测试。而白盒测试的方法也很多,主要方法有逻辑覆盖测试、基本路径测试等。

3、通过这次实验,我了解到绘制程序流程图与控制流图之间的区别,并且能够通过控制流图来用各种方式设计测试用例。

因篇幅问题不能全部显示,请点此查看更多更全内容