当前位置:网站首页>性能测试 - 理论
性能测试 - 理论
2022-08-02 20:26:00 【闪亮伞】
简介
性能测试是通过一些自动化的测试工具来模拟用户使用系统,从而检测出系统的各项性能指标,抗压能力如何,一般来说,主要从 正常、峰值、异常负载等三个方面出发进行测试。
和功能测试的区别
功能测试有着很明确的需求说明,性能测试的影响因素较多,机房、服务器的性能都会对性能测试的结果产生影响,性能测试需求以及目标也很重要。
意义
- 评估系统的能力。测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,从而帮忙做出决策。
- 识别体系中的弱点。受控的压力可以被增加到一个极端的水平,并突破他,从而修复体系的瓶颈或者薄弱的地方。
- 系统调优。重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。长时间的测试执行可导致程序发生由于内存泄漏引起的失败,揭示程序中隐含的问题或者冲突。
- 验证稳定性可靠性。在一个生产负荷下,执行测试一定的时间,是评估系统稳定性和可靠性是否满足要求的唯一方法。
- 通过预埋未来数据,评估未来时间内系统的支撑情况。
- 通过节点性能测试,就可以计算生产服务器节点配比。
名词解释
虚拟用户
模拟现实中的实际用户,测试工具会使用虚拟用户来代替真实用户对系统进行操作。
测试场景
测试场景就是一个具体的测试用例,他是测试资源,包括测试脚本,运行设置。运行用户数等的集合,在场景中,可以定义为并发用户的数目,定义要运行的脚本,在一个场景中,可以是单个流程、也可以是多个流程的混合。
事务
是一个流程中某个或者某些环节的称呼,一个流程可以成为一个大的事务,其中大事务中可以包含很多的小失误。
响应时间
指的是用户发出请求 到 看到请求结果的整个过程,计算的是端到端的时间,是衡量性能的重要手段。
平均响应时间
总的交易量除以总的交易时间,通常以秒为单位。
90%响应时间
将所有的响应时间从小到大排列,取排在90%位置的那个值,主要用于衡量系统的稳定性。
eg:
{1,3,5,10,16}
{5,6,7,8,9}
平均响应时间都是7,但是第二组数据的90%响应时间为9.
TPS: transaction per second
每秒的系统交易量,单位是笔/秒,衡量系统处理能力的重要指标,表示一次交易的申请和响应返回的过程。
QPS:query per second
每秒的查询率,是一台服务器每秒能够执行查询的次数,是对查询服务器规定时间内处理流量多少的称量标准。
网络吞吐量
指单位时间内通过网络成功传输的数据量,单位是 byte/s
资源使用率
主要指服务器硬件资源,网络资源等,如cpu,内存使用率,磁盘IO,网络IO等。
思考时间
虚拟用户在与系统进行交互的时候等待的时间,用户模拟真实环境下,用户在使用系统时每一步操作等待的时间。
并发数
指在某一个时间,一定数量的用户同时对系统进行操作,通常性能测试工具可以设置集合点以加强并发点。
性能测试角度
用户
- 响应时间 - 还要让我等多久
- 稳定性 - 为什么总是失败
开发
- 架构设计 - 是否合理
- 数据库设计 - 是否合理
- 代码 - 性能问题、内存使用、线程同步操作、资源竞争、算法优化
系统管理员
- 资源利用率 - 服务器资源使用、数据库使用
- 可扩展性 - 能否实现扩展、潜在的瓶颈、设备优化
- 系统容量 - 支持多少用户、最大事务处理量
- 稳定性 - 连续不间断业务访问
测试人员
测试人员要考虑全面的性能,包括用户、开发、管理员等各个视角的性能。
边栏推荐
猜你喜欢
pytorch的tensor创建和操作记录
信息系统项目管理师必背核心考点(五十八)变更管理的主要角色
软件测试的流程规范有哪些?具体要怎么做?
第七章 噪声
Common tools and test methods for interface testing (Introduction)
华为设备配置BFD多跳检测
Fiddle设置接口数据用指定工具查看;Sublime Text设置json数据格式化转换
Tencent YunMeng every jie: I experienced by cloud native authors efficiency best practices case
HCIP--BGP基础实验
A brief discussion on the transformation of .NET legacy applications
随机推荐
第七章 噪声
奥特学园ROS笔记--7(289-325节)
如何使用windbg查看C#某个线程的栈大小 ?
李沐动手学深度学习V2-BERT预训练和代码实现
即时通讯开发移动端网络短连接的优化手段
Li Mu hands-on deep learning V2-BERT pre-training and code implementation
Async的线程池使用的哪个?
iframe------------frame-
太魔人招新啦|快来加入我们吧!
你所不知道的C#中的细节
一款免费的容器安全 SaaS 平台使用记录
Which thread pool does Async use?
LeetCode 622 设计循环队列[数组 队列] HERODING的LeetCode之路
美国爱荷华州立大学| Improving Distantly Supervised Relation Extraction by Natural Language Inference(通过自然语言推理改进远程监督关系提取)
基于 outline 实现头像剪裁以及预览
框架设计:PC 端单页多页框架如何设计与落地
vscode如何能将输出从OUTPUT改为TERMINAL或者DebugConsole
56.【全局变量和局部变量专题】
【21天学习挑战赛】冒泡排序与插入排序
如何成为一名正义黑客?你应该学习什么?