当前位置: 首页 > news >正文

测试--测试分类 (白盒 黑盒 单元 集成)

一、按照测试目标分类(测试目的是什么)

主类别细分说明
1. 界面测试UI内容完整性、一致性、准确性、友好性,布局排版合理性,控件可用性等
2. 功能测试检查软件功能是否符合需求说明书,常用黑盒方法:边界值、等价类、判定表等
3. 性能测试关注响应速度、系统负载、吞吐量等,需基于架构与性能需求设计测试
4. 可靠性测试评估系统稳定性、服务可用性(如99.99%、99.999%)
5. 安全性测试验证系统对数据、身份、访问权限的防护能力,防范SQL注入、XSS等攻击
6. 易用性测试符合UI标准、直观性、操作灵活性、美观舒适度等

二、按照执行方式分类(是否运行程序)

主类别细分说明
1. 静态测试不运行程序,仅分析代码/文档/结构,如代码审查、静态扫描
2. 动态测试运行程序并输入测试数据,如功能测试、系统测试等

三、按照测试方法分类(看代码与否)

主类别细分说明
1. 白盒测试分析程序结构和路径(语句覆盖、判定覆盖、路径覆盖等)
2. 黑盒测试基于功能需求进行测试(等价类、边界值、场景法等)
3. 灰盒测试结合黑盒和白盒,对输入输出及部分内部结构进行验证

一、白盒测试

✅ 强调对程序内部逻辑结构进行测试,关注“怎么实现的”。

🔹 主要应用阶段:

  • 多用于 单元测试

  • 开发人员或白盒测试工程师编写

🔹 特点:

  • 需要阅读和理解源代码

  • 关注每条路径是否被测试到

  • 能提高代码质量,及时发现隐藏逻辑问题

🔹 常见方法(6种逻辑覆盖):

覆盖类型描述说明
1. 语句覆盖要求程序中每条语句至少执行一次
2. 判定(分支)覆盖要求每个分支(if/else)都执行到,判断结果为 T 和 F 各一次
3. 条件覆盖每个判断条件的每个可能取值(T/F)都至少出现一次
4. 判定-条件覆盖同时满足判定覆盖条件覆盖的要求
5. 条件组合覆盖所有条件变量的 T/F 组合都测试(复杂度高)
6. 路径覆盖要求程序中所有可能的执行路径都至少测试一次(数量通常是指数级)


二、黑盒测试

✅ 不考虑程序内部实现,重点在于输入与输出是否符合需求说明书

🔹 主要应用阶段:

  • 多用于 系统测试验收测试

  • 测试工程师执行

🔹 特点:

  • 不需要读代码,只需理解需求

  • 能从用户角度检验功能是否正常

  • 无法覆盖具体逻辑路径,可能遗漏内部缺陷

🔹 常用设计方法:

测试方法描述说明
1. 等价类划分法将输入划分为有效/无效等价类,每类只取一个代表值进行测试
2. 边界值分析法对输入的边界点和边界附近的值进行测试,如 [0,100] 测试 -1, 0, 1, 99, 100, 101
3. 判定表法将输入条件与预期动作列为表格,覆盖所有输入组合,适用于复杂业务规则
4. 正交法利用正交表从大量组合中选出有代表性的少数组合,提升测试效率
5. 场景法根据真实业务流程设计测试用例,模拟用户操作路径
6. 错误推测法基于经验假设容易出错的情况,如输入为0、空字符串、最大长度等


三、灰盒测试

✅ 结合黑盒和白盒测试,既看外部行为,也关注部分内部实现

🔹 主要应用阶段:

  • 多用于 集成测试

  • 可由 测试人员与开发共同参与

🔹 特点:

  • 不需要深入所有源代码,但会参考接口文档、中间模块结构

  • 可以设计更有针对性的用例,如模拟接口调用、Mock 数据

  • 较全面,适用于复杂系统间数据流/状态流的验证


✅ 总结对比表:

类别是否看代码代表测试者应用阶段典型方法/技术
白盒测试✅ 是开发或白盒工程师单元测试语句/分支/路径/条件覆盖,静态扫描等
黑盒测试❌ 否测试工程师系统、验收测试等价类、边界值、场景法、判定表、错误猜测
灰盒测试⚠️ 部分联合测试者集成测试接口验证、中间状态分析、部分代码辅助设计用例

四、按照测试阶段分类(在哪个阶段进行)

主类别细分说明
1. 单元测试对最小功能单元(函数/类)测试,主要用白盒方法
2. 集成测试测试模块之间的接口与数据传递,结合白盒和黑盒方法
3. 系统测试测试整个系统功能、性能、界面、安全性等,主要用黑盒测试
4. 验收测试由用户或第三方进行确认测试,确认软件是否符合需求和交付标准
附加补充

冒烟测试:验证核心功能是否正常;回归测试:确保修改不引入新Bug

(冒烟测活着没,回归测改坏没)

五、按照是否手动执行分类

主类别细分说明
1. 手工测试人工执行测试用例,对灵活性和异常情况测试有优势
2. 自动化测试使用脚本与工具自动运行测试,提高效率,常用于回归、性能、安全性测试等

六、按照实施组织划分

主类别细分说明
1. Alpha测试开发方内部模拟用户环境的测试(内测)
2. Beta测试实际用户使用中进行的公开测试(公测)
3. 第三方测试由独立测试机构进行,保障客观性与专业性

七、按照地域范围划分

主类别细分说明
1. 国际化测试验证多语言、时区、货币等本地化因素是否正常
2. 本地测试针对单一地区、本地配置和用户习惯进行的测试

相关文章:

  • Git目录分析与第一个git commit文件
  • 最新最热门的特征提取方式:CVOCA光学高速复值卷积
  • Python打卡 DAY 29
  • 一文读懂软链接硬链接
  • Kubernetes控制平面组件:Kubelet详解(七):容器网络接口 CNI
  • PyQt5基本窗口控件(对话框类控件)
  • UCOS 嵌入式操作系统
  • 【深度学习】#12 计算机视觉
  • AutoGPT-Agent简述版
  • vscode中Debug c++
  • 【言语理解】逻辑填空之逻辑对应11
  • DB-MongoDB-00002--Workload Generator for MongoDB
  • 安装和升级到devExpress23.1.7
  • 工作流介绍
  • Milvus向量数据库
  • 何首乌基因组-文献精读131
  • LearnOpenGL---着色器
  • 微服务项目->在线oj系统(Java版 - 3)
  • 大模型在胫骨平台骨折预测及治疗方案制定中的应用研究
  • 网络编程-select(二)
  • 重庆城市轨道交通拟听证调价:公布两套票价方案,正征求意见
  • 打造信息消费新场景、新体验,上海信息消费节开幕
  • 上海博物馆展览进校园,“小先生”传递文物知识
  • 上海国际碳中和博览会下月举办,首次打造民营经济专区
  • 俄媒:俄乌伊斯坦布尔谈判将于北京时间今天17时30分开始
  • 贵州省委军民融合发展委员会办公室副主任李刚接受审查调查