《1-酷家乐低代码接口自动化最佳实践-酷家乐-刘鸽(神雕).pdf》由会员分享,可在线阅读,更多相关《1-酷家乐低代码接口自动化最佳实践-酷家乐-刘鸽(神雕).pdf(45页珍藏版)》请在三个皮匠报告上搜索。
1、讲 师:刘鸽(神雕)阿里,酷家乐测试开发经历 现酷家乐质量效能团队定制业务测试专家 对自动化测试和工具构建有浓厚兴趣分享人简介C O N T E N T W S单体应用VS微服务架构 生产力比较AB单体应用AB1B4B2B3微服务化微服务下接口测试诉求增加单元测试接口自动化UI自动化UI自动化单元测试接口自动化单体应用传统金字塔观点微服务化实际自动化现状上浮内部调用To远程调用测试对象不是代码本身而是整个系统在线设计工具组合场景多,异步接口多出入参结构体大,校验难度高应用多,400+后端应用微服务对比项本地代码可视化平台编写成本编写成本高简单接口编写成本低对人员能力需要代码能力不需要代码能力结
2、果查看和统计间接转化为html报告统计更清晰维护更新成本维护成本偏高维护成本降低运行和调度依赖任务调度任务调度自我集成开源接口测试平台的优势调试运行迁移脚本导入本地JAVA工程使用开源接口测试平台(Metersphere)借助通用开源平台解决了接口测试基础问题 校验不能只看response 覆盖率高但bug发现率低response返回结果assertrequestStep1:接口调用1Step2:接口调用2Step3:接口调用3结果查询和校验不能只依赖测试不能只依赖契约测试多接口串联测试符合业务场景01测试服务化抽象测试脚本无法提供服务02场景编排问题可视化编排操作复杂,丧失代码灵活度03数据
3、驱动问题不同特征数据如何管理和更新基线04接口校验成本高复杂接口返回大Json如何校验标题最佳实践本地接口测试在线化测试服务化分层放弃可视化场景编排数据驱动对比测试统一JsonDiff建设被测服务注册和管理测试服务能力分层低代码编排场景借助gpt进行代码生成基于对比测试来构建自动化流量录制截取数据数据驱动+测试报告一体公司级的jsondiff能力jsondiff规则共享测试服务化分层改造实践一痛点 02测试脚本无法提供远程服务痛点 01测试代码工程和工具两套代码痛点 04测试代码owner维护机制缺失痛点 03不同业务测试能力规划不统一观点:微服务化解决测试分层问题自动化业务case公共方法层
4、初始化数据数据驱动运行报告任务调度-Jenkins业务脚本组织测试API编排数据驱动结果对比API注册本地测试框架测试服务层任务调度测试Case层单体工程微服务化测试数据准备能力json对比能力图片对比能力测试数据查询能力数据解析能力体现服务化优势测试脚本能力暴露开发服务配置转化为统一测试服务API测试API编排结果对比API注册测试服务层业务测试服务被测系统服务注册统一域名参数格式标准化结果标准化简化调用标准化API后易于构建工具API配置工具配置工具暴露高效对服务进行流程编排实践二痛点:前端交互设计要求高复杂的编程组合难实现复杂逻辑可能导致流程图复杂运行和调试效率低观点:脚本语言解决编排问
5、题借助代码做擅长的事情流程编排基于Groovy在线编辑即刻生效Groovy兼容java代码业务类型在线平台易用度本地编程灵活度调试/运行效率更高测试服务组合后成为新测试服务测试服务自增长params=toolId:178,actualParams:id:$id;kuta_res=groovy.callTool(params,cookie);服务调用参数标准化自定义函数作为promptsChatGPT给出Groovy代码数据驱动的对比测试实践三01测试数据不丰富02业务细节频繁变化03数据更新校验易错04期望值维护成本高痛 点对比测试模式流量录制测试环境定向录制对账系统推荐流量筛选接口输入转化为
6、数据驱动case被测系统返回数据基线采集被测系统返回数据实际数据对比结果测试用例管理测试数据管理预期基线管理结果展示业务测试小站在线数据驱动优势可批量更新和管理预期值Case查看筛选更易用运行结果清晰运行状况监控实时对比调试公司级统一JsonDiff实践四Json结构复杂动辄几兆Json对比逻辑分散各处代码个性化对比规则无法共享通用json对比包无法直接使用传统的json校验问题:复杂json字段的对比噪音困难根据jsonpath校验维护成本高各小组实现json对比逻辑重复建设常见规则:忽略字段id,timeStamp 约定容差0.9991.001 JsonArray根据Id排序基于开源库可扩
7、展的规则提供jar和在线服务提供json对比界面建立统一json对比能力建立json对比规则库规则由业务线维护统一管理对比规则json对比使用方简化根据json特点自动识别规则规则举例json对比流程接口自动化平台对接口返回内容对比本地UI自动化增强UI自动化校验流量回放系统流量回放结果对比数据对账系统对实际业务数据进行基线对比问题定位工具在线json对比页面统一Jsondiff共享对比规则未来:json对比规则借助ChatGPT生成?前端核心模块底层服务基建测试小站服务python自定义服务HTTP调用层内置方法Groovy执行器Metabase报表数据表接入看板配置数据聚合脚本调试运行脚本
8、储存统一权限中心Pub部署Moon部署域名系统OA系统工单系统个人搜藏搜索报表链路管理Groovy编辑器业务分类工具管理API管理配置解析生成界面生产被测服务加密/解密Cookies代理post/get/put 调用返回结果封装数据存储chatGPT代理接口网络安全amis支持普通API配置工具服务化配置Groovy API配置和调试数据统计报表调用日志审计业务线分组工单关联工具服务提供工具说明文档服务owner维护调用代码生成业务小站流量录制接口测试平台业务生产系统Groovy调试器API管理JSON对比图片对比工具管理GroovyAPI低代码服务层工具平台层被测系统接口测试平台(Metersphere)覆盖率统计(Kafu)录制/回放(Kurepeater)BVT平台业务自建平台本地脚本工程测试服务层(Kuta)流量管理编写和执行构建触发运行统计持续集成触发(Moon)数据度量(kerrigan)对账系统(BCS)5个业务线场景用例 暴露输出查询工具208 录入550+接口场景case更低的接入成本更高的BUG发现率 注册服务化API 260+平均自动化bug发现率10%(自动化bug/总bug量)编写成本用例有效性可维护性 测试场景真实性 面向业务覆盖率统计 线上流量利用 AI参与、MBT生成 测试服务分层抽取 AI参与失败case的修正酷家乐质量效能公众号