2025QECon全球软件质量效能大会:群核科技接口自动化能力的发展_第1页
2025QECon全球软件质量效能大会:群核科技接口自动化能力的发展_第2页
2025QECon全球软件质量效能大会:群核科技接口自动化能力的发展_第3页
2025QECon全球软件质量效能大会:群核科技接口自动化能力的发展_第4页
2025QECon全球软件质量效能大会:群核科技接口自动化能力的发展_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

罗曼|群核科技-测试开发专家

先后就职于新浪、

51信用卡、群核科技等 杭州群核科技平台测试组负责人 杭州群核科技自动化小组负责人罗曼群核科技测试开发专家目录CONTENTS01

群核科技接口自动化建设与挑战03

自动化平台能力提升策略02

流量录制回放的尝试04

收益总结与未来展望PART

01群核科技接口自动化建设与挑战单体服务垂直架构soa架构微服务优点1.架构简单2.易于测试3.易于部署4.初期迭代迅速1.方便水平扩展,负载均衡

,解决

了并发问题2.系统间相互独立,互补影响3.模块可以各自进行优化1.分布式2.松耦合3.灵活扩展4.可复用5.基于rpc框架,面向接口的远

程方法调用1.单一职责

2.解耦3.复用性高4.可维护性高5.restful轻量级通信缺点1.中心化2.耦合度高1.服务之间调用方

式不统一

,基于

httpclient、webservice

,接

口协议不统一2.服务端口或者ip

发生变化时

,需

要调用方同步修

改3.负载均衡比较复杂

,有借助于硬

件的负载均衡F5

,成本高1.服务抽象粒度大2.服务调用方

与提供方耦合

度高1.服务拆分很细2.维护成本高•根据Verified

Market

Research

2024

年报告,超过85%的新企业应用采用微服务架构•结合容器化和自动扩展技术

,可显著降低云服务成本支付中台、方案中台、渲染中台、多语

言中台、UIC中台、户型中台、权限权益

中台、商品中台

群核科技日常迭代服务约600个,其中核心

服务约150•

每个服务少则几十,多则几百的接口数

中台化

代码改动如何保障测试质量

,减少漏测?

回归测试如何保证效率?服务粒度细化clearDataBaseprepareDataBaserunHttpTestafterApolloTestclearDataBasecheckResultApolloTestbefore对比项本地代码可视化平台编写成本

编写成本高

简单接口编写成本低对人员能力

需要代码能力

不需要代码能力结果查看和统计

间接转化为html

报告统计更清晰维护更新成本

维护成本偏高

维护成本降低运行和调度

依赖任务调度

任务调度自我集成可拓展性

长期能力局限性大

数据沉淀、平台打通

,潜力大平台化的优势迁移脚本导入本地JAVA工程搭建接口测试平台调试运行运行稳定性差环境稳定性直接影响接口自动化的稳定性造数成本高接口请求参数构造成本大case依赖于人为手工添加

,及时性不高

,各种异常场景覆盖不足断言书写成本大

,往往校验不全。校验多少强依赖测试责任心case覆盖不足断言质量不好02010403PART

02流量录制回放的尝试工具特性Goreplay支持

HTTP请求的录制和回放,简单易用Diffy支持

HTTP,提供diff能力,可以智能降噪不足:•

搭建一套diffy环境有成本

,且管理杂乱无章•

手动安装

,不够便捷•

命令操作

,容易出错u

不支持写请求回放

,只支持查询类请求u

做不到跨环境回放u

对环境依赖高u

基于diffy的智能降噪u

全链路校验u

Goreplay普适性

回放测试简单u

接口自动化查询接口走Kudiffy优点缺点Kurepeater平台•

基于jvm-sandbox-repeater二次开发

,框架提供录制、回放、

mock等能力

,扩展性强。•

可跨环境回放

,读写接口都可回放

,对环境依赖低。将自动化(主)和流量回放(辅)都放到CI流程中自动

执行

,共同检查代码质量。并将测试结果聚合。也可以

选择使用其中一种。Kurepeater是否可取代接口自动化?01020304测试数据来自录制流量

,理论上使用的数据更真实

,覆盖的场景更全面对响应全校验

自动比对

,校验更全面细致。且无需人为写断言脱离环境限制

,子调用全部mock

,理论上稳定性更高测试数据来自录制流量

,无造数成本自动化的问题

Kurepeater具备的能力case覆盖不足?运行稳定性差?断言质量不好?造数成本高?流量设有采样率

,无法保证录制到低频接口和corner

case因为mock逻辑的引入

,使得失败原因变得复杂。误报率同样很高。线上录制可能对线上服务造成影响行覆

低误报率高安全问题010203•流量设有采样率

,无法保证录制到cornercase

,而其实线上问题往往是cornercase引起。•流量回放的行覆盖率依赖于流量录制

,往往只能覆盖常用接口的正常链路。对代码的行覆盖率提升比较被动。流量回放行覆盖率

vs

接口自动化行覆盖率典型案例2:不同环境参数不同导致回放失败

典型案例1

:代码变更导致回放失败(响应字段、

三方调用、

存储等修改都会导致回放失败)典型案例3:

随机逻辑或native方法会改变参数或响应录制监听容易引发问题•

部分子调用无法序列化或者反序列化•录制内容太大时

,序列化容易导致性能问题•

因为修改和监听子调用

,子调用时间变长

,容易引发报警•子调用请求录制可能导致正常数据丢失回放的隐患•

存在数据污染的可能1

自动设置采样率

,保证低频接口的采样2

、一键录制回放

、定时录制回放

自动录制回放3

、打通精准测试平台

,精准识别改动接口4

降低排查难度,

支持选择是否mock回放

、单条或单接口回放

、手动调试等1

自动识别对服务影响,异常自动关停2

、识别接口是否只读,

支持只读接口批量非mock方式回放3

、黑白名单4

、线上录制审批

,录制开停前切走流量1

支持配置java方法mock2

响应结果比对优化,

支持字段过滤或复用接口自动化的jsondiffy规则3

尝试使用diffy

降噪比对4

、流量清洗详见:

https://mp.weixin.qq.com/s/sI45pys81KsWfI6-I3HBzg01易用02稳定03可靠•

代码变更极易引起回放失败•子调用mock方式回放

,受代码变更影响•子调用不mock方式回放

,失败率高

,且和接口自动化无异•要维持高成功率

,上手难度比接口自动化大•

需要具备白盒测试能力

,有些需要代码改造配合•很难覆盖cornercase

,case管理不够灵活•

依靠录制

,采样情况下同质流量较多•

接口自动化前期已有大量建设•时运不济

,生不逢时ku

repeat

ef--不太可能case成本用例稳定性环境依赖覆盖率校验深度低•

可以和接口自动化一起使用•

对无接口自动化服务可以用•

服务变更较大时

,可以使用•

平台打通各有利弊

,无法替代

,不如谋求协同流量回放平台Kurepeater高

低低

高自动化平台ApolloPART

03自动化平台能力提升策略怎么让自动化手段长期有效的自动运行下去

并成为测试日常手段的一种?•价值:

自动化是真的可以提效的

,能发现问题的

,让大家愿意用•易用:

自动化是方便上手、简单易用的。不会占用太多时间、操作简单

,可以碎片化支持•聪明:可以自动帮助识别和过滤失败

,帮忙处理常见问题•强制:关键环节有卡点

,提醒你对自动化持续加固的

,养成使用习惯

,避免因为繁忙等原因导致自动化废弃提效是前提

卡点是保障使用提效•

提升执行效率•

自动触发执行•

失败和度量消息的及时触发•

自动阈值调整建设提效•

快速的接口生成能力•

快速的case生成能力•

快速的校验编写能力维护提效•

降低失败概率•

提升排查效率•接口自动化case需要什么?•录制的流量有什么?1、

快速生成接口、

快速生产case2、

基于case自动生成和变异的自动化左移Step2:根据精准测试分析结

果,使用AI分析代码影响情

况(非必须)Step3:基于已有case生成变异case•基于精准测试的分析(基于ASM)Step1:精准测试平台分析出影响的接口、方法和涉及的代码3、快速的校验编写能力1、

降低失败概率(减少无效Issue创建)•提升环境稳定性

,降低因环境原因引起的失败情况•

一套相对稳定的集成测试环境•

重要服务、中间件的高可用架构•

服务、中间件实时监控和自动恢复•

提升自动化平台的能力•

提升平台能力

,提升平台运行稳定性•

过滤重复bug

,无效bug2、

提升排查效率(提供精准排查方向)1)对相关错误信息进行汇总2)基于AI对Issue进行深度分析

,提供排查路径和解决建议:•

规则过滤机制:精准拦截无效干扰

,降低AI处理负载•

接口自动化失败

,且经过代码初步分析通过

,需要自动创建bug时,

自动触发AI分析1、

提升执行效率:

接精准测试平台

,事项拖到“

已完成”时自动执行•

根据当前事项的commit信息

,和绑定的分支

,获取精准测试提供的diff相关接口•自动组成一个临时的左移自动化测试计划(自动纳入已有case+开发自测补充case)•

执行结果将纳入自动化测试卡点

,接口测试成功率到100%才允许提测2、

自动触发时机•

提测时(卡点)•Merge

Request(卡点)•

发布分支(卡点)•

每日构建(失败提醒)•

定时巡检(失败提醒)*不同阶段的重点关注指标会不同,通知模板需要按需调整3

、失败和度量消息的及时触达4、

自动阈值调整(行覆盖率阈值)自动调整前:•

阈值调整全部人工审批-麻烦•

阈值临时调低后不能及时调整回来•

服务覆盖率提升没有提高相应的卡点阈值调整规则:•根据当前实现的覆盖率:value=min(当前行覆盖率-2

,标准值)>

当前阈值,则自动提升阈值到value值。•

当阈值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论