有许多不同类型的软件测试,每一种都有特定的目标和策略:
- 验收测试:验证整个系统是否按预期工作。
- 集成测试:确保软件组件或功能一起运行。
- 单元测试:验证每个软件单元是否按预期执行。单元是应用程序中最小的可测试组件。
- 功能测试:根据功能需求,通过模拟业务场景来检查功能。黑盒测试是验证函数的常用方法。
- 性能测试:测试软件在不同工作负载下的表现。例如,负载测试用于评估真实负载条件下的性能。
- 回归测试:检查新特性是否破坏或降低功能。当没有时间进行完整的回归测试时,完整性测试可以用于在表层验证菜单、函数和命令。
- 压力测试:测试系统在发生故障前能承受多大的压力。被认为是一种非功能测试。
- 可用性测试:验证客户使用系统或web应用程序完成任务的能力。
在每种情况下,验证基本需求都是一个关键的评估。同样重要的是,探索性测试帮助测试人员或测试团队发现难以预测的场景和可能导致软件错误的情况。
即使是一个简单的应用程序也可能受到大量和各种各样的测试的影响。测试管理计划有助于确定哪些类型的测试提供了最大的价值——给定可用的时间和资源。通过运行最少数量的测试来找到最多数量的缺陷,从而优化测试的有效性。