为什么要进行性能测试:
主要是根据业务需要:
1、具体业务性能需求指标
需要掌握一些性能指标
2、用于技术选型
3、用于硬件服务器选型
注:2、3一般不需要测试选择,主要测试的还是第1个
接口性能测试实战 |
业务场景1:2000人登录某系统,登录时间不超过3秒 |
具体的性能测试,主要测试一些性能指标 |
业务场景2:开发一款web电商网站,使用JSP还是PHP? |
技术选型 判断两种语言是否能够达到性能测试的要求 ps:需要知道,从性能方面讲JSP开发的网站承受用户量比PHP的多,作为测试要判断哪种语言能够达到性能测试的需要,如果PHP也能达到性能测试的要求,那优先选择PHP,因为效率高效果好,如果达不到,就只能选择JSP语言。 |
业务场景3:当前服务器配置是否支持20000人同时使用? |
硬件服务器选型使用 原因:商用服务器再往上增加一点配置,成本都是很高的。可以用性能测试的方法去测试当前的应用程序在20000人同时访问消耗的系统资源是多少,再根据消耗的系统资源去选择一个合适的服务器配置,够用就好也不能超出太多。 |
系统组成架构图:
其中web浏览器、web服务器、网站框架、数据库都是需要做性能测试的,都需要去关注响应时间,重点测试的是网站框架。
性能测试主要测试软件的性能,主要测试的内容有:
1、后端处理性能--响应时间
2、服务器硬件资源(CPU、内存、磁盘)
3、中间件、网络、数据库、架构设计等是否存在瓶颈(能力上限、配置问题)
中间件:是提供系统软件和应用软件之间连接的软件 简称:应用服务器 如:Tomcat、Apache...
性能测试的重要性:
1、电商双11活动
2、红包(微信、支付宝)
3、12306订票网站
性能测试的目的:
1、评估当前系统能力 --发布时
2、寻找性能瓶颈、优化性能 --线上出问题,定位问题时使用
3、预估未来的性能指标,并且做以分析判断 ---为将来做准备
性能测试与功能测试对比:
- 不同点:
- 功能:软件功能是否满足需求的功能规格。关注点:功能(正向、逆向)
- 性能:软件性能是否满足业务场景的需求。关注点:性能(时间、资源)
- 时间:软件的响应时间...
- 资源:服务器的磁盘使用率、CPU使用率、内存空闲率...
- 关系:
- 功能和性能测试是相辅相成的,一般都会做
- 在功能测试的后期(功能稳定以后)才会进行性能测试
- 性能测试关注的是响应时间,不是功能是否可用