宁波俄语网站建设,北京确诊病例活动轨迹公布,凡客资源,手机域名注册查询一、背景
随着自动化测试的设计理念不断完善、新的技术不断应用#xff0c;自动化测试资产的积累代价和维护成本不断降低#xff0c;自动化测试资产的数量持续增长。同时#xff0c;随着DevOps的普及#xff0c;应用研发过程越来越敏捷#xff0c;自动化测试能力逐步从测…一、背景
随着自动化测试的设计理念不断完善、新的技术不断应用自动化测试资产的积累代价和维护成本不断降低自动化测试资产的数量持续增长。同时随着DevOps的普及应用研发过程越来越敏捷自动化测试能力逐步从测试部门输出至开发部门在每日构建、制品晋级、版本发布等流程中成为必备环节。 随着自动化测试执行能力的不断提升自动化测试执行结果数据指数级增加大量的结果分析处理工作成为自动化测试开展的瓶颈。本文介绍一种基于知识库的接口自动化测试结果分析方法与装置通过接口测试结果模型化方法和基于错误码库、非缺陷知识库的错误归类分析方法辅助测试人员高效实施大规模、多系统的接口自动化测试结果分析处理。
二、接口测试结果模型化
接口自动化测试简单地说就是按测试需求装报文发送给被测系统接收并解析返回报文判断测试成功失败。
在自动化测试平台中对接口测试过程模型化统一封装
1通讯过程是报文发送和接收其相关内容抽象为通讯组件
2报文是被测系统与其客户端或调用方针对具体接口约定的交互信息。其中报文组装和解析相关内容抽象为报文组件具体接口交互信息抽象为报文格式对发送给被测系统的报文称为输入报文被测系统返回的报文称为输出报文。 三、对测试结果的第一级分析根据返回标志位进行初步判断
一般而言符合一定开发规范的应用系统会在返回报文公有域特定字段返回应用级处理结果。若应用级处理错误则还会在返回报文公有域特定字段返回错误码和错误信息。 因此在接口自动化测试执行过程中执行程序将接口测试结果预处理为统一数据模型包括结果标志、错误码、错误信息和返回报文便于后续处理。
其中结果标志分为5类
1应用级处理正确则结果标志为N此时错误码、错误信息均为空
2应用级处理错误则结果标志为E错误码、错误信息存储返回报文提取的相应信息
3在金融系统中为保证安全重要金融交易一般会涉及双人复核或者远程授权的过程此时应用级处理结果为“需要授权”则结果标志为A错误码、错误信息均为空
4在平台执行接口测试的过程中若出现任何程序未处理的内部异常则结果标志为I此时错误码、错误信息均为空
5在常见的HTTP/HTTPS、TCP等通讯方法中若无法正常通讯并拿到预期的返回报文则认为在通讯级发生异常结果标志为U此时错误码、错误信息均为空。
通过第一级分析可以对接口测试结果进行初步分类辅助测试人员判断接口测试报错类型排除网络等环境因素造成的误报。
四、对测试结果的第二级分析根据错误码库和非缺陷知识库进行精准判断
仅通过返回报文分析对于“大幅降低接口测试误报率”的预期是不够的需要配合错误码库和非缺陷知识库进行第二级精准分析。其实现方式是自动化测试平台按系统名称为各系统提供错误码库对结果标志为E的接口测试结果细分错误码分别设置错误描述、匹配方式和匹配表达式。匹配方式分为三种
1精确匹配该匹配方式适用于统筹设计良好的系统项目组能够较好的归类业务错误、分配错误码并在系统接口设计中在公有域有固定字段返回错误码和错误信息此类系统直接采用错误码库中的错误码与接口测试结果模型中的错误码匹配
2错误信息模糊匹配该匹配方式适用于能够从固定字段输出错误信息但没有固定字段返回错误码或者错误码定义不规范如错误码是中文信息的系统此类系统错误码和错误信息由测试人员自行定义每类错误码需对应设计匹配表达式即一条正则表达式若接口测试结果模型中的错误信息能匹配该正则表达式则归为该类错误
3返回报文模糊匹配该匹配方式适用于接口设计不规范、无固定字段返回错误信息的系统此类系统错误码和错误信息由测试人员自行定义每类错误码需对应设计匹配表达式即一条正则表达式若接口测试结果模型中的返回信息能匹配该正则表达式则归为该类错误。
在实际接口测试中由于被测系统配置错误、被测系统铺底数据异常等问题而出现的错误并非本次测试结果中需重点关注的内容对于该类错误将错误码库中的对应错误条目增加标志位即纳入非缺陷知识库。
经过实践在实施第二级精准分析后往往能大幅降低接口自动化测试的误报率减少一线测试团队的分析工作量。
五、接口测试结果归类分析
基于接口测试结果的模型化和两级分析我们将接口测试的结果分类分析输出概要表和错误分类表。
概要表如下 执行错误的交易将进一步处理为错误明细表如下 利用该分析结果测试人员可重点关注结果类型为“执行错误”的分类确认为缺陷的应提交给开发人员修复对于“执行错误非缺陷”的分类应在解决对应问题后再次测试相关接口。
六、结语
本文介绍的接口自动化测试结果分析方法将不同系统、不同通讯方式、不同报文协议的接口测试结果标准化为的统一数据模型并依据组织级错误码库和非缺陷知识库对标准化的测试结果进行分类分析大大降低测试结果的人工分析工作量。其中错误码库及配套的三种错误匹配方式使得测试人员可以灵活自主地为被测系统定制错误归类识别方案在不同应用系统接口设计标准化程度不一的场景下解决了接口测试结果的错误识别问题非缺陷知识库的设计使得测试人员可以预设部分不关注的错误类型以获取重点更加突出的错误分析结果辅助测试人员更加高效地完成测试活动。
接口自动化测试的误报率控制是提升自动化测试效能的关键点笔者也将继续探索相关方法致力于自动化测试效能的不断提升。
文末了
可以到我的个人号atstudy-js可以免费领取一份10G软件测试工程师面试宝典文档资料。同时我邀请你进入我们的软件测试学习交流平台大家可以一起探讨交流软件测试共同学习软件测试技术、面试等软件测试方方面面了解测试行业的最新趋势助你快速进阶Python自动化测试/测试开发稳住当前职位同时走向高薪之路。