☰分类导航

软件工程/软件测试
课程进度 74% · 第6/7章第6/7章 · 标签 1/6
— 1 —

软件测试概述

软件测试是软件质量保证的关键手段,通过在真实或模拟环境下执行程序来发现缺陷。 测试贯穿整个软件生命周期,提供关于风险的证据。一次通过只说明选定输入和环境未发现预期之外的结果,不能证明所有情况下都正确。测试设计要从规则、边界与失败后果出发:金额计算适合快速单元测试,数据库约束和并发冲突则必须在真实集成边界检查。

测试金字塔

测试金字塔建议用较多快速、稳定的低层测试支撑少量关键端到端流程。它不是固定数量配额,实际组合取决于架构与风险:

  • 单元测试:测试单个函数或类,运行速度快
  • 集成测试:测试模块间交互,验证接口正确性
  • 端到端测试:测试完整业务流程,覆盖用户场景

测试策略

  • 黑盒测试:基于需求和规格,不关注内部实现
  • 白盒测试:基于代码结构,覆盖执行路径
  • 灰盒测试:结合黑盒和白盒,关注关键路径
— 2 —

测试分类

按阶段分类:

  • 单元测试 → 集成测试 → 系统测试 → 验收测试

按测试目标分类:

  • 功能测试:验证功能是否符合需求
  • 性能测试:评估系统响应时间和吞吐量
  • 安全测试:发现安全漏洞和风险
  • 可用性测试:评估用户体验是否良好
  • 兼容性测试:验证多平台兼容性

按执行方式分类:

  • 手工测试:人工执行测试用例
  • 自动化测试:脚本执行,自动对比结果
单元测试集成测试E2E黑盒白盒