白盒测试简介

  白盒测试

概览

  白盒测试也叫透明盒测试,或者叫结构测试,是用来测试软件内部结构或者应用的工作情况的测试方法,在白盒测试中,设计测试用例时会用到对系统内部结构理解和一定的编程技巧。测试员需要选择合适的输入来覆盖路径,并决定合适的输出。

  白盒测试可以应用在单元测试,集成测试和系统测试上。尽管传统测试者更倾向于在单元测试层面做白盒测试,但是现在白盒测试在集成测试和系统测试上的应用越来越频繁。白盒测试可以用于单元内的路径覆盖,集成测试时的单元间路径覆盖,或者在系统测试时子系统建的路径覆盖。虽然这种方法会发现许多错误和问题,但是却有可能遗漏说明书中提到的却没有实现或者遗漏的要求。

  设计白盒测试的技术有以下几种覆盖标准:

  • ?   控制流测试
  • ?   数据流测试
  • ?   分支测试
  • ?   语句覆盖
  • ?   决策覆盖
  • ?   修改条件/判断覆盖
  • ?   朴素路径测试
  • ?   路径测试

基本步骤

  白盒测试的基本过程需要测试者对所测代码有深层理解,程序猿必须十分熟悉应用,知道设计什么样的测试用例才能在覆盖所有的可见路径。当理解代码后,就要分析代码,并据此设计测试用例。以下是设计测试用例的几个基本步骤:

  1. 准备,收集不同类型的需求文档,功能说明书,详细设计文档,恰当的源代码,安全说明等。这些为白盒测试输入基本信息做准备
  2. 处理,需要进行分先分析,得出整个测试过程,合适的测试计划,执行测试用例,并对结果进行沟通。这是创建能够彻底测试应用并且能够记录相应的结果的测试用例的基本步骤。
  3. 输出,围绕这上面的准备和结果来写最终的测试报告。

优点

  白盒测试是现如今广发使用的两大方法中的一种,主要有一下几种优点:

  1. 知道代码有利于彻底的测试代码
  2. 通过揭露隐藏的错误和消除可能的缺陷,能够优化代码
  3. 因为开发者需要仔细的描述新的实现,能够让程序猿得到反省
  4. 让代码有可回溯性,当代码改变时能够轻易的修改测试用例
  5. 易于自动化
  6. 从工程实践较多对测试终止条件给出了清晰的规则

缺点

  尽管白盒测试有很多优点,但他并不是完美的,任然存在混多缺点:

  1. 白盒测试增大了测试的复杂度,因为测试者需要了解程序,甚至程序猿本人。因为白盒测试本身的复杂性,白盒测试在测试的时候需要测试者有很高的知识层次。
  2. 在有些场合,测试应用中不可能单独地测试所有的存在条件,有的条件也不会被测试到。
  3. 测试关注软件本身,可能会忽视功能性的缺陷。
时间: 2024-10-12 00:03:33

白盒测试简介的相关文章

Assignment3:白盒测试以及测试框架简介

一. 白盒测试简介 白盒测试又称结构测试.透明盒测试.逻辑驱动测试或基于代码的测试.白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的."白盒"法全面了解程序内部逻辑结构.对所有逻辑路径进行测试."白盒"法是穷举路径测试.在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据.贯穿程序的独立路径数是天文数字. 采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静

单元测试和白盒测试相关总结

一.  软件测试方法 1.        软件测试方法包括:白盒测试(White  Box  Testing).黑盒测试(Black  Box Testing).灰盒测试.静态测试.动态测试. 2.        白盒测试:是一种测试用例设计方法,在这里盒子指的是被测试的软件,白盒,顾名思义即盒子是可视的,你可以清楚盒子内部的东西以及里面是如何运作的,因此白盒测试需要你对系统内部的结构和工作原理有一个清楚的了解,并且基于这个知识来设计你的用例. 白盒测试技术一般可被分为静态分析和动态分析两类技术

Junit(3)JUnit和单元测试入门简介

1.几个相关的概念 白盒测试--把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人员是公开的. 回归测试--软件或环境的修复或更正后的"再测试",自动测试工具对这类测试尤其有用. 单元测试--是最小粒度的测试,以测试某个功能或代码块.一般由程序员来做,因为它需要知道内部程序设计和编码的细节. JUnit --是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.他是用于单元测试框架体系xUnit的一个实例(用于java语言).主要用于白盒测试,回归测试. 2.

白盒测试

一.定义: 白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的."白盒"法全面了解程序内部逻辑结构.对所有逻辑路径进行测试."白盒"法是穷举路径测试.在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据.----------百度百科. 二.方法: 1. 循环测试 简单循环测试 ① 零次循环:从循环入口到出口    ② 一次循环:检查循环初始值    ③ 二次循环:两次

测试基础知识(白盒测试,黑盒测试,测试用例,功能测试等等)

测试基础知识 找实习工作的过程中总结了下测试基础知识,编程能力重要,测试基础同样重要,希望对大家有帮助 软件测试方法:静态测试和动态测试                     白盒测试和黑盒测试                     传统测试与面向对象测试 软件测试过程:单元测试,集成测试,系统测试,验收测试 按测试类型:功能.性能.界面.易用性测试.兼容性测试.安全性测试.安装测试 (单元测试:在编码过程中,对每个小程序单元测试) (集成测试:将单元集成在一起后,可称为组件) 回归测试.冒

【转】一般的测试流程和各阶段测试工具简介

一般测试流程:1.需求分析阶段:只要就是对业务的学习,分析需求点.2.测试计划阶段:测试组长就要根据SOW开始编写<测试计划>,其中包括人员,软件硬件资源,测试点,集成顺序,进度安排和风险识别等内容.3.测试设计阶段:测试方案一般由对需求很熟的高资深的测试工程师设计,测试方案要求根据<SRS>上的每个需求点设计出包括需求点简介,测试思路和详细测试方法三部分的方案.<测试方案>编写完成后也需要进行评审.4.测试方案阶段:主要是对测试用例和规程的设计.测试用例是根据<

五班二组白盒测试实践进度(2)

小组成员上午下机后,召开了小组例会,围绕昨天的遗留的问题进行讨论,同时规划以后的进程安排内容如下: 小组成员易,学习MOOC第三周,第四周白盒测试视频,自己使用excel文件来记录测试用例设计了一些测试用例,小组讨论希望他能找到一款测试工具帮他,使用测试管理工具来录入设计的测试用例,最后用csv或excel等工具支持的导出形式导出为测试用例清单文件 小组成员刘,认真观看学习MOOC课程"软件测试与质量"的3.4节 静态白盒测试,通过视频和讲义了解相关内容.,认真学习邹欣老师的讲义&qu

Android网络通讯简介

网络通信应该包含三部分的内容:发送方.接收方.协议栈.发送方和接收方是参与通信的主体,协议栈是发送方和接收方进行通信的契约.按照服务类型,网络通信可分为面向连接和无连接的方式.面向连接是在通信前建立通信链路,而通信结束后释放该链路.无连接的方式则不需要在通信前建立通信连接,这种方式不保证传输的质量. Android提供了多种网络通信的方式,如Java中提供的网络编程,在Android中都提供了支持.Android中常用的网络编程方式如下: 针对TCP/IP协议的Socket和ServerSock

微信红包的架构设计简介

@来源于QCon某高可用架构群整理,整理朱玉华. 背景:有某个朋友在朋友圈咨询微信红包的架构,于是乎有了下面的文字(有误请提出,谢谢) 概况:2014年微信红包使用数据库硬抗整个流量,2015年使用cache抗流量. 微信的金额什么时候算? 答:微信金额是拆的时候实时算出来,不是预先分配的,采用的是纯内存计算,不需要预算空间存储.. 采取实时计算金额的考虑:预算需要占存储,实时效率很高,预算才效率低. 实时性:为什么明明抢到红包,点开后发现没有? 答:2014年的红包一点开就知道金额,分两次操作