玛卡巴卡的卡巴卡玛 发表于 2024-9-8 20:01:13

通过平台工程提高微服务测试质量

通过平台工程提高微服务测试质量

https://img2023.cnblogs.com/blog/15172/202409/15172-20240908194919208-805748983.png
配景


[*]微服务架构的多样性导致了测试过程中的不统一和服从低下。
[*]各团队可能利用不同的编程语言和工具链,导致重复工作和成本增长。
[*]非尺度测试方法会危及系统的可靠性和整体质量。

    为了提高工程服从、降低成本并提高系统可靠性,尺度化测试流程是关键的一步。在快速发展的微服务世界中,每个工程团队通常会构建自己独特的技术和工具组合 —— 一种多语言的天堂。固然这种多样性促进了创新,但在测试方面带来了重大挑战。团队可能会选择自己的编程语言和工具链,但正如容器和 Kubernetes 所教导我们的,摆设和运行时的尺度化黑白常宝贵的。这种对统一性的需求至关重要地延伸到测试领域,这是一个充满决策的领域,例如优先思量哪些测试、追求哪些指标以及自动化程度有多高。
“我们有一些团队想要快速举措,因此懒得编写任何自动化测试,只是在生产中举行测试并回滚。而我们另有一些团队花费太多时间自动化他们代码的各个方面,而且发布非常缓慢!”
这种差异不仅服从低下,而且成本高昂,由于它会导致冗余的努力和增长的维护成本。没有尺度化的测试,团队可能会重复工具和流程,这通常会导致更昂贵的生产题目,斲丧大量资源,并可能影响收入。

非尺度测试的题目

       想象一下,一个团队在 CI 中勤奋地利用 Docker Compose 自动化集成测试,而另一个团队则将精力保留在每晚在暂存情况中运行的端到端(E2E)测试上。第三组可能主要对峙手动测试,只是偶然尝试自动化。这种碎片化的方法不仅危及单个组件的可靠性,而且危及整个系统。它模糊了在整个工程构造中围绕质量、速度和成本和谐指标的任何努力。此外,请记住那句古老的谚语:一个系统的强盛程度取决于它最薄弱的环节。测试尺度的不划一可能会使您的整个系统容易受到最不可靠组件的缺陷的影响,从而可能在未来引发重大题目。

平台工程的作用

      平台工程是 DevOps 原则的演变,专注于开辟内部工具,以尺度化技术流程并为开辟人员提供自助服务能力。在测试微服务的配景下,平台工程师(PE)可以与质量包管团队互助,打造更广泛的工程团队可以采用的尺度化工具和最佳实践,从而确保划一性和服从。

平台工程尺度化的关键领域

       最近的行业看法,例如 Puppet 的 “2023 年平台工程近况” 和 “Gartner 的 2024 年软件工程优先事项”,突出了直接影响平台工程团队的关键目的和挑战。这些报告强调了软件交付中服从、可靠性和速度的重要性,强调了在软件开辟生命周期(SDLC)中简化利用的必要性。专注于测试,这是 SDLC 的关键阶段,可以极大地加强这些方面。以下是平台工程师如何使他们的策略与这些首要举措保持划一:
测试情况:两份报告都指出了管理多个测试情况的过高成本和复杂性。通过将开辟、QA、暂存和验收整合到一个单一的、优化的预生产情况中,平台团队可以大幅削减开销并简化工作流程。这种方法不仅降低了基础设施成本,还加速了测试过程,符合行业朝着更高效开辟实践推进的趋势。
代码更改的早期预览:早期和迭代反馈的重要性是当前软件工程讨论中反复出现的主题。实验尺度化的预览情况允许开辟人员更有效地与产品司理、QA 和 UX 团队互助。尽管涉及复杂性,但创建这些情况对于加强微服务架构中的反馈循环至关重要,从而提高产品格量并加速迭代速度。
左移自动化测试:根据行业领导者的说法,早期检测和解决题目是保持高生产力和产品格量的关键。通过尺度化在合并拉取哀求之前运行自动化测试的实践,平台工程师确保在最早的阶段识别和解决缺陷。这种主动的方法不仅提高了发布的稳固性,而且符合提高开辟人员生产力和运营服从的更广泛目的。这些尺度化的战略领域不仅仅是关于改进单个流程,而是对于提高平台工程功能的整体有效性和服从不可或缺的。

引导测试尺度化的核心原则

      在平台工程的领域中,对开辟人员的利益是巨大的,从提高生产力到提高软件质量。值得注意的是,开辟人员强调了淘汰错误和更稳固应用程序的优势,这在快节奏的开辟情况中至关重要。
https://img2023.cnblogs.com/blog/15172/202409/15172-20240908194920683-154306815.jpg
Source: https://www.puppet.com/resources/state-of-platform-engineering
       当我们制止利用诸如代码覆盖率百分比或自动化测试的数量等虚荣指标时,这些指标可能会误导而不是提供信息,专注于测试提供的可利用看法而不是其存在本身至关重要。以下是一些引导原则,以确保测试工作真正有效:
结果重于输出:优先思量直接影响软件质量和用户体验的指标,例如缺陷逃逸率或变乱频率(frequency of incidents),而不是仅仅盘算活动的输出。
价值驱动的测试:选择精确的测试不仅仅是在手动和自动化方法之间做出决定;它必要评估它们的投资回报率和维护努力。理想的方法因业务上下文而异。例如,一家电子商务公司可能会优先思量对收入至关重要的交易流程,而一家 B2B 公司可能会关注不同的关键用户流程。尽管端到端(E2E)测试资源麋集,但它们保护高价值用户流程的潜力可能证明其成本是公道的。有效的测试策略与业务目的紧密结合,确保努力会合在最能提供价值的地方。
迭代改进:利用指标不断改进测试实践。如果某些测试始终产生很少或没有可利用的数据,可能是时候修改或放弃它们了。通过关注这些原则并拥抱新兴技术,团队可以使他们的测试策略更紧密地与他们的核心目的保持划一,提高他们开辟过程中的服从和有效性。

结论

     在提高工程服从、降低成本和提高系统可靠性方面,尺度化测试流程是关键的一步。我们构建工具来帮助平台团队简化和尺度化测试和预览情况,在开辟周期中实现左移方法,同时最大限度地降低基础设施成本。例如,平台工程师能够在不重复基础设施的情况下在数百名工程师中扩睁开辟人员测试,而使其开辟人员能够在雷同生产的情况中举行早期测试,更早地发现题目并降低成本。
今天先到这儿,希望对AIGC,云原生,技术领导力, 企业管理,系统架构计划与评估,团队管理, 项目管理, 产品管理,信息安全,团队建设 有参考作用 , 您可能感兴趣的文章:
构建创业公司突击小团队
国际化情况下系统架构演化
微服务架构计划
视频直播平台的系统架构演化
微服务与Docker先容
Docker与CI连续集成/CD
互联网电商购物车架构演变案例
互联网业务场景下消息队列架构
互联网高效研发团队管理演进之一
消息系统架构计划演进
互联网电商搜索架构演化之一
企业信息化与软件工程的迷思
企业项目化管理先容
软件项目乐成之要素
人际沟透风格先容一
精益IT构造与分享式领导
学习型构造与企业
企业创新文化与等级观念
构造目的与个人目的
初创公司人才招聘与管理
人才公司情况与企业文化
企业文化、团队文化与知识共享
高效能的团队建设
项目管理沟通计划
构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构计划思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实验流程
餐饮行业解决方案之业务计划流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变 如有想了解更多软件计划与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:
https://img2023.cnblogs.com/blog/15172/202409/15172-20240908194922049-1929394452.png
作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文毗连,否则保留追究法律责任的权利。 该文章也同时发布在我的独立博客中-Petter Liu Blog。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 通过平台工程提高微服务测试质量