当前位置:网站首页>性能测试 - 理论
性能测试 - 理论
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等。
思考时间
虚拟用户在与系统进行交互的时候等待的时间,用户模拟真实环境下,用户在使用系统时每一步操作等待的时间。
并发数
指在某一个时间,一定数量的用户同时对系统进行操作,通常性能测试工具可以设置集合点以加强并发点。
性能测试角度
用户
- 响应时间 - 还要让我等多久
- 稳定性 - 为什么总是失败
开发
- 架构设计 - 是否合理
- 数据库设计 - 是否合理
- 代码 - 性能问题、内存使用、线程同步操作、资源竞争、算法优化
系统管理员
- 资源利用率 - 服务器资源使用、数据库使用
- 可扩展性 - 能否实现扩展、潜在的瓶颈、设备优化
- 系统容量 - 支持多少用户、最大事务处理量
- 稳定性 - 连续不间断业务访问
测试人员
测试人员要考虑全面的性能,包括用户、开发、管理员等各个视角的性能。
边栏推荐
- setup syntax sugar defineProps defineEmits defineExpose
- C# Barrier class
- Informatics orsay a tong (1258: 【 9.2 】 digital pyramid)
- 拥抱Cmake小朋友 简单又实用,但是不灵活
- 美国爱荷华州立大学| Improving Distantly Supervised Relation Extraction by Natural Language Inference(通过自然语言推理改进远程监督关系提取)
- The time series database has been developed for 5 years. What problem does it need to solve?
- ACE JET NPOI
- unittest自动化测试框架总结
- Li Mu hands-on learning deep learning V2-bert and code implementation
- Solve the docker mysql can't write Chinese
猜你喜欢
华为设备配置BFD多跳检测
广东省数字经济发展指引 1.0之建成数据安全保障体系
Wiring diagrams of switches, motors, circuit breakers, thermocouples, and meters
软件成分分析:华为云重磅发布开源软件治理服务
奥特学园ROS笔记--7(289-325节)
【手撕AHB-APB Bridge】~ AMBA总线 之 APB
TodoList案例
谷歌竞价机器学习如何去理解?
The software testing process specification is what?Specific what to do?
浅议.NET遗留应用改造
随机推荐
广东省数字经济发展指引 1.0之建成数据安全保障体系
人尽皆知的云原生,到底是大势所趋还是过度炒作?
vscode如何能将输出从OUTPUT改为TERMINAL或者DebugConsole
X 2 Earn必须依靠旁氏启动?GameFi的出路在哪?(下)
引用类型 ,值类型 ,小坑。
Informatics Olympiad All-in-One (1257: Knight Moves)
pytorch的tensor创建和操作记录
js: 实现一个cached缓存函数计算结果
信息学奥赛一本通(1257:Knight Moves)
美国爱荷华州立大学| Improving Distantly Supervised Relation Extraction by Natural Language Inference(通过自然语言推理改进远程监督关系提取)
HCIP--BGP基础实验
实现fashion_minst服装图像分类
Flink Yarn Per Job - 启动AM
有效解决MySQL报错:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO/YES)
PLC工作原理动画
模板的进阶
Helm基础知识
如何成为一名正义黑客?你应该学习什么?
C# Barrier类
MSTP与STP