白盒测试(White-box Testing)

软件测试主要分为两种,一种是黑盒测试,另一种则是白盒测试,下面对白盒测试展开介绍:

1. 白盒测试的概念:

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



2. 测试方法与覆盖标准:

  白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。

  白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。


3. 实施步骤:

  1)测试计划阶段:根据需求说明书,制定测试进度。

  2)测试设计阶段:依据程序设计说明书,按照一定规范化的方法进行软件结构划分和设计测试用例。

  3)测试执行阶段:输入测试用例,得到测试结果。

  4)测试总结阶段:对比测试的结果和代码的预期结果,分析错误原因,找到并解决错误。


4. 基本路径测试法:

  白盒测试的测试方法中运用最为广泛的是基本路径测试法。

  基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。

  在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。包括以下四个步骤和一个工具方法:

  四个步骤:1)画出控制流图;2)计算圈复杂度;3)导出测试用例;4)准备测试用例

  工具方法:


5. 逻辑覆盖标准:

  从覆盖源程序语句的详尽程度分析,逻辑覆盖标准包括以下不同的覆盖标准:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和修正条件判定覆盖。

  1)语句覆盖SC(Statement Coverage):就是设计若干个测试用例,运行被测程序,使得程序中每一可执行语句至少执行一次。这里的“若干个”,意味着使用测试用例越少越好。语句覆盖在测试中主要发现缺陷或错误语句。

  2)判定覆盖DC(Decision Coverage):有时也称分支覆盖,就是指设计若干测试用例,运行被测程序,使得每个判定的取真分支和取假分支至少评价一次。

  3)条件覆盖CC(Condition Coverage):设计足够多的测试用例,运行被测程序,使得每一判定语句中每个逻辑条件的可能取值至少满足一次。

  4)判定条件覆盖CDC(Condition/ Decision Coverage):设计足够多的测试用例,使得判定中的每个条件的所有可能(真/假)至少出现一次,并且每个判定本身的判定结果也至少出现一次。

  5)条件组合覆盖MCC(Multiple Condition Coverage):也称多条件覆盖,设计足够多的测试用例,使得每个判定中条件的各种可能组合都至少出现一次(以数轴形式划分区域,提取交集,建立最少的测试用例)。

  6)修正条件判定覆盖:每一个程序模块的入口和出口点都要考虑至少要被调用一次,每个程序的判定到所有可能的结果值要至少转换一次;程序的判定被分解为通过逻辑操作符(and,or)连接的bool条件,每个条件对于判定的结果值是独立的。

  不同的测试工具对于代码的覆盖能力也是不同的,通常能够支持修正条件判定覆盖的测试工具价格是极其昂贵的。

时间: 2024-11-02 13:54:21

白盒测试(White-box Testing)的相关文章

white box白盒测试

逻辑覆盖法:语句覆盖,判定覆盖,条件覆盖,判定/条件覆盖,组合覆盖,路径覆盖 基本路径测试法:Control Flow Graphs, CFG.带箭头的边 条件覆盖:使每个判定中每个条件的可能值至少满足一次. 判定/条件覆盖:使得判定中每个条件的所有可能取值至少满足一次,同时每个判定的可能结果也至少出现一次. 满足路径覆盖的测试用例不一定满足组合覆盖 原文地址:https://www.cnblogs.com/monica4/p/11110377.html

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

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

软件开发中的白盒测试

今天,我们来谈谈软件开发过程中的白盒测试. 一.白盒测试的概念 白盒测试(White Box Testing),按照程序内部的结构.逻辑驱动测试程序,通过测试来检测产品内部动作是否按照设计说明书的规定正常进行,检验程序中的每条路径是否都能按预定要求正确工作.白盒测试的对象主要是源程序.是指用代码内部的分支.路径.条件,使程序设计的控制结构导出测试用例.白盒测试是一个与黑盒测试相对的概念,是指测试者针对可见代码进行的一种测试.白盒测试通常再划分为单元测试.集成测试两大类,但依据不同的流程,对白盒测

单元测试指南

单元测试指南 1.单元测试简介 测试类型划分 -单元测试(UT) ? 验证详细设计 -集成测试(IT) ? 验证概要设计 -系统测试(ST) ? 验证需求分析 -验收测试(AT) ? 验证 SOW 缺陷分布比例 消除缺陷的成本比较 概念 单元测试是对软件基本组成单元进行的测试,这里的基本单元不一定是指一个具体的函数或一个类的方法(method),"单元"具有一些基本属性,如:明确的功能.规格定义,明确的与其他部分的接口定义等,可清晰地与同一程序的其他单元划分开来.在具体实现时,也可能对

白盒测试方法

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

白盒测试浅谈

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

软件测试之“白盒测试”

[引言]工作关系,作为曾经的独立测试部门,现在与开发团队一起组成Scrum Team融合阶段. 因为以前的项目系统问题较多,上边大老板为了提高开发团队的代码提交质量,要求开发除了必要的Unit Test之外,也到做一些E2E的Functioanl Testing俗称Dev Testing:而QA的SIT Testing则可以侧重更广的E2E范围甚至直接上Regression. 而跟开发最近几次的会议讨论中,发现很多开发人员多次提出Dev Testing的侧重点和测试范围,并反复提到很可能与QA

SD6503 Testing and Secure Coding

Final Project_ SD6503 Testing and Secure Coding_T2_2019 Page 1 of 4BACHELOR OF INFORMATION TECHNOLOGYSD6503 Testing and Secure CodingFinal ProjectTrimester 2, 2019Secure Web Project Development and Testing — Group ProjectDue date and timeDue: Tuesday

Alpha 和Beta 测试

在正式发布产品之前往往要先发布一些测试版,让用户能够反馈出相关信息,或者找到存在的Bug,以便在正式版中得到解决. 特别是在有客户参加的情况下,对系统进行测试可能会出现一些我们没有考虑的情况,还可以解决一些客户实际关心的问题 不同的测试技术区分 覆盖测试技术 说明:测试覆盖率可以看出测试的完成度,在测试分析报告中可以作为量化指标的依据,测试覆盖率越高效果越好. 覆盖测试可以是程序代码的执行路径覆盖,亦可以是功能实现的步骤覆盖(可以理解成流程图的路径覆盖). 该技术可以用在任何测试阶段,包括单元测