软件工程 您所在的位置:网站首页 白盒测试程序 软件工程

软件工程

2023-08-21 12:11| 来源: 网络整理| 查看: 265

一、实验目的

巩固白盒测试知识,对于给定的待测程序,能熟练应用基本控制流覆盖方法设计测试用例;能够执行白盒测试过程,并撰写白盒测试分析报告。

二、实验内容

白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程序的内部结构。测试规划基于产品内部结构进行测试,检查内部操作是否按规定执行,软件各个部分功能是否得到充分使用,则这种测试方法称为白盒测试方法。

白盒测试将被测程序看做一个打开的盒子,测试者能够看到被测源程序,可以分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用例。白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试是“基于覆盖率的测试”。

测试内容包括语句覆盖测试、分支覆盖测试、条件覆盖测试、分支/条件覆盖测试、条件组合覆盖测试和基本路径测试。

三、实验原理、方法和手段

测试程序

     实现对不少于10个随机数的冒泡排序算法。

     2.实验要求

     要求至少采用两种语句覆盖技术,设计测试用例,包括测试数据及预期结果。

四、代码段

import java.io.IOException; import java.util.ArrayList; class Test { public static void main(String[] args) throws IOException { int[] arr = getArr(); System.out.println(); getList(arr); System.out.println(); writeArr(arr); } private static void writeArr(int[] arr) { } // 产生10个随机数 /* * 要产生随机数,可以使用Java api中java.lang包中的Math类.Math类以静态方法的方式提供常用的数学方法, * 其中Math.random()方法是一个可以产生[0.0,1.0]区间内的一个双精度浮点数的方法 如: 产生一个100以内的整数:int * x=(int)(Math.random()*100); 又如: 产生一个1-50之间的随机数:int * x=1+(int)(Math.random()*50) */ public static int[] getArr() { int[] numArr = new int[10]; for (int i = 0; i < 10; i++) { int num = 1 + (int) (Math.random() * 100); numArr[i] = num; } System.out.println("产生的随机数数组为:"); for (int i = 0; i < 10; i++) { System.out.print(numArr[i] + " "); } return numArr; } // 把数组中的数放到一个ArrayList集合中 public static void getList(int[] numArr) { System.out.print("冒泡排序过程:"); // 创建一个集合 ArrayList numList = new ArrayList(); // 给集合添加元素 for (int i = 0; i < numArr.length; i++) { numList.add(numArr[i]); } for (int i = 0; i < numArr.length - 1; i++) {//外层循环控制排序趟数 for (int j = 0; j < numArr.length - 1 - i; j++) {//内层循环控制每一趟排序多少次 if (numArr[j] > numArr[j + 1]) { int temp = numArr[j]; numArr[j] = numArr[j + 1]; numArr[j + 1] = temp; } } //输出 System.out.println(""); for (int num : numArr) { System.out.print(num + " "); } } } }

五、流程图

六、测试用例及测试结果

七、白盒测试分析

       优点:

    1) 帮助软件测试人员增大代码的覆盖率。 提供代码的质量,发现代码中隐藏的问题。

       缺点 :

  1) 程序运行会有很多不同的路径,不可能测试所有的运行路径。

       2) 测试基于代码,只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求。

       3) 系统庞大时,测试开销会非常大。

 

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有