性能测试的概述
性能:百度百科定义:器物的性质与效用。
生活中:买手机,买电脑,买车—》性能好:快(时间短)、资源
软件的性能:软件在允许的过程中反应的速度(时间),消耗的资源的情况等等。
性能测试:是通过自动化测试工具模拟多种正常,峰值,以及异常负载条件下对系统各项性能指标进行的测试。
负载测试、压力测试都是属于性能测试。
负载测试:确定各种工作负载下系统的性能,目标是测试负载逐渐增加时各项指标的变化情况;
压力测试:是通过确定一个系统的瓶颈值或者不能接受的性能点,并且获取提供最大服务级的测试。
为什么要做性能测试?
应用程序是否能够很快的响应客户的需求?
应用程序是否能够处理预期的用户负载并且还有盈余的能力?
应用程序是否能够处理业务所需的事务数量?
应用程序在预期或者非预期的用户负载下,运行是否稳定?
是否能够确保用户在使用软件的时候获得比较舒服的体验。
性能的问题的根源?
多平台,超多服务器,异构系统,多应用并行,数千个网站,相互协作同时工作,这个过程中很容易出现交叉的故障点。
误区:提高一些硬件配置,性能就变好了,优化了,所以不用做性能测试了,或者说性能测试不重要?
错误:只是临时解决问题,根本问题没有解决。
影响性能的因素有哪些?
。硬件环境
。软件本身(算法逻辑、数据、中间件)
。网络带宽
。软件环境
性能的评定标准:性能指标
响应时间:指的是从客户端发出请求开始,到接收到服务器的响应,并且看到响应的内容为止,这个时间段,称为响应时间。
响应时间=网络传输的时间+服务器处理的时间+浏览器解析呈现的时间
如何弱化网络传输的时间和浏览器解析呈现的时间:
- 前期测试建议在局域网中进行;
- 性能测试建议一定要独立的测试环境;(测试环境必须进行数据初始化)
- 在晚上测试性能
用户数:
在线数:在软件上,不一定在操作
并发数:在软件上,并且在操作。(特定的时间点或者时间段,操作不一定相同)
在线数>=并发数