Assignment6:白盒测试方法

  常用的软件测试方法有两大类:静态测试方法和动态测试方法。

  其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。在动态分析技术中,最重要的技术是路径和分支测试。

  六种白盒子测试方法:(强度由低到高)语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

1)所谓语句覆盖:就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。这里的“若干个”,意味着使用测试用例越少越好。语句覆盖率的公式可以表示如下:

语句覆盖率=被评价到的语句数量/可执行的语句总数 x 100%

2)判定覆盖:使设计的测试用例保证程序中每个判断的每个取值分支(t or f)至少经历一次

[优点]:判定覆盖具有比语句覆盖更强的测试能力,而且具有和语句覆盖一样的简单性,无需细分每个判定就可以得到测试用例。

[缺点]:往往大部分的判定语句是由多个逻辑条件组合而成(如,判定语句中包含AND、OR、CASE),若仅仅判断其整个最终结果,而忽略每个条件的取值情况,必然会遗漏部分测试路径。

  例如:

  int a,b;

  if(a || b)

  执行语句1

  else

  执行语句2

要达到这段程序的判断覆盖,我们采用测试用例:1)a = true , b = true ;2)a = flase, b = flase

3)条件覆盖:条件覆盖是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至少出现一次,但未必能覆盖全部分支

条件覆盖要检查每个符合谓词的子表达式值为真和假两种情况,要独立衡量每个子表达式的结果,以确保每个子表达式的值为真和假两种情况都被测试到。

4) 判定条件覆盖:判定-条件覆盖就是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果至少执行,即要求各个判断的所有可能的条件取值组合至少执行一次。

5) 条件组合覆盖:在白盒测试法中,选择足够的测试用例,使所有判定中各条件判断结果的所有组合至少出现一次,满足这种覆盖标准成为条件组合覆盖。

6)路径覆盖:是每条可能执行到的路径至少执行一次;

说明:其中语句覆盖是一种最弱的覆盖,判定覆盖和条件覆盖比语句覆盖强,满足判定/条件覆盖标准的测试用例一定也满足判定覆盖、条件覆盖和语句覆盖,条件组合覆盖是除路径覆盖外最强的,路径覆盖也是一种比较强的覆盖,但未必考虑判定条件结果的组合,并不能代替条件覆盖和条件组合覆盖。

举例:

if A and B then Action1

if C or D then Action2

1)语句覆盖最弱,只需要让程序中的语句都执行一遍即可 。上例中只需设计测试用例使得A=true B=true C=true 即可。

2)分支覆盖又称判定覆盖:使得程序中每个判断的取真分支和取假分支至少经历一次,即判断的真假均曾被满足。上例需要设计测试用例使其分别满足下列条件即可(1)A=true,B=true,C=true,D=false(2)A=true,B=false,C=false,D=false。

3)条件覆盖:要使得每个判断中的每个条件的可能取值至少满足一次。上例中第一个判断应考虑到A=true,A=false,B=true,B=false第二个判断应考虑到C=true,C=false,D=true,D=false,所以上例中可以设计测试用例满足下列条件(1)A=true,B=true,C=true,D=true(2)A=false,B=false,C=false,D=false。

4) 路径覆盖:要求覆盖程序中所有可能的路径。所以可以设计测试用例满足下列条件(1)A=true,B=true,C=true,D=true(2)A=false,B=false,C=false,D=false(3)A=true,B=true,C=false,D=false(4)A=false,B=false,C=true,D=true。

时间: 2024-08-26 04:09:51

Assignment6:白盒测试方法的相关文章

白盒测试方法

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

软件测试基本方法(二)之白盒测试

白盒测试 概念:按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作. 分类:白盒测试是基于覆盖的测试,尽可能覆盖程序的结构特性和逻辑路径,所以其具体方法有逻辑覆盖.循环覆盖.基本路径覆盖.逻辑覆盖又可进一步分为语句覆盖.判定(分支)覆盖.条件覆盖.判定-条件覆盖.条件组合覆盖等.白盒测试主要用于单元测试(我们需要了解程序源码和结构,而且基于输入输出,适合单元模块).下面重点介绍常用的几种白盒测试方法. 语句覆

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

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

白盒测试VS黑盒测试

白盒测试 一.定义 白盒测试是一种测试用例设计方法.在这里,盒子指的是被测试的软件,白盒,顾名思义即是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的.因此,白盒测试需要对系统内部的结构和工作原理有一定的了解,并且基于这个知识来设计你的测试用例. 二.使用白盒测试方法产生的测试用例能够完成的功能 (1)       保证一个模块中的所有独立路径至少被使用一次. (2)       对所有逻辑值均测试true和false. (3)       在上下边界以及可操作范围内运行所有循环. (4)

转:黑盒测试用例设计方法

1. 概述 黑盒测试用例设计方法包括等价类划分法.边界值分析法.错误推测法.因果图法.判定表驱动法.正交试验设计法.功能图法等. 2. 等价类划分法 2.1.              概念 等价类划分法是把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例.每一类的代表性数据在测试中的作用等价于这一类中的其他值. 2.2.              等价类划分法的应用 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理

白盒测试总结

什么是白盒测试? 白盒测试:又称结构测试,它一般用来测试程序的内部结构(Control Flow , Data Flow).并判定其结果是否与预期的结果一致. 白盒测试的种类? 白盒测试的种类:静态分析测试(Static Analysis Test,Code Inspection).语句分支覆盖测试(Ctrl  Flow Test)等 白盒测试的优缺点? 优点 ·迫使测试人员去仔细思考软件的实现 ·可以检测代码中的每条分支和路径 ·揭示隐藏在代码中的错误 ·对代码的测试比较彻底 ·最优化 缺点

【软件测试】白盒测试

本篇日志主要分两个部分,第一部分是对课件中基础知识的整理.然而,虽然课件对白盒测试的覆盖准则讲解得十分细致,但对如何进行实际操作却无涉及,经过前一阶段的探索,我大致掌握了一些方法,希望可以与大家一起讨论,所以第二部分为对应用商店应用中的Visual C#代码进行白盒测试方法初探. [基础知识整理] 一.定义 白盒测试又称结构测试,它一般用来测试程序的内部结构(Control Flow , Data Flow).并判定其结果是否与预期的结果一致. 二.种类 静态分析测试(Static Analys

白盒测试浅谈

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

白盒测试学习

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