软件测试入门指南
1. 测试类型概述
软件测试有多种类型,每种类型都有其特定的目的和方法。
- 负载/压力测试 :也称为压力测试,与性能测试相关,用于验证系统在负载或压力增加时能否承受压力。例如,一个应用程序可能在单个用户使用时运行良好,但随着并发用户数量的增加,速度会变得非常缓慢。负载测试会在有限的时间内执行许多操作,并检查特定方面,如 CPU 使用率、内存消耗等。
- 安全/漏洞测试 :验证应用程序是否容易受到特定漏洞的攻击。通常在修复系统中的漏洞时开发此类测试,以确保漏洞不会再次出现。从这个意义上说,安全测试也是回归测试。
- 渗透测试 :与安全测试密切相关,由安全专家执行,他们试图找出系统中所有可能的漏洞。渗透测试人员是白帽黑客,他们的目的是帮助你提高应用程序的安全性,而不是利用漏洞。当在渗透测试中发现漏洞时,应修复这些漏洞,并将安全/回归测试添加到应用程序的测试套件中。
- 兼容性测试 :确保应用程序与预期的环境兼容,如特定的运行时环境、操作系统等。这些测试在不同的条件下执行,以验证兼容性。
- 可用性测试 :由用户界面专家进行,旨在确保应用程序可用、用户友好且高效。这是一类非常特殊的测试,由于存在很多解释空间,因此很难自动化。
2. 测试方法和思维方式
在设计和实施测试时,需要像恶意黑客一样思考,对一切保持怀疑并进行验证。需要考虑以下几种情况:
- 正向用例 :代表基本情况,即一切