目录
一、什么是性能测试
1.1 性能测试概念
测试人员借助性能测试工具,模型系统在不同情况(如系统正常运行、用户达到峰值等)下各种性能指标的表现
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
1.2 功能测试和性能测试的区别
功能测试::重点关注的是软件基本的功能有没有实现
性能测试:软件在极端的情况下是否能正常运行
1.3 影响一个软件性能的因素有哪些
硬件设备:服务器内核,内存,操作系统
软件:编程语言,算法
用户:用户量、用户请求
网络环境
......
二、一个项目为什么要做性能测试
1、获取系统性能的指标,作为性能指标的基准 ---》全新的APP上线之后进行基准性能测试
2、验证系统的性能指标是否达到要求(满足需求)
3、发现系统的性能瓶颈,内存泄漏等问题
4、系统正常工作的情况下的最大容量
5、帮助系统运维部门更好的规划硬件配置
三、性能测试常见术语以及衡量指标
3.1 专业术语:
并发:软件在一些情况下,同时有大量的用户请求系统
并发用户数:当大量用户同时对系统发起请求的时候,此时的用户数量就是并发用户数
请求数:用户向服务器发起的http请求的数量
并发请求数:大量用户同时访问系统的时候,此时同时发起的http请求数量
并发请求数和并发用户数不一定相等的
系统用户数:访问系统的用户数量有多少
在线用户数:成功登录这个系统对应的用户量
响应时间:
1)用户响应时间
用户发起请求开始,到用户收到响应,最终在前端将数据渲染出来展示给用户的这段时间
2)请求响应时间
服务器收到请求到服务器将请求处理完后发出响应的时间
问题:影响响应时间的因素有哪些
硬件:用户的设备和服务器的设备(内核、CPU、内存、磁盘)
软件:编程语言以及算法实现
用户量以及请求量
事务响应时间:服务器处理一个事务花费的时间
TPS: 每秒通过的事务数量(通过的事务数/事务处理时间)
每秒事务通过数(TPS) 是指每秒系统能够处理的事务数。它是衡量系统处理能力的重要指标。
点击率:每秒用户向Web服务器提交的HTTP请求数,点击率越大,服务器压力越大
这里的点击不是指鼠标的一次点击,一次点击可能有多次HTTP请求
吞吐量:一次请求,用户和服务器之间传送数量
单看吞吐量不能判断一个系统性能好不好,需要结合吞吐率
吞吐率:吞吐量/时间
思考时间:指模拟正式用户在实际操作时的停顿时间,从业务的角度讲,思考时间指的是用户在进行操作时,每个请求之间的间隔
例如:去百度搜一本书,会返回一系列的资源,找到想看的书后,会点击第二次进入,这这段时间就是思考时间
资源利用率:不同系统资源的使用情况。包含CPU,内存,硬盘,网络等
四、性能测试分类
4.1 基准测试
1)什么是基准测试
让系统在正常情况下运行,观察性能指标
2)为什么对一个系统进行基准测试
系统的第一个版本,研发团队也不知道系统的性能达到什么样的水平,这时进行性能测试,其目标是获得系统标准配置下,有关的性能指标数据,作为将来性能改善的基准
4.2 负载性能测试
验证系统在一定压力情况下运行,观察系统性能是否会出现"拐点"
4.3 压力测试
让系统在超负情况下或者某项性能指标已经达到饱和的状态下运行,观察性能指标
通常会导致系统崩溃,就是去看看多少用户会让系统崩溃
4.4 可靠性测试
让系统去连续运行一段时间,查看系统性能指标是否出现异常
五、性能实施流程
功能测试流程:需求分析,测试计划,测试设计,测试实施,上线
性能测试流程:需求分析,测试计划,选择一款性能测试工具,设计性能测试脚本,执行脚本,产出性能测试报告
性能测试中发现的性能问题不叫bug,叫系统的性能瓶颈
性能测试中发现的性能问题,开发修复的时候叫优化性能瓶颈