前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >性能测试体系演进之道

性能测试体系演进之道

作者头像
老_张
发布2024-06-18 15:34:44
1510
发布2024-06-18 15:34:44
举报

这是付费技术干货合集的第四篇文章,大约11600字,核心内容如下图所示:

前面三篇文章,分别从性能测试基础知识、从零开始的落地流程以及性能测试体系视角,加上几个不同的案例介绍了性能测试工作中的重点和注意事项。

在上述基础上,性能测试要想继续深入,就需要进入团队的体系化建设层次。从我的实践经验来说,进入团队级体系建设层次后,重点需要放在本文要阐述的五个方面:

Roadmap:体系建设落地需要全面完善的指引。

理解业务:对业务的深层次理解,才能很好地落地体系。

体系演进:体系最大的价值,就是沉淀能力并横向纵向扩展。

平台建设:一切体系建设的开展,最终都会演变为平台即服务模式。

效能提升:体系赋能除了扩大覆盖范围,更需要降低重复建设,提升效率。

性能体系Roadmap

方法论

“工欲善其事,必先利其器”,我想在后面补充一句:“欲利其器,必晓其理”!

无论任何一种知识或者技术领域,想要很好地在这个领域有所收获,一定要先掌握这个领域的理论知识,并且对相关的底层通用知识有所了解,否则在深入实践和体系建设时,会遇到很多认知上的偏差导致结果南辕北辙。

基础理论知识并不难学习,有太多的专业书籍和课程介绍这些内容。理论知识的作用在于让我们对性能测试有一个足够和全面的了解,知晓其脉络骨骼,然后按照方法论的指导,在具体的实践中灵活运用。

而通用的底层知识,对IT行业相关的技术从业者来说,无非就是网络协议、编码语言、数据库存储和操作系统相关知识。这些知识基本是几十年前就有的,到现在没怎么变化,预计未来也不会有大的改变。

业务场景

技术本身无法直接体现其价值,它一定要通过业务目标的达成或者商业活动的变现,才能体现价值。所有的测试活动开展,也是基于具体业务场景,因此在掌握基础理论知识后,性能体系搭建的前提一定是要对业务有足够深的理解。

工具组件

技术发展带来的最大优势就是出现了多种类型的工具,工具的作用就是辅助人提高做事情的效率,性能测试也不例外。在实际的压测实施中,借助工具可以事半功倍地完成性能测试工作。

上图的几种工具组件,下面列举几种供参考:

  • 压测工具:jmeter、gatling、locust、ghz、airlab、sysbench。
  • 监控工具:zabbix、cat、skywalking、jaeger、prometheus、grafana。
  • 分析工具:arthas、SystemTap、jconsole、visualvm、操作系统自带工具。
  • 服务组件:常见如redis、kafka、tomcat、feign、apollo、nacos、mybatis。
  • 系统架构:性能测试的对象是各应用服务及技术组件,需要了解整个系统的调用关系,因此熟悉被测系统的系统架构和数据流是做好性能测试工作的必须项。
技术实践

性能测试其实只是一个统称,现在大家更习惯称之为容量保障。

性能测试本质是一个特别吃经验的活儿,需要大量的项目实践和踩坑排查问题,定位分析优化问题,才能累积丰富的技术经验和案例。上面我列举了几个具有代表性的技术实践类型,其实本质都是为了保障线上服务的稳定性。

关于容量保障和服务稳定性保障更详细的内容,我会在本合集后续的文章中进行详细介绍,这里暂且不做过多赘述。

体系建设

性能测试或者说任何的技术实践,做到最后都是建立体系,体系是基于理论指导的适合自己的支撑业务目标达成的最佳技术实践。我个人认为体系建设最重要的五点要素如下:

组织结构:技术团队的人员构成、新人落地、人员培养、知识库建立以及团队目标和分工。

流程规范:好的流程规范是保证团队大部分人可以遵循同一个目标和方向前进,降低内耗。

技术体系:技术团队一定要做自己的技术体系搭建,从技术选型、demo验证到技术落地以及持续优化。

沟通协作:现在很多工作单靠自己是无法完成的,需要多人协作甚至跨团队合作,因此高效的沟通协作机制很重要。

性能文化:其实不仅仅是性能文化,每种技术实践都有自己提倡的文化,比如测试的文化就是质量+效率。文化的本质就是团队所认可并且践行的一种理念,一种有益于业务、团队和个人利益的追求。

其实无论哪一门技术领域,都需要先了解理论,才能更好实践。所有的技术都是服务于业务,一切以业务目标为导向开展技术实践。技术的最大价值就在于,支撑业务更好发展而体现自身的价值。技术实践到最后,构建最适合自己团队和业务目标达成的体系,并且需要持续改进。

业务和技术的关系

技术同学对这点应该很熟悉,面试或者同行交流时,都会说要懂技术还要懂业务,或者基于什么业务场景,采取了什么技术方案,解决了什问题。所以技术和业务的关系在我看来挺简单的,互相成就而已。我理解的技术和业务的关系,用一句话概括就是:技术是为业务目标达成提供支撑和效率工具,业务目标更好的达成对技术有更高的要求

PS:下述内容以电商业务为例,展开阐述。

业务的目标:运营业务增长

常见的业务场景,具备的几种特性:

  1. 业务可视:业务的可视,简单理解就是业务的状态,处在什么阶段,目前的效果可以直观的以可视化的状态来呈现,常见的场景就是业务监控大盘(想想监控大盘需要技术做什么?数据采集/数据存储/数据展示)。
  2. 业务可管:最常见的就是一些促销活动的配置,比如活动时间、涉及的商品/优惠券、用户类型以及标签体系(这里又需要技术做什么呢?活动会场搭建工具/优惠信息缓存/活动消息推送)。
  3. 业务可控:业务可控通过字面意思理解,即:各个业务维度的运行监控/业务配置发布回滚以及防资损。
  4. 业务可优:最常见的有电商的千人千面、短视频的智能推荐算法、针对不同等级会员的优惠营销体系等。
技术如何支撑业务运营增长

从上图可看出,常见业务运营流程中,每个阶段每个环节都对技术部门提出了挑战:

  1. 从需求提出到发布:研发成本、研发效率、交付质量。
  2. 从下单到订单履约:提高业务成交履约率(撮合交易/成单匹配/留存转化)。
  3. 业务活动的营销推广:活动搭建、抽奖&优惠券&营销短信等方面的快速响应。
  4. 线上故障的快速发现解决:监控告警、问题定位、风险评估、线上服务的SLA。
技术的目标:支撑业务运营

电商业务或者说大部分业务的特性主要有如下几点:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 老张的求知思考世界 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 性能体系Roadmap
    • 方法论
      • 业务场景
        • 工具组件
          • 技术实践
            • 体系建设
            • 业务和技术的关系
              • 业务的目标:运营业务增长
                • 技术如何支撑业务运营增长
                  • 技术的目标:支撑业务运营
                  相关产品与服务
                  短信
                  腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档