6 关于白盒测试的实验总结

本周我们队在windows8上的C#代码进行了白盒测试。

关于白盒测试:

此方法把测试对象看做一个透明把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。 通过在不同点检查程序的状态, 确定实际的状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。

软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:

  • 对程序模块的所有独立的执行路径 所有独立的执行路径至少测试一 次;
  • 对所有的逻辑判定所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次都至少测试一次;
  • 在循环的边界和运行界限内执行循环体;
  • 测试内部数据结构的有效性内部数据结构的有效性等。

关于单元测试:

单元测试是对程序代码单元进行函数级的测试,是完成对最小软件设计单元的验证工作。

单元测试工作主要从 1 )单元功能; 2 )单元接口; 3 )数据结构; 4 )语句/分支覆盖等4个方面单元函数进行测试。对单元功能的测试是保证单元模块具有完成符合设计要求的功能;对单元接口的测试是保证在测试时进出程序单元的数据流正确;对数据结构的测试是保证存储的全局数据、局部数据在算法执行的过程中的完整性;对语句/分支覆盖的测试是保证单元函数在极限边界条件能够正确执行,函数的每条语句、每个分支都能执行一次,消除无用代码.

单元函数是由各种语句组成的程序代码,对各种语句测试用例的设计是单元测试的关键。

关于测试方法:

有了测试环境 ,重要的是设计测试用例 ,基本路径、判断条件、数据划分、边界值分析是从不同角度设计测试用例的有效方法。

程序基本路径集:

程序的环路复杂性给出了程序基本路径集中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。

从控制流图来看,一条独立路径是至少包含有一条在其它独立路径中从未有过的边的路径。

基本路径方法设计测试用例的过程:

  • 从代码导出流图
  • 确定流图的圈复杂度
  • 确定独立路径的基本集
  • 导出测试用例,确保基本路径集中的每一条 确保基本路径集中的每一条路径的执行。

每个测试用例执行之后,与预期结果进行比较。如果所有测试用例都执行完毕,则可以确信程序中所有的可执行语句至少被执行了一次。

注意,一些独立的路径,往往不是完全孤立的,有时它是程序正常的控制流的一部分,这时,这些路径的测试可以是另一条路径测试的一部分。

时间: 2024-08-28 22:53:41

6 关于白盒测试的实验总结的相关文章

好像木有白盒测试实验的报告,补一个~

个人感觉我的白盒测试报告还是写的很好的,而且实验我也是很费心的做了很久才完成(并不是因为蠢) 实验目的 1.根据软件的结构和数据决定采取的白盒测试策略: 2.选取合适的测试用例: 3.测试结果分析方法. 实验内容及步骤 1.测试计划 1.1项目整体计划 本次实验中,选用任意一段代码对其进行白盒测试.根据选用代码画出程序流程图,再者根据流程图画出程序图.之后根据所学的路径覆盖原则分析出测试用例,根据测试用例的输入和得到的输出,添加相关的断言来具体进行白盒测试. 1.2详细测试计划 1.2.1测试项

软件测试-实验 实验三白盒测试

实验目的 (1)       学习白盒测试方法 (2)       掌握语句覆盖.条件覆盖.分支覆盖等逻辑覆盖方法 (3)       掌握Java代码分析工具的使用 实验内容 1. 计算整数X和整数Y的最大公约数.(不允许采用课堂上所用的方式实现) l  请用类和方法实现(定义一个类,在类中定义一个求最大公约数的方法),命名时请按照规范命名. l  在main方法中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数. l  利用FindBugs查找程序中是否存在bug. 代码: i

实验四 白盒测试

实验目的 (1) 掌握静态分析代码的技巧 (2) 学习黑盒测试中的等价类划分 实验内容 一. 找出函数中存在的问题.以下题目均在Lab04项目中完成. 1. 某站点通过用户输入的用户名和密码(在login.jsp登录页中输入)来判断出现什么样的界面,如果是管理员(即用户名为admin或administrator)跳转到管理员页面(welcome_admin.jsp),非管理用户跳转到普通用户界面(welcome.jsp).游客访问站点是,无需输入用户名和密码,直接进入普通用户界面(welcome

《软件测试》实验四:白盒测试

一.找出函数中存在的问题. 1. 某站点通过用户输入的用户名和密码(在login.jsp登录页中输入)来判断出现什么样的界面,如果是管理员(即用户名为admin或administrator)跳转到管理员页面(welcome_admin.jsp),非管理用户跳转到普通用户界面(welcome.jsp).游客访问站点是,无需输入用户名和密码,直接进入普通用户界面(welcome.jsp). 要求:找出UserOperation.java文件中的getUserRole ()方法存在的问题,说明问题产生

实验三 白盒测试

1. 计算整数X和整数Y的最大公约数.(不允许采用课堂上所用的方式实现) l 请用类和方法实现(定义一个类,在类中定义一个求最大公约数的方法),命名时请按照规范命名. l 在main方法中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数. l 利用FindBugs查找程序中是否存在bug. 1.求最大公约数: package cn.wang.cd; import java.util.Scanner; public class Test1 { /** * 求最大公约数 * 2016/

实验的部分功能白盒测试

写用于检测输入是否合法化的模块代码 画出流程图,画出控制流程图 语句覆盖 1. 1->2->3->8 2. 1->2->4->5->6->7->8 3.1->2->4->4->6->9 分支覆盖 1.  1->8 2.1->2->3->8 3. 1->2->4->9 4. 1->2->4->5->7->8 5.1->2->4->5-&

实验三学习简单的白盒测试

第一题 package cn.wu.com; import java.util.Scanner; public class GCD{ public static int fun1(int a1,int b1){ int c; c=a1%b1; while (c>0) {a1=b1; b1=c; c=a1%b1; } return b1; } public static void main(String[] args) { int a,b,temp; int m; Scanner in=new S

《软件测试》实验三 白盒测试

1. 计算整数X和整数Y的最大公约数 请用类和方法实现(定义一个类,在类中定义一个求最大公约数的方法),命名时请按照规范命名.在main方法中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数.利用FindBugs查找程序中是否存在bug. import java.util.Scanner; public class Demo {     public void compare(int a,int b){ int i = a>b?a:b; for(;i>0;i--){ if(a%i

实验二+001+陈定国

一.实验目的 掌握基于覆盖理论与基本路径的基本白盒测试方法和实践 二.实验要求 运用逻辑覆盖测试的覆盖准则设计被测程序的测试用例,并运行测试用例检查程序的正确与否,给出程序缺陷小结. 三.实验内容 1) 被测原代码 import java.util.Scanner; public class Triangle{ public static void main(String[] args) { while(true){ System.out.println("请输入三角形的三条边:");