「软件测试4」一文详解四大典型的白盒测试方法

本文详细介绍了白盒测试的基本概念,包括定义、测试对象、原则和分类。重点讲解了静态白盒测试的代码检查法和静态结构分析法,以及动态白盒测试中的逻辑覆盖法和基本路径测试法,强调了动态测试中的逻辑覆盖标准,如语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖和条件组合覆盖。文章提供了实例分析,帮助读者理解各种测试方法的应用。
摘要由CSDN通过智能技术生成

软件测试——详解白盒测试基本概念,四种白盒测试方法

这是我参与更文挑战的第3天,活动详情查看:更文挑战

在上一篇文章中,我们讲到了黑盒测试。黑盒测试相较于白盒测试来说比较简单,不需要了解程序内部的代码,与软件的内部实现无关;而白盒测试就像是一个透明的盒子,它需要测试人员利用程序内部的逻辑结构来设计测试用例,相对于黑盒测试来说会难一些。

在下面的这篇文章中,我们将讲解白盒测试的基本概念,以及四大常用的白盒测试方法

一、白盒测试基本概念

1、白盒测试的定义

白盒测试又称为结构测试逻辑驱动测试,它是把测试对象看成一个透明的盒子,它允许测试人员利用程序内部的逻辑结构设计测试用例,对程序所有逻辑路径进行测试。

2、白盒测试的测试对象

白盒测试的测试对象是基于被测试程序的源代码,而不是软件的需求规格说明书。

使用白盒测试方法时,测试人员必须全面了解程序内部逻辑结构,检查程序的内部结构,从检查程序的逻辑着手,对相关的逻辑路径进行测试,最后得出测试结果。

3、白盒测试的原则

采用白盒测试方法必须遵循以下原则:

  • 保证一个模块中的所有独立路径至少被测试一次
  • 对所有的逻辑判定均需测试取真和取假两种情况。
  • 在上下边界及可操作范围内运行所有循环。
  • 检查程序的内部数据结构,保证其结构的有效性。

4、白盒测试的分类

白盒测试方法有两大类:静态测试方法动态测试方法

静态测试: 不要求在计算机上实际执行所测试的程序,主要以一些人工的模拟技术对软件进行分析和测试,如代码检查法静态结构分析法等;

动态测试: 是通过输入一组预先按照一定的测试准则构造实际数据来动态运行程序,达到发现程序错误的过程。白盒测试中的动态分析技术主要有逻辑覆盖法基本路径测试法。( ★ ★ ★ )

下面将对两种白盒测试方法进行讲解。

二、静态白盒测试

1、代码检查法

(1)代码审查的定义

代码审查(Code Review)是指对计算机源代码进行系统地审查,找出并修正在软件开发初期未发现的错误,提升软件质量及开发者的技术。

(2)代码审查的目的

代码审查的目的是为了产生合格的代码检查源程序编码是否符合详细设计的编码规定,确保编码与设计的一致性和可追踪性。

(3)代码审查的方法

代码审查包括桌面检查代码审查走查

1)桌面检查(程序员自己检查)

这是一种传统的检查方法,由程序员检查自己编写的程序。程序员在程序通过编译之后,对源程序代码进行分析、检查,并补充相关的文档,目的是发现程序中的错误。

2)代码审查(审查小组通过读程序和对照错误检查表进行检查)

代码审查是由若干程序员测试员组成一个审查小组,通过阅读、讨论和争议,对程序进行静态分析的过程。具体过程如下:

第一步, 小组负责人提前把设计规格说明书、控制流程图、程序文本及有关要求、规范等分发给小组成员,作为审查的依据。小组成员在充分阅读这些材料后,进入审查的下一步。

第二步,召开程序审查会。 每个成员将所发材料作为审查依据,但是由程序员讲解程序的结构、逻辑和源程序。在此过程中,小组成员可以提出自己的疑问;程序员在讲解自己的程序时,也能发现自己原来没有注意到的问题。

注意: 在进行代码检查前应准备好需求文档、程序设计文档、程序的源代码清单、代码编码标准、代码缺陷检查表和流程图等。

3)走查 (审查小组需要准备有代表性的测试用例沿程序逻辑运行)

走查与代码审查基本相同,其过程分为两步:

第一步: 把材料先发给走查小组每个成员,让他们认真研究程序。

第二步: 开会。

与代码审查不同的是,让审查小组成员“充当”计算机,即首先由测试组成员为所测程序准备一批有代表性的测试用例,提交给走查小组。走查小组开会,集体扮演计算机角色,让测试用例沿着程序的逻辑运行一遍,随时记录程序的踪迹,提供给最后阶段的分析和讨论使用。

(4)代码检查规则

在代码检查中,需要依据被测试软件的特点,选用适当的标准规则规范

(5)代码检查项目

  • 目录文件组织
  • 检查函数
  • 数据类型及变量
  • 检查条件判断语句
  • 检查循环体制
  • 检查代码注释
  • 桌面检查
  • 其他检查

2、静态结构分析法

(1)定义

在静态结构分析法中,测试人员通常通过使用测试工具分析程序源代码的系统结构、数据结构、数据接口、内部控制逻辑等内部结构,生成函数调用关系图模块控制流图内部文件调用关系图等各种图形、图表,清晰地标识整个软件的组成结构。

(2)目的

通过分析这些图表,包括控制流分析、数据流分析、接口分析、表达式分析等,使其便于阅读与理解,然后可以通过分析这些图表,检查软件有没有存在缺陷或错误。

(3)静态结构分析的两种方法

1)通过生成各种图表,来帮助对源程序的静态分析

常用的各种引用表主要有: 标号交叉引用表;变量交叉引用表;子程序(宏、函数)引用表; 等价表;常数表。

常用的各种关系图、控制流图主要有:

①函数调用关系图: 列出所有函数,用连线表示调用关系,通过应用程序各函数之间的调用关系展示了

  • 4
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值