接口自动化测试优化(接口自动化测试用例)

网友投稿 297 2023-01-28


本篇文章给大家谈谈接口自动化测试优化,以及接口自动化测试用例对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享接口自动化测试优化的知识,其中也会对接口自动化测试用例进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

分布式接口自动化测试平台

基于之前开发过自动化框架,在接口自动化测试平台上做了全新的探索和设计,在落地性,效益性,业务性等方面做了进一步思考和优化。

从系统需求设计 + 技术框架选型 + 数据表结构设计 + 后端开发 + 前端开发 + 镜像打包部署 + docker 容器化上线,都由我一个人独立设计开发完成的,挑战很大,但是能顺利完成,也算是给自己 2020 年一个满意的答卷,当然更满意的其实是打开了自动化测试平台新世界的大门。

1、接口管理,添加和维护功能。

2、支持用例跳过功能、任务消息提醒(针对当前任务公司所有成员)

3、更丰富的用例断言类型。

4、支持定时任务,在任务管理中分布式执行我的所有接口用例,目前支持crontab表达式和interval间隔时间两种方式调度定时任务。

5、更漂亮、详细的报告展示,快速发现失败接口用例。

6、成员管理,前后端都引用了角色权限管理;前端页面无法访问成员管理、发布成员消息通知等,后端:editor角色无法进行新增、修改、删除功能操作

7、新增业务测试功能 - 多接口实现一个业务流程

8、新增用例前置功能(用例后置功能目前使用上并不灵活,后续解决这个问题,并且更新sql校验功能)

9、用例逻辑处理内置函数功能

10、前端兼容Chrome浏览器、手机端部分页面做了适配(其他浏览器暂未测试)

整个平台后端使用 Python 开发,前端使用 vue 框架,采用前后端分离。

任务结果查看

断言功能

用例前置后置调试功能

报告详情

yapi平台--接口自动化实施

1--分组
2--项目
3--接口
4--测试集合

鼠标选中测试合集,右侧四个按钮分别为克隆合集,导入接口,编辑合集,删除合集

勾选测试的接口并点击【确定】,所选择的接口即显示在测试集合中,然后可编辑接口测试用例

如上图,编辑用例可以进行用例名称,用例执行环境,接口参数及请求数据的填充,编辑完成后点击保存,则用例保存成功

点击“发送”,可以以当前填写的请求数据对此接口进行请求。

对用例执行结果进行断言,首先需要开启。
yapi提供快捷的断言方式,点击即可生成对应的断言。

以上断言方式可以自行根据需要进行编辑和优化,基本可以满足我们日常测试所用。

如果接口数据固定写死,只需要正常填写保存即可

{{global.变量名}}

如果连续的测试场景,后面的接口需要用到前面接口请求的数据或者返回的数据,这种场景需要进行接口间的参数传递
Yapi接口传递格式:

点击测试集合,展示的测试用例列表中,会展示key

通过接口请求或者抓包获取到请求数据和返回数据

对数据进行分析,找出自己所要的字段,通过层级关系获取到表达式
例:假设key为100返回的body

假设我们想要获取到 "plate_number"的值,那么写法就为:$.100.body.data.orders[0].plate_number
层级关系用.表示,列表取对应数据用[n]下标指定。

yaip也提供了可视化的界面操作,实现接口参数传递
1、PATH PARAMETERS或者QUERY PARAMETERS
点击参数后面的编辑按钮,弹出高级参数设置弹框:
选中具体字段后生成表达式,点击插入即可填入

2、请求BODY
与PARAMETERS一样的操作,但是表达式必须要用双引号包裹起来

tips:
如果想要通过可视化的高级参数设置来进行参数传递,气体条件需要在接口中将完整的返回body导入,这样才能在高级参数中找到对应的字段
路径:接口--编辑--返回数据设置--导入json--?保存

如果接口中我们需要动态生成一些随机参数数,可以使用mock占位符
操作与接口参数传递一致,唤起高级参数设置弹框后选择mock数据

常用占位符:

占位符更多相关内容可参考: 《yapi中使用json-schema mock数据》 .

用例执行有两种方式,一种是直接执行,另外一种是服务端执行,调试时可以用直接执行,如果需要集成或者需要生成测试报告,选择服务端执行

用例编写完成后,点击测试集,右侧中点击【开始测试】即可运行所有测试用例:
路径如图所示

运行完成后通过的用例会有绿色标识,未通过的用例会有黄色或红色标识。
点击单个用例右侧的测试报告,会展示完整的执行请求,response以及断言结果

服务端执行,项目路径直接执行一致,只不过选择服务端测试即可

配置根据自己需要填写:

如果一个用例集合中每个用例的断言和接口请求状态码可以设置为一样时,我们可以在通用规则配置中整体设置

自动化测试难点解析:如何降低误报率?

随着自动化测试接口自动化测试优化的深入推进,通过自动化测试运行的案例数量越来越多,执行错误全部由人工分析的方式已经不能满足接口自动化测试结果的分析需求。本文介绍一种基于缺陷知识库的接口自动化测试结果分析方法,通过接口测试结果模型化方法和基于错误码库、非缺陷知识库的错误归类分析方法,辅助测试人员高效实施大规模、多系统的接口自动化测试结果分析处理,降低自动化测试的误报率。

一、接口测试结果模型化
首先,接口自动化测试优化我们需要将接口自动化测试的结果模型化,模型信息包括结果标志、错误码、错误信息和返回信息。在接口测试的过程中,从通讯级到应用级提取该模型数据,方法如下:

1、在平台执行接口测试的过程中,若出现任何程序未处理的内部异常,则结果标志为I,此时错误码、错误信息和返回信息均为空。

2、在常见的http通讯、tcp通讯、webservice通讯等通讯方法中,若无法正常通讯并获得预期的返回报文,则认为在通讯级发生异常,结果标志为U,此时错误码、错误信息均为空,通讯异常的返回信息存储在返回报文中。

3、在能够正常获取返回报文的情况下,被测系统往往会返回应用级处理是否正确的信息。若应用级处理错误,则还会返回错误码和错误信息。

(1)若应用级处理正确,则结果标志为N,此时错误码、错误信息均为空,返回信息存储返回报文。

(2)若应用级处理错误,则结果标志为E,错误码、错误信息存储在返回报文中,返回信息存储在返回报文中。

(3)为保障资金安全,重要金融交易一般存在双人复核或者远程授权的过程。如缺乏授权信息,被测系统将返回“需要授权”的信息,则结果标志为A,错误码、错误信息均为空,返回信息存储在返回报文中。

4、在实际实施组织级接口测试覆盖时,一些存量系统未在公有域特定字段返回应用级处理结果。此时,自动化测试平台将进行通讯级结果判断,若正常通讯并获得预期的返回报文,则结果标志为N,此时错误码、错误信息均为空,返回信息存储在返回报文中。

二、基于错误码库、非缺陷知识库的错误归类分析方法
基于接口测试结果的模型化数据,可以通过建立错误码库和非缺陷知识库,对大规模接口回归测试的结果进一步分类、分析。对于被测应用系统,可以由用户在自动化测试平台建立错误码库,对标志为E的接口测试结果,通过以下三种匹配方式进行细分:

1、精确匹配:对于有固定错误码和错误信息的应用系统,可以采用精准匹配方式,完成错误码库与接口测试结果模型的匹配。

2、错误码模糊匹配:适用于能够从固定字段输出错误信息,但没有固定字段返回错误码或者错误码定义不规范(如错误码是中文信息)的被测系统。此类系统错误码和错误信息由测试人员自行定义,每类错误码需设计匹配表达式,通过正则匹配的方式实现错误归类。

3、返回报文模糊匹配:适用于返回错误信息无固定字段的被测系统。此类系统错误码和错误信息由测试人员自行定义,每类错误码也需对应设计对应的匹配表达式。

在接口测试中,由于被测系统配置错误、被测系统铺底数据异常等问题而出现的错误并非本次测试结果中需重点关注的内容。对于此类错误,将错误码库中的对应错误条目增加标志位,即可纳入非缺陷知识库。

三、接口测试结果归类分析方法
基于接口测试结果模型化和错误码库、非缺陷知识库,将接口测试的结果分类分析,输出概要表和错误分类表。

概要表如下:

执行错误的交易将进一步处理为错误明细表,如下:

利用该分析结果,测试人员可重点关注结果类型为“执行错误”的分类,确认为缺陷的应提交给开发人员修复。对于“执行错误非缺陷”的分类,则往往不是被测系统自身缺陷导致的报错。通过这种方法,为测试人员提供“智能”分析结果,辅助测试人员快速完成对自动化测试结果的判断和分析。

接口自动化测试工具有哪些?

接口自动化工具有以下:

1、QTP。是quicktest Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试那些功能、操作步骤、输入数据和期望的输出数据等。

2、WinRunner。是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。

3、AdventNetQEngine。是一个应用广泛且独立于平台的自动化软件测试工具,可用于Web功能测试、web性能测试、Java应用功能测试、Java API测试、SOAP测试、回归测试和Java应用性能测试。

自动化(Automation)是指机器设备、系统或过程(生产、管理过程)在没有人或较少人的直接参与下,按照人的要求,经过自动检测、信息处理、分析判断、操纵控制,实现预期的目标的过程。

自动化技术广泛用于工业、农业、军事、科学研究、交通运输、商业、医疗、服务和家庭等方面。采用自动化技术不仅可以把人从繁重的体力劳动、部分脑力劳动以及恶劣、危险的工作环境中解放出来,而且能扩展人的器官功能,极大地提高劳动生产率,增强人类认识世界和改造世界的能力。

关于接口自动化测试优化和接口自动化测试用例的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 接口自动化测试优化的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口自动化测试用例、接口自动化测试优化的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Vue动态控制input的disabled属性的方法
下一篇:vue中element
相关文章

 发表评论

暂时没有评论,来抢沙发吧~