概述
在软件测试行业中,性能测试是确保软件质量的一项关键措施。随着IT技术的发展,性能测试显得越发的重要,各企业的需要也越来越大,同样的对其技术的要求也高。
为什么要做性能测试
性能测试的主要目的是向项目干系人提供关于系统的可伸缩性、速度和稳定性方面的信息,这将有助于项目干系人在推出产品之前对系统进一步进行优化改进。
如果一个系统未经性能测试就上线,有可能会出现许多的错误,包括低速、不同操作系统的不一致、崩溃等等异常。
随着用户对产品体验的进一步要求和市场竞争进一步加剧,没有一个好的性能表现,难以在市场竞争中存活,因此性能测试非常的重要,也是为什么需要进行性能测试的根本原因。
性能测试类型
- 负载测试
检查系统在预期的负载下执行的能力,该类型测试将确定性能可能的瓶颈。
- 压力测试
检查系统在极端工作负载下的运行状态,进一步确定系统能力。
- 峰值测试
检查系统在负载突然增加或减少的情况下,确定系统的能力。
- 容量测试
检查系统数据库在不同容量时,系统的性能能力。
- 可伸缩性测试
检查系统的可伸缩性或处理增加负载的能力
常见的性能瓶颈
- 加载时间过长
系统启动的时间过程,系统的启动时间应该尽可能的小,通常系统启动时间保持在几秒以内是最佳的。
- 响应时间过长
从用户输入数据提交到服务器返回的时间段,称为响应时间。如果响应时间过长,会导致用户体验很差。
- 可伸缩性差
当系统不能处理预期用户或事务数量时,就会出现该情况。
- 其他瓶颈
系统在运行中的障碍称为瓶颈,主要由编码错误或算法效率不高或线程机制有问题等因素造成,当然硬件也是一个可能的因素。
需要关注的指标类型
在性能测试是,我们通常需要关注以下几大类型的指标数据:
上述指标不仅仅要关注服务端,同样也需要关注前端相应的技术指标。
性能测试工具
一些常用的性能测试工具,一般情况下笔者推荐jmeter或Gatling,理由就是没有理由。
- JMeter
- Gatling
- LoadRunner
- WebLoad
- OpenSTA
- httperf
- LoadING Pro
- Appvance
- NeoLoad
- Loadster
- WAPT
- LoadComplete
- Testing Anywhere
- LoadStorm
- CloudTest
小结
本文简单的介绍了下性能测试的基本知识,让未接触过性能测试的朋友有个基本的了解。