如何提高性能测试效能

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 衡量价值最简单的逻辑就是以最低成本创造最大价值,简单的公式就是:价值=收益-成本。软件测试的本质是一个发现软件设计/研发缺陷的过程,整体追求的目标是更高的交付质量和过程效率。性能测试作为质量保障范畴的一部分,其价值体现除了降低成本,提升用户体验,还有很重要的一部分就是提升效能。

上周六应邀在天津devops峰会的质量内建专场做了一次分享,主题是《稳定性保障利器:全链路压测》。中关于全链路压测对质量内建的意义,我做了一个总结,如下图所示。本文基于下图做了展开描述,仅供参考。


640.png


如何理解性能测试的价值?


如标题所示,这个问题也是我大会之后思考的一个问题。


可能按照通用的思路,我们都会说提高请求处理能力,降低时延,提高用户体验,降低硬件成本。但从质量保障全局来讲,我觉得还有其他方面的价值。


衡量价值最简单的逻辑就是以最低成本创造最大价值,简单的公式就是:价值=收益-成本。


软件测试的本质是一个发现软件设计/研发缺陷的过程,整体追求的目标是更高的交付质量和过程效率。性能测试作为质量保障范畴的一部分,其价值体现除了降低成本,提升用户体验,还有很重要的一部分就是提升效能。


为什么要这么讲呢?因为技术部门,或者说技术部门里面的测试团队,是无法直接产生可观度量价值的。所有的技术都是为业务服务的,而业务是可以直接给企业带来商业价值。


抛开交付质量,我们可以换个角度,技术作为支撑业务目标达成的一部分,测试作为软件研发过程的一部分,如果能降低研发过程的耗时,缩短信息反馈链,这样也可以间接的促进业务目标达成,体现自己的价值。


性能测试如何提高测试效能


如上文所述,性能测试对于质量内建及提高效能的方式,在实际工作中可以从不同阶段和不同维度来实践。


现状


业务在发展过程中注定是越来越复杂的,而复杂的业务会加大理解成本,并且复杂业务几乎就等于复杂的系统技术架构。随着互联网行业的不断发展,原来的瀑布式迭代也逐渐的敏捷化,大家都在追求快速交付可用的系统,这对于项目管理来说是个巨大的挑战,无形中又加大了项目整体的管理和交付难度(相比高质量和稳定迭代来说)。


而传统的性能测试,从需求提出到执行压测、定位分析和性能优化的过程比较长,与我们面临的现状有了巨大的隔阂。


过程


面对业务多样+架构复杂+迭代快速+管控难度大的现状,为了提高效能,我个人认为可以从如下几个方面着手来提效。


PS:仅谈性能测试的角度技术实践。


业务可识别:通过区分核心业务及应用,快速识别不同业务及应用可能存在的性能风险


链路可追踪:通过链路追踪监控手段,识别业务链路的变化和核心接口的流量变化情况


结果可验证:通过性能测试自动化方式,做到核心接口性能常态化巡检,让性能基线成为测试过程的一部分


过程可量化:通过数据实时对比和通知,让研发运维同学能够更快速的感知到性能变化带来的风险并提前预防


目标


通过上述的手段,提高整个性能测试过程效率,尽可能覆盖更大的业务范围和应用以及请求链路,达到如下目标。


应用可信:对业务应用的变化快速感知,提高风险评估意识;


链路可信:对请求流量的变化实时跟进,及时响应变化做好预防机制;


容量可信:对系统性能有更清晰的认识,更精准的做好容量规划和成本控制;


SLA可信:对系统整体的可用性有信心,更好的保障线上系统和业务的稳定性;


文末总结


通过自动化手段提高性能测试过程效率(缩短信息反馈链),通过技术手段做到风险提前评估、变更及时响应、容量精准规划,让技术团队对线上系统的稳定性更有信心,提升技术对业务的支撑力度,来体现性能测试的价值。


相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
7月前
|
机器学习/深度学习 敏捷开发 测试技术
深入探索软件测试中的持续集成与持续部署(CI/CD)实践利用机器学习提升网络安全防御效能
【5月更文挑战第27天】 在现代软件开发的快节奏环境中,持续集成(Continuous Integration, CI)和持续部署(Continuous Deployment, CD)已成为确保产品质量和加快交付速度的关键策略。本文将深入探讨CI/CD在软件测试中的应用,分析其对提高自动化测试效率、缩短反馈周期以及优化发布流程的重要性。通过实际案例研究,我们揭示了成功实施CI/CD的最佳实践,并讨论了面临的挑战及其解决方案。
|
机器学习/深度学习 测试技术 Android开发
淘系产业级移动应用智能测试最新方案MonkeyBot公开!测试效能提升3倍以上
淘系产业级移动应用智能测试最新方案MonkeyBot公开!测试效能提升3倍以上
|
运维 前端开发 Devops
测试之效能提升
我们现处于哪层?最顶层;每一层我们可以做哪些事?现在公司基本两层:前端→后端,稍微复杂点项目三层,UE4→前端→后端 ,后端后续微服务之后,前端→网关→后端:服务排查问题置顶向下成本将越来越高,长期受益可以从后面几个阶段提升; 单元测试最基本的意义,提前了解开发实现的业务逻辑是否与需求一直,测试期.
|
设计模式 前端开发 JavaScript
测试效能平台最佳实践 | 解决用户痛点,比堆叠功能更重要!
本文为霍格沃兹测试学院优秀学员关于测试测试效能平台开发(国际化商城智能物料平台)的最佳实践经验分享。
|
8天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
44 11
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
65 3
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
79 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
268 7
Jmeter实现WebSocket协议的接口测试方法
|
3月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
285 3
快速上手|HTTP 接口功能自动化测试
|
3月前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
58 5