软件测试按照测试方法主要分为以下三类:
一、白盒测试(结构测试/逻辑驱动测试)
定义 白盒测试基于程序内部逻辑结构和编码结构设计测试用例,需执行代码以验证路径覆盖和条件执行情况。
常用方法
- 代码审查(人工或自动化工具如SonarQube)
- 静态代码分析(识别未使用变量、空指针等)
- 逻辑覆盖法、路径覆盖法、基本路径测试法等
- 测试大纲法、符号测试、域测试等
二、黑盒测试
定义
黑盒测试仅关注输入输出是否符合需求规范,不涉及程序内部结构,通过功能需求分析设计测试用例。
常用方法
- 等价类划分法、边界值分析法
- 因果图法、判定表驱动法
- 场景法、错误推测法
- 正交试验设计法、功能图法
三、灰盒测试
定义
灰盒测试结合程序外部表现和内部逻辑结构设计测试用例,介于白盒和黑盒之间。
特点
- 部分执行代码,部分依赖静态分析
- 适用于需求复杂、内部结构较明确的系统
补充说明
执行阶段划分: 白盒测试多用于单元测试和验证阶段,黑盒测试主要用于功能测试和确认测试,灰盒测试可贯穿全周期。 其他分类维度
以上分类方法各有侧重,实际测试中常结合使用以提高测试覆盖率与效率。