概括来说,可以将性能测试的应用领域划分为5个不同领域:
能力验证
规划能力
性能调优
缺陷发现
性能基准比较
能力验证
一个典型的能力验证的问题会采用这样的描述方式:“某系统能否在A条件下具有B能力?”例如,我们为客户进行系统上线后的验收测试,或是作为第三方对一个已部署的性能进行验证,都属于这种性能测试应用领域内的测试。
特点:
1.要求在已确定的环境下运行。
2.需要根据典型场景设计测试方案和用例。
3.一般采用的测试方法包括性能测试、可靠性测试、压力测试和失效恢复测试方法。
也就是说,关心的是“在给定条件下,系统是否具有预期的能力表现”。
规划能力
常被描述为:“某系统能否支持未来一段时间内的用户增长”或是“应该如何调整系统配置,使系统能够满足增长的用户数的需要”。
特点:
1.它是一种探索性的测试。
2.它可被用于了解系统的性能以及获得扩展性能的方法。
3.一般采用的测试方法包括负载测试、配置测试和压力测试方法。
也就是说,关心的是“应该如何使系统具有我们要求的性能能力”或是“在某种可能发生的条件下,系统具有如何的性能能力”。
性能调优
调优可以在多种不同的测试阶段和场合下使用。对已经部署在实际生产环境中的应用系统来说,对其进行的性能调优可能会首先关注硬件环境和系统设置上,例如,对服务器的调整、对数据库参数的调整及对应用服务器的参数调整,此时的性能调优需要在生产环境这个确定的环境下进行;但对正在开发中的应用来说,性能调优会更多地关注应用逻辑的实现方法、应用中涉及的算法、数据库访问层的设计等因素,此时并不要求测试环境是实际的生产环境,只要整个调优过程中具有一个可用于比较的测试基准测试环境即可。
特点:
1.确定基准环境、基准负载和基准性能指标。
2.调整系统运行环境和实现方法,执行测试。
需要说明的是,在本步骤中,不要一次调过多的参数或是应用实现方法,否则很难判断具体是哪个调整对系统性能产生了较为有利的影响。
3.记录测试结果,进行分析。循环的出口是“达到预期的性能调优目标”。
4.一般采用的测试方法包括配置测试、负载测试、压力测试和失效恢复测试。
缺陷发现
通过性能测试的手段来发现系统中存在的缺陷。
特点:
1.一般采用的测试方法包括并发测试,压力测试和失效恢复测试。
也就是说,发现缺陷,并没有可以参照的性能指标或是需要达到的性能目标。
性能基准比较
通常应用在敏捷开发过程中。就是在不设定明确的性能目标的情况下,通过比较得到每次迭代中的性能表现的变化,根据这些变化决定迭代是否达到了预期的目标。
性能测试应用领域与测试方法的关联如下:
| 能力验证 | 规划能力 | 性能调优 | 缺陷发现 | 性能基准比较 |
性能测试 | ★ | | | | |
负载测试 | | ★ | ★ | | |
压力测试 | ★ | ★ | ★ | ★ | ★ |
配置测试 | | ★ | ★ | | |
并发测试 | | | | ★ | ★ |
可靠性测试 | ★ | | | | |
失效恢复测试 | ★ | | ★ | ★ | |