Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >持续测试中性能测试建设全过程

持续测试中性能测试建设全过程

原创
作者头像
漫谈测试
发布于 2024-12-06 01:14:14
发布于 2024-12-06 01:14:14
980
举报
文章被收录于专栏:漫谈测试漫谈测试

持续测试是服务于软件全生命周期的测试手段,涵盖了单元、UI、功能、性能等测试方法。本文主要以某企业(以下简称A企业)的性能测试建设为例,展开说明。

A企业内部已经落地了标准化的全链路压测平台Jenkins流水线,通过对接全链路压测平台的OpenAPI,A企业实现了性能测试全过程的闭环:

在A企业的流水线上创建一个测试需求,信息会自动同步到全链路压测平台中,并创建一个测试计划测试工程师会根据需求,在全链路压测平台中编写、调试脚本,构建测试场。

场景构建完成后,测试工程师可以直接从流水线获取本次测试任务的所有测试场景,按需执行压测。当压测结束后,全链路压测平台会自动往A企业的流水线上同步本次的压测数据,如本次压测是否通过,TPS和响应时间是多少,被测服务的CPU利用率、内存占用率是多少,是否符合预期要求等。流水线会针对这些数据进行检测,若符合本次测试目标,则认为达到准出标准。若不符合,则认为不通过

当开发团队需要提交测试需求时,可以由开发工程师直接选择对应的场景来执行,无须再由测试工程师驱动。若需要针对历史场景进行回归,也可以在流水线上选择对应的场景来执行。

将流水线与性能测试平台打通,大大提高了测试工程师执行测试场录的效率。同时赋能部分开发工程师进行性能测试回归,自动检测是否符合要求,形成了一定的测试左移能力

在持续测试中,性能测试是确保软件系统能够满足预期性能要求的关键组成部分。它不仅关注于代码的功能正确性,还确保了应用在高负载、并发用户访问等条件下依然能够稳定运行。根据上文的内容,我们可以将性能测试的建设全过程归纳为以下几个阶段:

1. 规划与需求分析

确立目标:首先需要明确性能测试的目标,包括最大并发用户数、响应时间、吞吐量等关键指标。

制定计划:创建详细的性能测试计划,确定测试范围、资源分配及时间表。此外,还需要定义性能验收标准和服务级别协议(SLA)或服务级别目标(SLO),以确保团队对期望结果有共同的理解。

2. 测试环境搭建

环境准备:建立一个尽可能接近生产环境的测试环境,这可能涉及到硬件配置、网络架构等方面的考虑。

数据准备:准备真实或模拟的数据集,保证测试过程中的数据能反映实际使用情况。同时也要规划好数据清理策略,避免遗留数据影响后续测试。

3. 性能测试设计

场景设计:基于业务流程和用户行为模式来设计具体的测试场景,比如模拟高峰时段的用户活动。

脚本开发:利用性能测试工具(如JMeter, LoadRunner等)编写或录制测试脚本,这些脚本应当能够准确地模仿用户的操作,并且能够处理不同的负载条件。

4. 执行与监控

执行测试:按照既定方案执行性能测试,通过逐步增加虚拟用户数量来观察系统表现。

实时监控:在测试过程中密切监控各项性能指标,如CPU利用率、内存占用率、网络延迟等,及时发现潜在问题。

5. 结果分析与报告

数据分析:收集并分析测试数据,识别出性能瓶颈所在的位置,以及系统在不同负载下的表现如何变化。

撰写报告:整理测试结果,形成正式报告,包含测试概况、发现的问题、改进建议等内容。

6. 调整优化

性能调优:针对测试中发现的问题进行针对性的优化,可能涉及代码层面的调整或是基础设施方面的改进。

迭代测试:优化后再次执行性能测试,验证改动是否有效解决了之前的问题。

7. 持续集成/持续部署(CI/CD)中的自动化

自动化集成:将性能测试纳入CI/CD流水线中,确保每次代码提交后都能自动触发相应的性能测试,快速反馈任何可能导致性能下降的变化。

智能选择用例:随着项目的增长,可以采用智能化的方法来挑选最具代表性的测试用例,从而提高效率而不牺牲覆盖度。

8. 维护与更新

定期回顾:定期评估现有性能测试策略的有效性,必要时做出调整以适应新的技术栈或业务需求。

工具升级:保持所使用的性能测试工具及其依赖库的版本是最新的,以获得最新的功能支持和安全性保障。

通过这样一个全面而系统的性能测试建设过程,组织可以在整个软件开发生命周期中持续地监控和改善其产品的性能表现,从而确保最终交付给用户的产品具备良好的用户体验。

阅读后若有收获,不吝关注,点赞,分享等操作!!!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
性能测试的成熟模型有哪些
性能测试的成熟模型通常是指那些能够帮助组织系统化地进行性能测试,并逐步提高其测试过程成熟度的框架或方法。
漫谈测试
2024/10/27
1340
性能测试的成熟模型有哪些
性能测试中性能调优行业分析
在介绍性能调优体系建设前,先来了解下当前性能调优的行业现状,我们分别以传统行业(金融为主)和互联网行业为例,分析这些行业的特性。
漫谈测试
2024/10/18
1540
性能测试中性能调优行业分析
聊聊影响性能测试成熟度的内容项
企业如何更细化地了解哪些内容会对性能测试成熟度存在影响呢?接下来会对以下5个内容项进行描述从而让企业能够更加准确、更有针对性地进行提升。
漫谈测试
2024/10/08
2250
聊聊影响性能测试成熟度的内容项
性能测试结果面向测试管理者该如何处理
测试经理作为测试团队内部的管理员,主要工作是分配任务,识别风险,跟踪测试进度,针对可能出现的延期进行提前预警。
漫谈测试
2024/11/22
920
性能测试结果面向测试管理者该如何处理
聊聊测试团队的基础架构建设
大概20年这个时候,听过公司一位架构师的分享,他提到了基础架构团队的定位和主要产出,即为整个技术团队提供所有研发活动开展所必需的基础设施。关于技术基础设施的目标,他定义了如下三点:
老_张
2023/08/09
4170
聊聊测试团队的基础架构建设
生产环境全链路性能测试体系建设落地效果
截至2023年6月份底,企业的特色性能测试体系初步建成,全链路压测平台接入供应商项目组超过20个,测试执行项目超过60个,脚本产出超过400个,场执行超过4000场。
漫谈测试
2024/12/17
1160
生产环境全链路性能测试体系建设落地效果
性能测试成熟模型风险模型
风险模型是指在性能测试实施过程中可能存在的风险,这些风险主要是由外部因素导致的而不是应用系统本身发生的。
漫谈测试
2024/11/08
1400
性能测试成熟模型风险模型
聊一下从需求到性能测试全过程
在性能测试项目中将大部分时间花费在获取需求、验证需求以及实现需求上,只有这样才能为性能测试打下坚实的基础。其余的时间则用于录制事务脚本、执行性能测试和分析测试结果。
漫谈测试
2024/08/21
1350
聊一下从需求到性能测试全过程
一次完整的性能测试,测试人员需要做什么?
规范的性能测试实施流程能够加强测试工作流程控制,明确性能测试各阶段应完成的工作,指导测试人员正确、有序的开展性能测试工作,提高各角色在性能能测试中的工作效率。本次分享的性能测试实施流程是性能测试开展的”指导方针”,希望帮助您可以早日成为性能测试”达人”。
海涛
2019/10/09
8210
一次完整的性能测试,测试人员需要做什么?
震撼推荐!性能测试全攻略:零基础也能玩转性能测试!
当提到性能测试,你的第一反应是什么?是不屑一顾,认为它很简单,没发展前途、没技术含量?还是觉得它太难了,高不可攀,每当遇到系统的疑难杂症时,抓耳挠腮,无从下手?
测试开发技术
2024/11/22
1860
震撼推荐!性能测试全攻略:零基础也能玩转性能测试!
15个最好的性能测试工具
在软件测试日常工作中,大家接触得比较多的性能测试工具有LoadRunner和Jmeter,这里整理了web应用程序性能和负载压力能力的最广泛使用的性能测试工具的综合列表。
苦叶子
2019/05/30
24.9K1
性能测试代码级分析能力应用
除了拓扑的自动构建外,代码级分析能力也是非常重要的能力。链路拓扑可以帮助性能测试工程师快速定位哪个实例出现异常,而代码级分析则更进一步。链路拓扑展示一个请求链路中单个实例的方法执行逻辑、执行耗时及可能的异常信息,赋予测试工程师代码级分析能力。根据所展示的数据,性能测试工程师可以针对以下几个方面进行深入分析。
漫谈测试
2024/11/13
1050
性能测试代码级分析能力应用
性能专题:性能测试实施全过程指南
本文是公号内性能专题,更新的第四篇,前三篇可参照上述。本想从理论到实践,以循序渐进的形式为大家分享介绍性能的知识体系,《性能专题之服务端测试》这部分,内容其实已经编写整理差不多了,完整文章列表如下:
测试开发技术
2020/01/17
6050
性能专题:性能测试实施全过程指南
微服务架构下:集成服务性能测试从0到1实践分享
各位好,我叫王捷豪,在测试行业已经有7年,曾从事过酒店、空气质量、电网领域,目前是国内某互联网医疗公司研发中心基础平台部一名测试开发工程师,多年的测试工作对测试知识有一些小认识,希望通过该篇文章与各位分享关于如何开展不同测试类型的性能测试,以及性能测试环节中遇到的一些问题与解决方案。本次性能测试是针对集成服务开展的一系列性能测试,其中性能测试范围包括基准测试、配置&定容定量测试。
测试开发技术
2020/11/25
1.2K0
微服务架构下:集成服务性能测试从0到1实践分享
Locust性能测试入门案例及分布式压测
在抢红包、活动秒杀这种短时间内流量突增的场景,或者是健康宝这种使用用户超级多的场景,我们均需要进行压力测试,确保服务稳定可用
Bug挖掘机
2022/12/28
2.6K0
Locust性能测试入门案例及分布式压测
性能测试:性能测试流程与方法
性能测试流程是指在进行性能测试时所遵循的一系列步骤和阶段,以确保对系统的全面测试和评估。性能测试流程的具体步骤可能会因组织、项目和测试需求而有所不同。
霍格沃兹测试开发Muller老师
2024/07/09
4660
来聊两块钱的性能测试
作为一枚测试,或多或少都做过or听说过性能测试。说到性能测试,第一印象可能是高大上,因为它涉及到评估系统的性能、稳定性和可靠性。确实,性能测试水很深,如果玩得比较溜就能发展成性能测试专家、架构师级别。
测试蔡坨坨
2023/08/18
3690
来聊两块钱的性能测试
软件性能测试(连载4)
对于功能测试,判断测试用例是否测试通过,往往是比较容易的,只要不发生错误并且满足用户的需求即可。而对于性能测试该如何来评判性能测试是否通过呢?可以考虑以下三个方面。
顾翔
2020/02/19
9930
软件性能测试(连载4)
04丨JMeter和LoadRunner:要知道工具仅仅只是工具
做性能测试工作的人总是离不了性能测试工具,但当我们刚开始接触这类工具或者压测平台的时候,总是难免处在一种顾此失彼,焦虑又没想法的状态。
软测小生
2020/02/24
3.3K0
性能测试方案阐述
很多人会问,性能测试需要设计方案吗?需要测试用例(性能场景)吗?拿一个性能测试工具,比如loadrunner,对被测系统进行压测,不就是性能测试了吗?是的,这种拿性能测试工具来进行压测,就以为是做性能测试的思维,仍然存在很大一部分的人心里。 我可以大声的告诉你:不是!性能测试是一门系统性的工作,包括:测试方案的设计、性能环境的搭建,编写性能脚本进行压测,分析测试结果,调优&回归,出性能报告。针对每一个步骤,我都尽量写一篇文章来描述。如果你拿性能测试工具进行压测,那么只是其中的一小步而已。本文先重点描述如何设计性能测试方案。 首先要确认性能测试的目的是什么?有个成语叫:有的放矢。这是我们做事的原则。我遇到很多开发,他们很喜欢说一句话就是:“这个帮我压下,看下性能如何?”当然这也是目的。那我们性能测试工程师的价值体现在哪里?每天屁颠屁颠跟在开发后面,帮他压一下这个项目,帮她压一下这个页面,帮TA压一下。。。。。? 我觉得作为性能测试工程师,要从系统的性能角度出发,从用户的角度出发,如何更好的模拟用户行为?找出系统的性能瓶颈所在,预估系统的容量。性能测试方案的设计也是基于这几点出发。 为了更好的理解,举个例子,就拿www.juhuasuan.com聚划算来说明。
周辰晨
2020/01/20
1.1K0
性能测试方案阐述
相关推荐
性能测试的成熟模型有哪些
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档