软件性能测试范围很宽泛,对于软件系统而言,包括执行效率,系统稳定性,安全性,兼容性,可靠性,资源占用,可扩展性等。在我之前的测试经验中,有些项目的性能测试可以手动测试,手动加压,而大部分的性能测试可以通过自动化测试工具来模拟正常、峰值、异常条件的性能指标。目前市场上有很多性能测试工具,如jmeter,loadrunner,WebLOAD等等,用来模拟性能指标。下面先罗列下性能测试的一些相关概念。
负载测试
通过逐步增加系统负载,来测试性能变化,确定在满足系统性能指标下,能够承受的最大负载量。即逐步加压,确定系统处理能力和阈值,如“响应时间不超过xx秒””CPU利用率不超过x x%”等指标。
压力测试
通过逐步增加系统负载,来测试性能变化,并确定在什么负载条件下,系统性能处于失效状态。
并发测试
多用户同时访问同一个应用、模块时是否存在死锁或其它性能。
容量测试
系统能够处理的最大会话能力,可处理同时在线的最大用户数等。
可靠性测试
长时间在一定压力下运行,检查系统是否稳定。这种情况以前参与的设备项目测试会长期采用,每个项目搭建后,长期运行观察是否异常。
失败测试
冗余备份和负载均衡的系统,通过失败测试来验证部分发生异常后,能否正常使用。