1、性能测试:通常意义上说的都是服务器的性能。
性能(即效率):
(1)时间特性:服务器处理用户请求的响应时间(卡/不卡)
(2)资源特性:软件在运行时,对于服务器资源的消耗情况,例如:CPU、内存、磁盘等
补充:APP性能:内存、CPU、电量、流量、流畅度
2、性能测试目的:
(1)评估当前系统的能力
-
验收第三方提供的软件
-
获取关键的性能指标,与同类型产品进行比较(例如:手机跑分)
(2)发现性能问题后,寻找性能瓶颈、优化性能(例如12306春运时服务故障)
(3)评估软件是否能够满足未来的需要(例如:淘宝双11在下一年的销售额)
3、性能测试分类:
(1)基准测试
狭义上讲:单个用户进行业务场景的测试,并统计性能的各项指标(为后续多用户性能测试做参考对比)
广义上讲:在某一个时刻进行性能测试建立一个已知的性能水平,当软硬件发生变化时再测试,观察变化对于性能产生的
影响。
(2)负载测试
通过逐步增加系统负载,测试系统性能的变化,在满足性能指标的前提下,系统所能够承受的最大负载量的测试。
通过负载测试,一般能找到系统的最优负载和最大负载。
最大负载一般项目内部知晓,不会对外公布。
普通用户看到的系统的最大能力,一般都是测试得到的最优负载。
(3)稳定测试
在服务器稳定运行(业务正常的负载量)的情况下,进行长时间的测试,保证服务器能够正常运行。
长时间:1天、1周
(4)其他测试
-
并发测试:系统在短时间内同时处理大量请求,查看系统的并发处理能力。
-
压力测试:测试系统在强负载的情况下,测试系统在峰值情况下的操作,是否具有良好的容错能力及错误的恢复能力。
稳定性压力测试:在系统高负载的情况下(接近C点),长时间(24小时),查看系统的处理能力。
破坏性压力测试:在系统极限负载的情况下(C-D点),对系统进行压力测试,查看系统的容错能力及错误的恢复能力。
-
容量测试:关注软件的极限压力下的各个极限的数值。