性能测试-分类
目的:
为了获取待测系统的响应时间、吞吐量、稳定性、容量等信息,而发现一些具体的性能相关的缺陷(如内存溢出、并发处理等),性能测试最想发现的是瓶颈。
一般的应用系统会从这么几个方面进行性能测试
- 基准测试
一般为单用户测试,或者是零数据量环境下的测试。目的在于建立一个可度量的参考标准,为其他测试场景或者调优过程提供对比参考。
- 日常压力测试
在基准测试通过后,先对系统在日常压力下的表现进行测试。此压力需要根据系统使用相关数据得出,如系统平均每天访问量、平均在线人数、每日完成事
务数等。通过此测试,发现一些较表面的性能问题并进行处理。
- 峰值压力测试
在日常压力测试通过后,需要进行更大压力的测试。此处压力同样需要相关数据的支持,一般为未来几年后的预期压力。可根据历史日均压力、日最高压力等信息,估算出未来 几年的日均以及日最高压力。再通过一些通用估算方法、如二八原则(80%的工作在20%时间内完成,相当于2小时完成一天8小时的工作量),将日压力转换成峰值压力。峰值 压力为可预期到的最大负载压力,通过了此测试,则认为系统有能力满足未来增长的压力。
- 容量测试
验证了系统是否可满足预期的压力后,还需要知道系统能够承受的最大压力,也就是容量。一般通过“拐点法”进行测试,逐步增大系统的压力,直到性能指标不可接受或者出现 了明显的拐点。
- 稳定性测试
验证系统是否可长期稳定的运行,是否存在一些短时间内可能无法发现的缺陷(如内存溢出、数据库连接不释放等)。为了缩短测试工期,一般可将预期一天的压力集中在2小时 内完成( 二八原则),这样持续加压10小时,便相当于系统运行5天。注意监控各种性能指标是否平稳,有无下降。
还有比如绝对并发测试,测试多用户对某一功能的瞬时请求,突发压力测试,对一些突然压力进行测试 。