Charpter6 关于白盒测试

一、什么是白盒测试

黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。

白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

二、白盒测试的目的

  1. 保证一个模块中的所有独立路径至少被执行一次;
  2. 对所有的逻辑值均需要测试真、假两个分支;
  3. 在上下边界及可操作范围内运行所有循环;
  4. 检查内部数据结构以确保其有效性。

三、关于白盒测试覆盖

首先,白盒测试使用穷举测试是不可行的。白盒测试考虑的是测试用例对于程序内部逻辑的覆盖程度。当然,最彻底的测试用例是覆盖程序中国年的每一条路径。但一旦程序中含有循环,路径将会变的无限大,所以穷举测试是不可行的。我们职能将覆盖的程度尽量高些。

四、关于白盒测试的覆盖标准

覆盖标准从低到高分别为:

  1. 语句覆盖:选择足够多的测试数据,使得被测程序中的每个语句至少执行一次。
  2. 判定覆盖:不仪每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次。
  3. 条件覆盖:不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果。
  4. 判定/条件覆盖:选取足够多的测试数据,使得判定表达式中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。
  5. 条件组合覆盖:选取足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。
  6. 路径覆盖:彻底的测试,穷举测试

五、白盒测试需要注意的地方

1.白盒法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。白盒法是穷举路径测试。在使用这一方案时,要求测试者必须检查程序的内部结构.从检查程序的逻辑着手,得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一,穷举路径测试决不能查出程序违反了设计规范.即程序本身是个错误的程序。第二,穷举路径测试不可能查出程序中因遗漏路径而出错。第三,穷举路径测试可能发现不了一些与数据相关的错误。

2.白盒测试是工作量巨大并且枯燥的工作.可视化的设计对于测试来说是十分重要的。在选购白盒测试工具时,应当考虑该款测试工具的可视化是否良好。例如:测试过程中是否可以显示覆盖率的函数分布图和上升趋势图,是否使用不同的颜色区分已执行和未执行的代码段显示分配内存情况实时图表等,这些对于测试效率和测试质量的提高是具有很大的作用的。白盒测试目前主要用在具有高可靠性要求的软件领域,例如:军工软件、航天航空软件、工业控制软件等等。

  新开发的软件通过了黑盒测试和白盒测试以后.可以说基本满足了设计要求,但并不能保证该软件没有问题存在.只有经过实际试运行的检验,才能更进一步完善和优化,达到软件最优态。

  总之,软件测试的目的不仅是为了发现软件缺陷与错误,而且是对软件质量进行度量和评估,以提高软件的质量。

时间: 2024-10-09 09:56:01

Charpter6 关于白盒测试的相关文章

白盒测试方法

白盒测试,英文是White Box Testing.又称结构测试或者逻辑驱动测试. 白盒测试是把测试对象看作一个打开的盒子.利用白盒测试法进行动态测试时,需要测试软件产品的内部结构和处理过程,不需测试软件产品的功能. 白盒测试法的覆盖标准有逻辑覆盖.循环覆盖和基本路径测试.其中逻辑覆盖包括语句覆盖.判定覆盖.条件覆盖.判定/条件覆盖.条件组合覆盖和路径覆盖. 白盒测试是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条

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

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

入门级----黑盒测试、白盒测试、手工测试、自动化测试、探索性测试、单元测试、性能测试、数据库性能、压力测试、安全性测试、SQL注入、缓冲区溢出、环境测试

黑盒测试 黑盒测试把产品软件当成是一个黑箱子,只有出口和入口,测试过程中只要知道往黑盒中输入什么东西,知道黑盒会出来什么结果就可以了,不需要了解黑箱子里面是如果做的. 即测试人员不用费神去理解软件里面的具体构成和原理,只要像用户一样看待产品就可以了. 例如银行转账功能,不需要知道转账的具体实现代码是怎样工作的,只需要把自己想象成各种类型的用户,模拟多种转账情况看系统是否能正常转账即可. 但是仅仅像用户一样去测试又是不够的.如果只做黑盒测试,必然是存在一定的风险的. 例如某个安全性较高的软件系统,

对白盒测试的一些理解

白盒测试,是一种透明化的测试,程序的内部结构是可视的,是对用例的测试. 白盒测试测试方式有语句覆盖,判断覆盖,条件覆盖,还有判定条件覆盖,条件组合覆盖 白盒测试能发现一系列问题,如逻辑问题,边界条件,变量未初始化,内存越界等一系列问题 如果产品更多的具备软件平台特性,白盒测试应占总测试的80%以上,而如果产品具备复杂的业务操作,有大量GUI界面,黑盒测试的份量应该更重些: 白盒测试和黑盒测试的成分因视情况而定

黑盒测试白盒测试

           白盒测试:是通过程序的源代码进行测试而不使用用户界面.这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正            黑盒测试:又被称为功能测试.数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解 该软件的源代码程序具体是怎样设计的.测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作            黑盒测试(与白盒测试区别

白盒测试一些方法

白盒测试的基本方法 白盒测试足针对软件内部结构的测试,土要是川覆盖的方式对程序代码进行测.戚.下面就白盒测试中的六种典型覆盖方法进行探讨. 1)语句覆盖 作为最基本的逻辑覆盖方法,语句覆盖的含义是:选择足够多的测试数据,使得被测程序中的每个语句至少执行一次.通过语句覆盖,可以直观地从源代码得到测试用例,无须细分每条判定表达式:然而,语句覆盖对程序的逻辑覆盖很少,对于一个包含多个条件的判定表达式,它只关心判定表达式的值,并没有分别测试判定表达式中每个条件取不同值的情况.所以语句覆盖无法全面反映多分

Assignment6:白盒测试方法

常用的软件测试方法有两大类:静态测试方法和动态测试方法. 其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试:而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程.在动态分析技术中,最重要的技术是路径和分支测试. 六种白盒子测试方法:(强度由低到高)语句覆盖.判定覆盖.条件覆盖.判定条件覆盖.条件组合覆盖.路径覆盖. 1)所谓语句覆盖:就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执

软件测试——白盒测试

1.白盒测试的概述 由于逻辑错误和不正确假设与一条程序路径被运行的可能性成反比.由于我们经常相信某逻辑路径不可能被执行, 而事实上,它可能在正常的情况下被执行.由于代码中的笔误是随机且无法杜绝的,因此我们要进行白盒测试. 白盒测试又称结构测试,透明盒测试.逻辑驱动测试或基于代码的测试.白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的. 1) 白盒的测试用例需要做到: ·保证一个模块中的所有独立路径至少被使用一次 ·对所有逻辑

第二部分:白盒测试之概述

白盒测试定义: 白盒测试又称结构测试,透明盒测试.逻辑驱动测试或基于代码的测试.白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的."白盒"法是穷举路径测试.在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据. 白盒测试分类: 白盒测试的方法总体上来说分为两大类,即静态方法与动态方法.静态方法指的是软件的测试并不经过实际的执行,测试人员采用人工模拟的方式对软件进行测试.而对于动态方法,