文档介绍:软件白盒测试
概览
在本章中,我们将学习:
结构性白盒测试概述
程序结构分析
逻辑覆盖
结构性测试案例
课程目录
结构测试概述
程序结构分析
逻辑覆盖
结构测试案例分析
结构测试工具
结构性测试(1)
程序实现是已知的,是测试人员能够根据功能实际实现的方式来标识测试用例,又称“白盒测试”、“透明盒测试”。
结构性测试(2)
规格说明
规格说明
程序
程序
测试用例
(方法A)
测试用例
(方法B)
方法A覆盖的区域比方法B覆盖的区域大,但两种方法的覆盖区域只能在程序实现部分
有两种维恩图来表示功能性测试:
功能性测试与结构性测试比较
单独使用都有其局限性;
最好的方法:结合两种方法。
功能性测试
结构性测试
只利用规格说明标识测试用例
只利用程序源代码标识测试用例
如果程序实现了未描述的行为,功能测试无法意识到。
如果已描述的行为未能实现,结构性测试无法意识到。
冗余度大,可能会有漏洞
具有覆盖率指标
结构测试定义
把测试对象看做一个透明的盒子
白盒测试是根据被测程序的内部结构设计测试用例并完成测试的一种测试方法
白盒测试或逻辑驱动测试
基于一个应用代码的内部逻辑知识,测试覆盖全部代码、分支、路径和条件
结构测试特点
可以构成测试数据使特定程序部分得到测试
有一定的充分性度量手段
可获得较多工具支持
通常只用于单元测试
结构测试的方法
静态测试方法:
程序结构分析
代码走查
代码审查
控制流分析
数据流分析
信息流分析
动态测试方法:
逻辑覆盖
语句覆盖
分支覆盖
条件覆盖
分支-条件覆盖
路径覆盖
代码覆盖率
采用白盒法进行测试时,考虑的是测试用例对程序内部逻辑的覆盖程度
最彻底的白盒法是覆盖程序中的每一条路径,但这往往无法实现
采用其它一些标准来量度覆盖的程度,并希望覆盖程度尽可能高些