跳转至

测试认知

1 测试类型

1.1 按测试阶段划分

测试阶段反映了软件质量验证的递进过程,从代码单元到整体系统的逐步集成与验证。

阶段 测试对象 执行者 目的 示例
单元测试 函数、方法、类等最小模块 开发人员或白盒测试工程师 验证代码单元是否正确 测试一个加法函数 add(a, b) 的输出是否正确
集成测试 模块之间的接口与交互 开发或测试人员 验证模块集成后数据传输与协作是否正常 用户服务调用订单服务创建订单,检查数据是否流转成功
系统测试 整个软硬件系统 测试工程师 验证系统是否满足需求规格说明书 从注册→登录→下单→支付全流程测试
验收测试 业务功能是否符合用户预期 客户、产品经理、UAT用户 决定是否接受系统上线 Alpha测试(内部环境)、Beta测试(真实用户环境)

1.2 按测试方法划分

测试方法决定了测试人员对被测系统内部结构的了解程度,直接影响用例设计策略。

类型 描述 特点 常用技术/工具
黑盒测试 不关注内部代码结构,仅通过输入输出验证功能 用户视角,与实现分离 等价类划分、边界值分析、场景法
白盒测试 基于代码逻辑设计测试用例,查看内部路径 发现逻辑错误,成本高 语句覆盖、分支覆盖、路径覆盖
灰盒测试 了解部分内部结构(如接口、数据库),但以功能为主 兼具深度与广度 API测试、数据库验证

1.3 按是否运行程序划分

该分类区分了静态分析与动态执行两种基本测试范式。

类型 是否运行程序 方法 示例
静态测试 代码审查、文档评审、静态分析工具扫描 使用SonarQube检测代码异味和安全漏洞
动态测试 运行程序并观察行为 功能测试、性能测试、回归测试

1.4 按执行方式划分

自动化程度是影响测试效率与可持续性的关键因素。

类型 描述 适用场景
手动测试 人工操作、记录结果 探索性测试、UI体验测试、初期验证
自动化测试 使用脚本/工具自动执行 回归测试、性能测试、大量重复场景

1.5 按测试对象/目的划分

此类测试聚焦特定质量属性,确保系统在多维度上达标。

  • 功能测试:验证功能是否符合需求,如按钮点击、表单提交
  • 性能测试:评估响应时间、吞吐量、并发能力
    • 负载测试:模拟正常/峰值压力
    • 压力测试:超出极限,观察崩溃点
    • 并发测试:多用户同时操作
    • 稳定性测试:长时间运行,检测内存泄漏
  • 安全测试:排查SQL注入、XSS攻击、权限越界等漏洞
  • 兼容性测试:验证在不同设备、浏览器、操作系统下的表现
  • 易用性测试:评估操作是否直观、提示是否清晰
  • 安装/卸载测试:验证安装包能否正常安装、升级、回滚、卸载干净
  • 可靠性测试:长时间运行是否稳定,有无故障

1.6 其他重要测试类型

以下测试类型虽不构成独立层级,但在实际项目中具有不可替代的作用。

  • 回归测试:代码修改后重新运行旧用例,防止“修旧出新错”
  • 冒烟测试:对新版本快速验证核心功能是否可用,决定是否继续测试
  • 探索性测试:无预设脚本,边学习、边设计、边执行,发现隐藏缺陷

2 标准化测试流程

1. 需求分析→ 2.测试计划→ 3.测试设计→ 4.环境搭建→ 5.测试执行→ 6.缺陷管理→ 7.测试报告→ 8.上线与复盘