本篇文章给大家谈谈自动化接口测试数据,以及自动化接口测试平台对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享自动化接口测试数据的知识,其中也会对自动化接口测试平台进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
接口自动化测试
接口 :外部系统与本系统之间以及系统内部自动化接口测试数据的各个子系统间自动化接口测试数据,以约定标准提供的服务,包括对外提供的接口/对内提供的接口。
在这块自动化接口测试数据我们举一个比较生活化的例子,我们平常使用的笔记本,在笔记本的两端有很多小插口,最常见的就是USB插口,我们可以把鼠标连接在USB插口上,也可以把键盘、U盘连接在USB插口上,为什么同一个USB接口可以连接这么多设备呢,其实这个接口,他就有一个统一对外的连接标准。
在我们开发当中,也有一个对外暴露的接口,因为他们服务的协议都是统一的,最常见的就是hhtp协议,我们规定好一种格式,让客户端来调用我们。
这里面键盘鼠标属于调用方,插到笔记本的USB上,就可以连接设备,就可以进行操作了。对外暴露的一个统一的一个规范,这样去理解接口,更形象一些。
在了解完什么是接口之后,我们来说一下什么是接口测试。
接口测试 测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等,保证对外提供接口的正确性和健壮性。
我们在具体测试过程中,我们不用关心接口调用方和接收方的实现逻辑,我们只需要知道传入什么数据,返回什么的结果是否达到我们的预期。接口测试其实也是黑盒测试,他与UI测试的区别就是没有界面交互,是不可视化的。
测试前置 :我们不能等到整个系统全部开发完成才能进行测试,我们可以通过调用接口来进行测试,把问题拦截在前期,降低问题修复成本。
Bug更容易定位 :因为我们按接口进行测试,出现问题后在被测接口中排查就可以了,它比系统集成之后,发现问题更容易定位,系统集成之后有各种模块的调用,出现bug之后再排查,排查的链路非常的长。另外从机制上更接近出问题的地方更容易命中问题。
前后端分离结构 :现在很多系统都采用前后端分离架构,各服务之间更多的是通过接口来实现信息互通,对接口进行直接测试,可以更全面的覆盖各类测试场景。
自动化测试落地性价比高 :比UI自动化测试更稳定,我们上面已经说了UI层的元素时常发生变化,有时改一个简单的元素,都有可能导致我们的自动化测试走不下去,写一套自动化测试脚本比较容易的,但是维护起来,会耗费很大的时间精力,相对来说,接口就比较稳定,一个项目没有大的改造,入参和出参就是固定的,变化的概率比较小,这样维护起来也比较方便。
减少安全隐患 :比如我们在平常的测试过程中,测试用户名和密码,密码格式要求不能输入特殊字符,前端做了校验,而后端没有处理,这样我们只测试页面,这条case就默认通过了,但一些黑客可能通过抓包的方式进行登录,这样安全隐患就比较大了。我们对接口进行安全测试,可以避免安全隐患。
借助工具 : Postman、Jmeter、jsf平台、jsf测试工具、easytest
编写测试脚本 :Java+TestNG
请关注下一篇如何使用Java+TestNG进行接口自动化测试
接口自动化测试测试用例设计
浅谈接口自动化测试测试用例设计
一、 前言
很多中台项目
自动化接口测试数据,大部分为接口测试。为
自动化接口测试数据了使新入职的测试同事尽快融入项目
自动化接口测试数据,以及迭代开发中方便管理测试用例。完成该总结。
二、 测试用例设计思路
1、 接口类型概述及优先级
1) 提供给第三方调用的接口
2) 内部系统使用,核心功能接口
3) 内部系统使用,非核心功能接口
基本按照1)2)3)的顺序进行测试,特别情况除外
2、 单接口测试优先级
1) 优先测试正向测试用例,保证基本功能实现
2) 设计逆向测试用例,确保接口的健壮性
3) 满足前提条件的测试用例
4) 默认参数是否满足
5) 参数校验
6) 参数间联动关系
7)多参数错误处理的优先顺序校验
三、 设计分析
1、 满足前提条件的测试用例
测试目标接口需要满足前置条件才能成功获取数据。
例如:需要登录token,通过传入参数获取下游接口数据
2、 携带默认参数的测试用例
携带默认参数的测试用例仅需要设计一条,所有默认参数的字段都不填写,其他字段输入正常。
[if !supportLists]3、 [endif]参数校验
参数校验包含如下几方面:
[if !supportLists]1)[endif]输入参数是否为必须输入项
[if !supportLists]2)[endif]输入参数的类型
[if !supportLists]3)[endif]输入参数的枚举值校验
[if !supportLists]4)[endif]输入参数长度校验
以上测试用例最好根据字段一一校验,排除互相干扰
[if !supportLists]4、 [endif]参数间联动
有些参数见存在彼此制约的关系,根据实际情况设计测试用例
例如:A字段为1时,B字段一定为空。否则报错。
那么测试用例设计时应为:A字段为1时,B字段为空
自动化接口测试数据;A字段为1时,B字段不为空;A字段不为1时,B字段为空;A字段不为1时,B字段不为空;四条测试用例
这样基本覆盖所有分支流程。
[if !supportLists]四、 [endif] 测试用例实践操作
接口测试用例样例:
多条件查询接口
测试方法:使用robotFramework测试doubbo接口
协议请求方式:post
接口协议:JSON
消息请求列表
字段名数据类型默认值必须项备注
IDint 是长度为2
Tokenstring 是设备令牌
Statusstring 是1:正常
2:异常
typeint Status为1时,为必须输入项
sizestring 默认值
消息返回列表
字段名数据类型必须项备注
Codeint是正常:20000
异常:20001
Messagestring是
typeMessageint Status=1的所有ID
用例设计
NO. 测试内容 前置条件 输入参数 输出参数 用例属性
1目标数据为一条预置一条符合条件的数据Status=1,其他参数输入正常返回code=20000
typeMessage中返回的ID与预置数据一致
正向测试用例
2目标数据为多条预置多条符合条件的数据Status=1,其他参数输入正常返回code=20000
typeMessage中返回的ID与预置数据一致
正向测试用例
3 Token必须项检查 预置多条符合条件的数据Status=1,token输入为空,其他参数输入正常返回code=20001
typeMessage中返回为空
满足前提条件
4 Token正确性检查 预置多条符合条件的数据Status=1,token输入错误,其他参数输入正常返回code=20001
typeMessage中返回为空
满足前提条件
5 Status 必须项检查 预置多条符合条件的数据Status为空,其他参数输入正常返回code=20001
typeMessage中返回为空
参数校验
6 Status枚举预置多条符合条件的数据Status为1,其他参数输入正常返回code=20000
typeMessage中返回的ID与预置数据一致
参数校验
7 Status枚举预置多条符合条件的数据Status为2,其他参数输入正常返回code=20000
typeMessage中返回的ID与预置数据一致
参数校验
8 Status枚举预置多条符合条件的数据Status为3,其他参数输入正常返回code=20001
typeMessage中返回null
参数校验
9 Status=1,时联动校验预置多条符合条件的数据Status为1,type为空;其他参数输入正常返回code=20001
typeMessage中返回null
联动校验
10 Status!=1,时联动校验预置多条符合条件的数据Status!=1,type为空;其他参数输入正常返回code=20000
typeMessage中返回对应ID
联动校验
11 Status!=1,时联动校验预置多条符合条件的数据Status!=1,type不为空;其他参数输入正常返回code=20000
typeMessage中返回对应ID
联动校验
12 Size默认值输入校验预置多条符合条件的数据Size输入为空,其他参数输入正常返回code=20000
typeMessage中返回对应ID
默认值校验
13 Size默认值输入校验预置多条符合条件的数据Size输入不为空,其他参数输入正常返回code=20000
typeMessage中返回对应ID
默认值校验
14 ID 必须项检查 预置多条符合条件的数据ID为空,其他参数输入正常返回code=20001
typeMessage中返回为空
参数校验
15 ID 长度检查 预置多条符合条件的数据ID长度大于2,其他参数输入正常返回code=20001
typeMessage中返回为空
参数校验
16 破坏性测试预置多条符合条件的数据输入的参数类型错误请求未接收,返回404 稳定性测试
17 破坏性测试预置多条符合条件的数据输入的参数与提供的参数名称不一致请求未接收,返回404 稳定性测试
18 破坏性测试预置多条符合条件的数据输入的参数与提供的参数数量不一致请求未接收,返回404 稳定性测试
19 破坏性测试预置多条符合条件的数据输入的参数与提供的参数格式不一致请求未接收,返回404 稳定性测试
总结:自动化测试过程中会有一条自动化测试用例覆盖多种情况的可能(例如:正向测试用例与联动性验证的 Status=1,type输入不为空的测试用例重复,所以选择一条用例验证 。 ),以上的测试用例满足自动化的要求,手动测试过程中需要增加部分验证性的测试用例。且由于使用的测试工具特殊性,无需检查输入参数的类型。
接口自动化测试怎么做的
了解了接口测试是什么之后,怎么做接口测试呢?接口测试的流程其实和功能测试流程类似:接口测试计划-接口测试用例-接口测试执行-接口测试报告。测试用例设计的依赖对象主要是需求说明书和接口文档。
接口测试因其不是针对普通用户,而是针对的另外一个系统组件,所以不能直接测试,需要使用工具测试,比如服务端http接口测试,常用的工具有jmeter、postman、httpclient等。用工具测试,所以目标就是准备要测试数据测试脚本后直接执行即可, 在进行测试执行编写时,有如下的原则:
1.不同的接口参数覆盖不同的业务场景;
2.在后台构造合适的数据来满足接口的测试用例;
3.根据接口的返回值,断言其是否返回期望结果,并查看数据库验证;
4.测试用例涉及多个步骤的,应对涉及的步骤都验证;
5.删除测试过程中产生的结果,确保每个用例执行前都是一个清洁的环境
接口自动化测试之Mock
Mock介绍
1.找到要替换的对象:我们需要测试的是visit_ustack这个函数自动化接口测试数据,那么我们需要替换掉send_request这个函数。
2.实例化Mock类得到一个mock对象自动化接口测试数据,并且设置这个mock对象的行为。在成功测试中,我们设置mock对象的返回值为字符串“200”,在失败测试中,我们设置mock对象的返回值为字符串"404"。
3.使用这个mock对象替换掉我们想替换的对象。我们替换掉了client.send_request
4.写测试代码。我们调用client.visit_ustack(),并且期望它的返回值和我们预设的一样。
上面这个就是使用mock对象的基本步骤了。在上面的例子中我们替换了自己写的模块的对象,其实也可以替换标准库和第三方模块的对象,方法是一样的:先import进来,然后替换掉指定的对象就可以了。
Mockrunner用在J2EE环境中进行应用程序的模拟测试。它不仅支持Struts actions,servlets,过滤器和标签类,还包括一个JDBC和一个JMS测试框架,可以用于测试基于EJB的应用程序。
Mockrunner扩展了JUnit并模拟了必要的行为,而无需调用实际的基础结构。它不需要正在运行的应用程序服务器或数据库。此外,它不会调用web容器或Struts ActionServlet。它非常快速,使用户可以在测试的所有步骤中操纵所有涉及的类和模拟对象。它可以用于为基于J2EE的应用程序编写非常复杂的单元测试,而不会产生任何开销。Mockrunner不支持任何类型的容器内测试。
Mockrunner不会读取任何配置文件,例如web.xml或struts-config.xml。您可以使用Mockrunner API指定所有参数。因此,可以将servlet,过滤器,标签和Struts动作作为可重用组件进行测试,而不管您在一个或另一个应用程序中使用的设置如何。无法测试配置文件中的定义。如果要这样做,可以将StrutsTestCase用于基于Struts的应用程序或Cactus。
Mockrunner支持Java版本从1.3到1.6以及J2EE 1.3,J2EE 1.4和JavaEE5。尚不支持EJB 3.0。Mockrunner支持Struts版本1.1、1.2和1.3。
下载地址:Mockrunner download | SourceForge.net
最后:【可能给你带来帮助的教程】软件测试最新自学教程
关于自动化接口测试数据和自动化接口测试平台的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
自动化接口测试数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于自动化接口测试平台、自动化接口测试数据的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~