白盒测试一些方法

白盒测试的基本方法

  白盒测试足针对软件内部结构的测试,土要是川覆盖的方式对程序代码进行测、戚。下面就白盒测试中的六种典型覆盖方法进行探讨。

  1)语句覆盖

  作为最基本的逻辑覆盖方法,语句覆盖的含义是:选择足够多的测试数据,使得被测程序中的每个语句至少执行一次。通过语句覆盖,可以直观地从源代码得到测试用例,无须细分每条判定表达式;然而,语句覆盖对程序的逻辑覆盖很少,对于一个包含多个条件的判定表达式,它只关心判定表达式的值,并没有分别测试判定表达式中每个条件取不同值的情况。所以语句覆盖无法全面反映多分支的逻辑运算,是很弱的逻辑覆盖标准。

  2)判定覆盖

  判定覆盖也称分支覆盖.其含义为:不仪每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该至少执行一次,即每个判定的每个分支都至少执行一次判定覆盖相对于语句覆盖,其逻辑覆盖能力更强。然而判定覆盖也具有和语句覆盖一样的简单性,大部分的判定语句是南多个逻辑条件组合而成,它也仅判断判定表达式的最终结果,而忽略每个条件的取值情况,故在执行过程中必然会遗漏部分测试路径。

  3)条件覆盖

  条件覆盖的含义是,不仅每个语句至少执行一次,而且使判定表达式中的每个条件都取到各种可能的结果。相对于判定覆盖,条件覆盖的覆盖能力更强,因为判定覆盖只关心整个判定表达式的值,而条件覆盖使判定表达式中每个条件都取到了不同的结果。条件覆盖增加了对符合判定情况的测试。然而,要达到条件覆盖,需要足够多的测试用例,但条件覆盖并不能保证判定覆盖。因此,条件覆盖只能保证每个条件至少有一次为真,而未考虑所有的判定结果。

  4)判定/条件覆盖

  由于判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖.故提出一种既能满足判定覆盖标准又能满足条件覆盖标准的覆盖方法,即:判定/条件覆盖。其含义是:选取足够多的测试数据,使得判定表达式中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。判定/条件覆盖准则的缺点是未能考虑条件的组合情况。

  5)条件组合覆盖

  条件组合覆盖是更强的逻辑覆盖标准,其含义是:选取足够多的测试数据,使得每个判定表达式中条件的各种可能组合都至少出现一次。满足条件组合覆盖准则的测试数据必然满足判定覆盖、条件覆盖和判定/条件覆盖准则。因此,条件组合覆盖是述几种覆盖标准中最强的。然而,条件组合覆盖存在两个不足之处:是线性地增加了测试数据的数量;二是满足条件组合覆盖标准的测试数据不一定能使序中的每条路径都执行到。

  6)路径覆盖

  路径覆盖要求选取足够多的测试数据,覆盖序中所有可能的路径。其优点是:可以对程序进行彻底的测试,比前述五种的覆盖面都广。然而,由于路径覆盖需要对所有可能的路径进行测试(包括循环、条件组合、分支选择等),故需要设计大量、复杂的测试用例,使得T作量呈指数级增长。

[编辑]

白盒测试应用应考虑的问题

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

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

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

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

时间: 2024-10-23 05:09:25

白盒测试一些方法的相关文章

白盒测试设计方法

白盒测试设计方法,布布扣,bubuko.com

白盒测试的方法总结概括

白盒测试,有时候又称为基于结构的测试,是基于测试对象的代码.数据,或者系统架构而进行测试的一种技术,它关注的是测试对象的内部结构.白盒测试技术的共同特点有: 测试对象的内部结构信息是设计测试用例的依据,例如:程序代码和设计架构. 测试对象的覆盖率可以通过已有的测试用例来测量,并且可以系统的增加测试用例来提高覆盖率. 满足白盒测试的相关测试准则,并不意味整个测试已完成,而只能说明测试对象已不需要基于此技术再进行额外的测试,但是可以继续应用其他测试技术. 在测试过程中,测试人员可以根据测试强度的不同

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

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

软件测试——白盒测试

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

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

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

关于白盒测试

引言: 鉴于本次实验要进行的白盒测试,特意学习了白盒测试的相关流程以及方法,以便能顺利完成这次白盒测试实验. 1.白盒测试的概述 由于逻辑错误和不正确假设与一条程序路径被运行的可能性成反比.由于我们经常相信某逻辑路径不可能被执行, 而事实上,它可能在正常的情况下被执行.由于代码中的笔误是随机且无法杜绝的,因此我们要进行白盒测试. 白盒测试又称结构测试,透明盒测试.逻辑驱动测试或基于代码的测试.白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及

测试小笔记(黑\白盒测试及区别、测试用例的设计)

测试的概念: 白盒测试 黑盒测试 白盒测试.黑盒测试优劣比较   测试用例的设计 一般而言,在所有的方法中效率最低的是随机输入测试,即在所有可能的输入值中随机选取某个子集来对程序进行测试的过程. 白盒测试的方法:1)语句覆盖.2)判定覆盖.3)条件覆盖.4)判定/条件覆盖.5)多重条件覆盖. 1.>语句覆盖:较弱的准则,将程序中的每条语句至少执行一次. 2.>判定覆盖或分支覆盖:较强的逻辑覆盖准则,必需编写足够的测试用例,使得每个判断都至少有一个为真和为假的输出结果.也就是说每条分支路劲都必须

白盒测试概述

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

白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖(转)

转自:http://wenda.tianya.cn/wenda/thread?tid=758a1e447e62b7df&hl=ja 白盒测试作为测试人员常用的一种测试方法,越来越受到测试工程师的重视.白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试.因为对于不同复杂度的代码逻辑,可以衍生出许多种执行路径,只有适当的测试方法,才能帮助我们从代码的迷雾森林中找到正确的方向.本文介绍六种白盒子测试方法:语句覆盖.判定覆盖.条件覆盖.判定条件覆