版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、API测试在智能化测试时代的探索与实践1百度API测试平台发展背景2ITP通用接口测试服务摘要3测试智能化实践及收益4总结与思考ITEST2011:Python开发代码测试框架, 用于功能测试自动化书写, 环境准备、Mock及测试执行广泛应用于商业平台检索端 及大搜索等产品Robot+2012:Java开发代码测试框架, 配置化管理用例, Junit驱动测试执行曾广泛应用于商业平台 业务端产品业务线自建平台XTS2014:支持场景单一、各异公共问题被重复解决易用性和使用效率低资源占用多技术探索难以落地2015:基于Robot升级, 关键字封装广泛用于手百等 用户产品测试, 后续融入ITP中IT
2、P2015:基于ITEST底层,集合各产品测试规范, 可视化用例开发与执行平台12万积累用例10万次日均测试量43覆盖部门205覆盖产品百度API测试平台 从百花齐放走向归一ITP通用接口测试服务ITP通用接口测试服务 - 能力概览HTTP/Socket/JsonRpc/Stargate/Protobuf/Mcpack/Dubbo XAPI测试测试类型在线IDE浏览器插件序列测试Diff测试原子操作APIMysqlESRedisShell参数传递特性支持扩展函数数据驱动质量评估度量驱动行为分析用例检测登录管理连接池管理序列化协议传输协议服务总线寻址API入口MongoITP通用接口测试服务 用
3、例组织与编写用例树:允许最小子目录粒 度并发执行,支持单一环境测试 及多环境Diff测试Operation:定义具体的操作,包括API请求,Mysql、Redis、ES、Mongo访问,执行远程机器命 令参数传递:支持Setup、Teardown及同一 个Case内所有操作间传递数据$操作名.response.a.bx全局参数:支持按用例树目录的多层 级参数配置,可使用传递 参数和扩展函数扩展函数:支持通用及产品线自定义扩展 函数,函数内可引用请求相关 参数,可与传递参数、其他函数嵌套使用$ method(arg1,arg2)数据驱动:替换参数占位符,如$abc, 设置多组执行 数据,实现用例
4、的数据 驱动执行复制与引用:允许从已有请求复制 允许从模版复制或引 用Step:用于长流程时,组 织一组有业务意义 的组合版本控制:支持用例的多版本 控制,拉取、合入 等ITP通用接口测试服务 用例执行计划计划配置:包括环境信息、并发配置、重 试、用例筛选、用例集合等配置版本管理:选择对应的执行版本ITP通用接口测试服务 检测与度量用例检测:支持通用规则的检测和自动修复基本统计能力评估ITP通用接口测试服务 - 部署结构Web-IDEWeb-IDE分发器分发器Web-IDE执行器B执行器C执行器A执行器B执行器C执行器A机房A机房B机房C离线 执行包DataioDataio业务DB日志内存数据
5、库Web执行器多租户,根据实际需要上线产品线执行器ZK控制模块连接, 实现无状态节点Admin-Monitor用于私有化项目测试1.节点在线情况2.可用资源情况,用于动态调度3.异常恢复内存数据库Thread Group测试智能化实践及收益智能化测试时代的新挑战 极致的成本与效率现状:稳定性、效果损失。激增的用例数,维护不及时,都带来流水线的稳定性问题,并进而导致效果可信的问题, 形成恶性循环现状:发布周期:周期和质量保障手 段是矛盾双方;大批量用例的 执行,在流水线中的时间占比 越来越高业务诉求现状:保证高覆盖、高质量用例的前提下, 用例书写和维护成本变得不可接受, 自动化设计成本与书写成本
6、, 占用QA过多人力,20%50%高质量高效率低成本智能化实践 用例书写效率提升API模版1参数类型与约束规则识别识别器参数组合计算Case数据逆向生成参数流量聚类参数对象组合信息、参数约束输入:参数约束输入:前置的参数组合23输入:生成数据准备API信息识别识别访问地址等基本信息识别参数类型,特别是枚举类型的识别,寻找可能的取值识别参数的分组信息实时同步与变更提醒用例的生成计算最大入参覆盖的用例组合改进:计算过程中,考虑日志中聚类得到的参数组合改进:计算过程中,考虑参数分组,避免生成大量无业务意义的参数组合SetUp&TearDown生成识别Restful接口中的 Add/Delete操作,
7、 自动生成数据准备基于SQL逆向生成, 生成数据准备智能化实践 用例书写效率提升 算法日志归一后日志约束规则Top结果集-TT组合权重分组A 权重分组B权重分组C 权重权重信息预置组合分组APSSTt-Ts-At与Ts已有解均不重叠(回溯法)补全Ts-A,未覆盖的两 两组合(贪心)分组B分组C加入初始 Ts-ATT-A - Ts-A初始化解空间Ts-A从Ts-A中去除TT-A结果集TT+Ts单原子组合Ts树状组织数组打平值替换20个接口原生PSST改进算法分支覆盖57%55%用例量3015缺点1.难以从业务理解2.用例多一定覆盖损失,但可 接受用例代码映射数据更新 生命周期运转智能化实践 用例
8、执行选择基准用例库用例库C用例库C执行用例集合用例相似度精简用例生命周期管理1基于代码diff用例筛选新增用例准入23代码变更相关用例去除不稳定的用例去除覆盖重复的用例过滤不规范用例映射关系入库智能化实践 用例选择执行 - 生命周期NewStableUnstableDeath持续失败一次失败执行准入多次成功自动检测用例生命周期:准入智能化实践 用例选择执行 - 代码与用例关系任务控制服务ITPKirin算子被测服务覆盖率稳定性算力 海川iCode(Git)exec文件1)触发收集单个用例覆盖率数据2)向被测环境发请求3)生成单个文件覆盖率中间文件4)获取与被测环境对应代码版本5)离线并行生成覆
9、盖率文件6)上传到HDFS7)向麒麟提交计算任务8)获取覆盖文件后, 提交到川平台计算去重HDFS执行时间实现中智能策略中心覆盖率文件用例与覆盖率对应关系Setup校验点请求 Teardown 智能化实践 用例执行选择 CI流程变化RDiCode(GIT)CI脚本Server端报告ITP计划全量用例用例/代码映射库Agile插件关联用例集合ITP计划ITP_DB变更代码commitId &主干最新commitIdcommitId客户端修改计划并触发应用生命周期获取用例集合生命周期管理用例相似度精简映射关系生成过滤筛选后集合中 重复和不稳定用例引入用例智能化原有方案形成用例侧生态闭环与构建系统用例生态闭环用例相似度精简自动运转用例生命周期自运转用例和代码映射入库闭环, 为基于代码变 更筛选不断积累数据,也为精准测试不断 提供基础数据可扩展性强策略与框架侧解耦,具备较强的可扩展性与构建系统无感知衔接感知衔接智能化实践 用例执行选择 收益效果稳定性从Q2初60%提升到80+%更少的时间投入,更多召回智能化实践 流程类测试优化转换为有向图用例信息深度遍历获取路径相似操作以队列 形式附加保存, 并记录与后置请 求的对应关系可优化建议(居多)自动优化(实现中)直接优化执行顺序前置操作完全一致前置为写、后置为读操作总结与展望用例生成用例执行参数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年大连海洋大学学报编辑部公开招聘编辑人员备考题库及答案详解(易错题)
- 东莞市城建工程管理局2025年公开招聘编外聘用人员备考题库及完整答案详解1套
- 2025年智能水表智慧城市应用十年报告
- 2026年四平市事业单位招聘引进人才76人备考题库及完整答案详解1套
- 2026年北京医科大学附属小学招聘备考题库及一套答案详解
- 2026年厦门市湖里区国有资产投资集团有限公司公开招聘工作人员备考题库及答案详解1套
- 2026年金华社发人力资源发展有限公司招聘派遣制工作人员备考题库带答案详解
- 2026年苏州交投建设管理有限公司公开招聘备考题库及答案详解一套
- 武汉大学口腔医院2026年招聘备考题库参考答案详解
- 2026年内蒙古艺术剧院招聘编外聘用人员22人备考题库及完整答案详解1套
- 2025年鞍钢集团招聘笔试参考题库含答案解析
- 2024建筑新能源应用设计标准
- 2024年客运资格证考试试题及答案解析
- JTS+155-1-2019码头岸电设施检测技术规范
- 消防设施设备维保项目投标文件(消防维保)
- DL-T-1946-2018气体绝缘金属封闭开关设备X射线透视成像现场检测技术导则
- 血液透析中低血压的预防与治疗
- 网络空间安全概论智慧树知到期末考试答案2024年
- 编辑打印新课标高考英语词汇表3500词
- 博士论文的写作课件
- 高层建筑消防安全培训课件
评论
0/150
提交评论