《3-接口自动化自愈测试的实践-bilibili-陈哲(薇若妮卡)、李昕(无良月).pdf》由会员分享,可在线阅读,更多相关《3-接口自动化自愈测试的实践-bilibili-陈哲(薇若妮卡)、李昕(无良月).pdf(23页珍藏版)》请在三个皮匠报告上搜索。
1、Wolverine-自动化测试自愈系统原理和实践陈哲&李昕目录!#$%!&()*+,01!&(-./0102自愈实践与难点03!#$%!&()*+,01!#$%&(!#)*+,&-.(01/01234/0$%1256$%78/09:;?ABCDE7FGHIJKHILM测试用例健壮性服务抖动需求变更导致数据&配置问题召回问题N5 OPPQ12RSPTUVWXYRZ?RSPTUJK_YHIRabTc_HIdefghijkSlPSlPmnoomnoopqABrstuv!#$%&$%()*+,02-$./01$%234#5$./016789$.:;01?ABC?$.DE4FGHI/JKAL9(MNOP
2、QRSTUV(=WXY$%TUZ4_abcadefRghijklmnop01?xy!#$%&()*+,-./012303!#$%&()*+#$%&()*+未找到元素未找到元素!,#-./0$12345*+#-./0$12345*+模版图匹配失败模版图匹配失败模型识别所有元素模型识别所有元素孪生神经孪生神经-相似度对比相似度对比相似度对比相似度对比阈值阈值,替换替换模型识别所有元素模型识别所有元素用例执行成果用例执行成果完成修复完成修复finishstart团队最初根据UI自动化失效的自愈方案自愈拓展的关键能力找出失败原因根据失败原因修复!#$%&()02!#$%&数据提取pytest测试报告预
3、处理读取文件数据构建词汇表分目录固定向量化文字转化成数字序列shuffle测试报告数字化模型加载RNN模型模型推理分类失败分类置信度结果处理阈值筛选输出分类结果(多个)分类系统修复结果修复成功更新用例决策因子用例复杂程度历史上修复成功策略排序获取策略该问题分类的修复策略修复系统修复失败人工处理2.训练模型并使用模型进行推理1.把文本数据转换成向量3.执行对应策略Wolverine-框架改造!#$%#&(04)*+,-./01)*./234)*56789:;:?;56+,2AB6+,CD7E89FG:89HI:J*KD;总结思路:将测试用例与代码进行分离,能够支持动态修改用例Wolverine-
4、测试报告数字化!#$1.用例信息用例名称用例等级用例模块2.错误信息错误码接口返回测试接口接口状态码3.报告信息错误代码行特征提取预处理用例1.read_file():读取文件数据;2.build_vocab():构建词汇表3.read_vocab():读取上一步存储的词汇表,转换为词:id表示4.to_words():将一条由id表示的数据重新转换为文字;失败原因!#$%&()*+,-./01自动化执失败平台记录手动标注根据失败原因对数据标注要根据客观事实标注数据格式Wolverine-RNN(循环神经网络)!#$%&(04模型选取模型结构模型配置模型结构与模型配置相关测试代码错误 语法错误
5、 逻辑错误等环境问题 上游报错 服务抖动等接口问题 数据字段变更 接口返回异常等测试数据问题 Cookie失效 请求参数错误等智能错误分析:分类在测试集上的准确率为86.6%环境问题 上游报错 服务抖动等接口问题 数据字段变更 接口返回异常等测试数据问题 Cookie失效 请求参数错误等Wolverine-模型训练结果!#$%&根据分类结果执行策略!#$%&()*+,-.从分类矩阵中提取结果阈值自适应判断模型果矩阵中提取分类概率阈值在策略池中寻找策略执行修复策略未搜索到策略人工处理搜索到策略并排序!#$03!#$%&分类分析统计:修复策略分布:用例执行不稳定用例执行不稳定:受分支等环境因素影响
6、用例执行时机不固定用例执行时机不固定:手动执行、cicd、固定触发修复时效长修复时效长:响应-处理-修复-发布干扰因素多:受数据和数据限制条件的影响干扰因素多:受数据和数据限制条件的影响自愈分析自愈分析执行分析策略修复更新!#$%&()*自动化执行归因分析处理执行修复策略修复结果更新用例startfinish流水线修复策略流水线修复策略:从用例执行用例执行-到用例执行用例执行!#$%&实践效果实践效果平均单条用例修复时效提升:平均单条用例修复时效提升:75%修复用例量:修复用例量:863条条提升维护人效:提升维护人效:60%各策略修复成功率各策略修复成功率常规配置和环境类修复成功率较高;贴近业务特性的案例修复良好;缺陷发现和自修复还有待提升更高效更高效精准自动化测试自愈技术将通过引入更先进的算法和模型,提高软件缺陷和异常的诊断和处理效率,从而更快速地进行问题定位和修复。演进方向演进方向更精准更精准更完善更完善高效自动化测试自愈技术将实现更加全面和深入的测试覆盖,包括对单元测试、接口测试、UI测试等多个层次的测试。完善自动化测试自愈技术将结合大数据技术,实现测试数据的全面收集、存储和管理,并通过数据分析和挖掘等方式提升测试数据的利用价值。!Q&A