本篇学习性能测试的基本知识以及指标介绍
文章目录
性能测试
性能测试的定义
测试人员借助性能测试工具,模拟系统在不同场景下,对应的性能指标是否达到预期
为什么要进行性能测试
- 获取系统性能的指标,作为性能指标的基准
- 验证系统的性能指标是否达到要求(性能需求)
①应用程序是否能够满足系统要求的各中性能指标
②应用程序是否能处理预期的用户负载并有盈余能力
③应用程序是否能处理业务所需要的事务数量
④在预期和非预期的用户负载下,应用程序是否稳定
⑤是否能确保用户在真正使用软件时获得舒服的体验 - 发现系统的性能瓶颈,内存泄漏等问题。
- 系统正常工作的情况下的最大容量。
- 帮助系统运维部门能更好的规划硬件配置
性能测试与功能测试的区别
功能测试:依靠人工来执行
性能测试:依靠工具来执行
功能测试:软件是否实现了需求,不管在什么场景下,只要能够正常运行即可
性能测试:软件在一些极端的情况喜爱,是否还能正常运行
影响一个软件性能的因素有哪些
硬件:服务器CPU利用率,内存,磁盘操作频率,菜谱核心数,
软件:算法,编程语言
用户:用户数量,用户使用时长,用户访问频率
性能测试的指标
系统/事务的平均响应时间
事务处理效率TPS(Transaction Per Second)
吞吐率
每秒点击次数(Hits Per Second)
服务器资源占用情况,内存和CPU使用率
软、硬件配置是否合适(容量规划/硬件选型)
以下为性能测试的判断指标
并发和并发数
并发用户会对系统造成压力,首先对系统用户数,在线用户数,并发用户数做一个区分。
系统用户数:简单地说就是该系统的注册用户数。
在线用户数:指成功登录的系统用户数
业务层面的并发用户数:指的是同时向服务器发送请求的用户数量。
后端服务器层面的并发用户数:指的是同时向服务器发送请求的请求数量
响应时间/平均响应时间(RT/ART)
响应时间分为前端展示时间(用户响应时间)和系统响应时间(请求响应时间)两部分
前端展示时间指的是客户端收到服务器返回的数据后渲染前端页面,所耗费的时间。
系统的响应时间,分为web服务器,应用服务器,数据库服务器,等各种服务器之间通信和处理请求的
时间。服务器收到请求到发出响应这段时间是请求响应时间
③影响一个软件响应时间的因素有哪些
数据库性能,网络带宽,服务器处理性能,软件算法、逻辑,用户设备
事务响应时间(Transaction Reponse Time)
事务:每秒完成的事务数,通常指每秒成功的事务数,性能测试中重要的综合性性能指标。
每秒事务通过数(Transaction Per Second)
TPS 是指每秒系统能够处理的事务数。它是衡量系统处理能力的重要指标
点击量
用户点击的数量
点击率(Hit Per Second)
每秒点击数代表用户每秒向Web 服务器提交的HTTP请求数。点击率越大,服务器压力越大。
这里的点击并不是鼠标的一次点击,一次点击可能有多次HTTP请求。点击量/时间就是点击率
吞吐量
用户一次请求和服务器之间数据交互量
吞吐率
这里的吞吐量以单位时间为度量衡量
吞吐量/时间就是吞吐率
吞吐率越高越好,吞吐率越低越差
思考时间
指模拟正式用户在实际操作时的停顿间隔时间,从业务的角度来讲,思考时间指的是用户在进行操作时,每个请求之间的间隔时间。
资源利用率
不同系统资源的使用情况。包含CPU,内存,硬盘,网络等。
性能测试的分类
基准性能测试
让系统在正常情况下运行,观察软件性能指标
应用场景:软件刚上线需要进行性能摸底
性能基准测试是通过性能测试获取系统的性能指标,建立一个性能基准,作为以后性能测试的参考。
系统进行性能基准测试可以在系统开发的较早的阶段发现性能问题。
负载性能测试
验证软件在一定压力的情况下运行,观察性能指标是否出现了拐点。
压力性能测试
系统处于饱和情况下,观察系统性能指标,压力性测试往往会把系统搞崩溃
可靠性(稳定性)测试
验证系统在一个持续的时间段内运行,在这个运行时间段,观察系统各项性能指标是否正常
性能测试的执行流程
性能测试的执行流程:需求分析->测试计划->选择一款性能测试工具->性能测试脚本编写->执行对应性能测试脚本->产出一个新能测试报告
性能测试中出现了不符合预期的情况,不叫bug,它叫我们的性能瓶颈
在性能测试中,出现了性能瓶颈,开发修复过程中,不叫修复bug,叫做优化