本篇文章给大家谈谈自带接口测试图,以及接口测试功能测试对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享自带接口测试图的知识,其中也会对接口测试功能测试进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
什么是接口测试?
1接口测试的定义与分类,以下就是接口测试
接口测试是测试系统组件间接口的一种测试。
主要用于检测外部系统与系统之间以及系统内部各个子系统之间的交互点。
重点测试数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系等等。
这要求对业务逻辑有一定程度上的理解,对数据流向有较好的定位。
接口测试般会用于多系统间交互开发,或者拥有多个子系统的应用系统开发的测试。
接口测试适用于为其他系统提供服务的底层框架系统和中心服务系统,主要测试这些系统对外部提供的接口,验证其正确性和稳定性。
接口测试同样适用于一个上层系统中的服务层接口,越往上层,其测试的难度越大。
接口测试实施在多系统多平台的构架下,有着极为高效的成本收益比。
接口测试天生为高复杂性的平台带来高效的缺陷监测和质量监督能力。平台越复杂,系统越庞大,接口测试的效果越明显。
接口测试的目的是测试接口,尤其是那些与系统相关联的外部接口,测试的重点是要检查数据的交换、传递和控制管理过程,还包括处理的次数。外部接口测试一般是作为系统测试来看待的。
不是所有的团队都可以在一个隔离的测试环境中进行测试工作的,因此使得对外部接口的测试显得困难。
我们应该确保较早地与相关的组织协调好并确定进行外部接口测试的方案。
有时候相关的组织只是人工的静态的审阅一次数据而并不真正的用这些数据来测试,这些都增加了实际测试执行中遇到的风险,但有些时候是可以避免的。
接口测试有的公司是归纳在集成测试里面,也有的公司会放在系统测试阶段,不过这个都没有什么区别,本质上接口测试就是通过某个功能模块对外暴露的一个接口地址传参进行测试。
一般来说接口分为如下三类:
A. 系统与系统之间的调用(如我们一般常见的分享内容到朋友圈或者是微信朋友时,微信会提供接口给这些需要用到分享的应用)上层服务对下层服务的调用(这个理解难度稍微有点大,在我们程序中功能是分层的,那么属于上层对底层服务的调用,以后能够有机会接触到代码或者更加稍微复杂点的接口测试就能够理解。举个例子,我们的程序框架分为三层,分别是web层:提供给用户请求的层次;feb迁至层:作为信息传递的中转站;service层:作为程序应用的核心,处理所有的请求
C.服务之间的调用(如添加一条数据时,会先调用数据查询的服务,查询该数据是否是重复数据)
不同类型的接口测试方法可能不一致,但总体来说不管是哪种类型,被测接口即为服务,测试手段为客服方,接口测试的目的就是:通过我们的测试手段,去验证满足其申明提供的功能。
2如何做接口测试
接口测试的原理:通过测试程序模拟客服端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一过程(reques-response)。
接口测试的流程与功能测试有什么区别呢?从原则上以及流程上讲,是没有啥区别的,都同一套软件测试流程:需求讨论-评审需求-确定需求-产出接口定义-根据需求文档及接口定义设计测试用例(测试用例主要从业务场景,功能以及异常测试几个方面考虑)-评审用例-执行测试。
接口测试采用的最基本的就是黑盒测试,在这个测试过程中我们最需要关注的是,如何来设计测试用例,设计测试用例所采用的方法也是我们常所用的几大方法:等价类、边界值以及错误推测法、场景法。在设计测试用例之前,我们先来看看常见的接口文档形式。
这就是上图是一种比较规范的接口文档说明,包含了如下内容模块:接口的类型说明、接口地址、http请求方式、输入参数和请求接口后返回的响应结果。
接口测试编写测试用例,主要关注点是输入参数、输出结果以及内部业务逻辑是否正常‘,所以我梦设计用例也要从这几方面出发考虑:
a)输入参数测试:针对输入参数进行的测试,也可以说是假定接口参数的不正确性 进行的测试,确保接口对任意类型的输入都做了相应的处理:输入参数合法(不合法),输入参数为空,为null,输入参数超长等等;
b)接口是否满足了所提供的功能,相当正常情况测试,如果一个接口功能复杂时推荐对接口用例进行结构划分,这样子用例就有更好的可读性和可维护性;
c)逻辑测试:逻辑测试严格讲应为单元测试,单元测试应保持内部逻辑的正确性,可单元测试和接口测试的界限并不是那么清晰,所以我们也可以从给出的设计文档中考虑内部逻辑错误的分支情况和异常;
d)异常情况接口测试:接口实现是否对异常情况都进行了处理,接口输入参数虽然合法,但是在接口实现中,也会出现异常,因为内部的异常不一定是输入的数据造成的,而有可能是其他逻辑造成的,程序需要对任何异常都进行处理;
针对上面的注册接口,我们利用测试用例设计方法来编写测试用例,如下所示:
3接口测试的工具选择
可以进行接口测试的工具有很多,这里简单介绍几个:
loadrunner :一款商业性能测试工具,用来做接口测试,很好很强大。
jmeter :一款开源的性能测试工具,操作简单方便,既有jdbc request 操作数据库数据,也有http request 和 soap request 应对测试;
httprequester :火狐浏览器自带接口测试工具,插件中安装即可,界面简单明了,容易上手。
postman :谷歌浏览器的扩展工具,界面简洁,开发者比较常用的一款插件工具。
soapui : 开源测试工具,通过soap/http 来检查、调用、实现web service的功能/负载/符合性测试。
我们将在后面的教学中,重点讲解Jmeter这款综合性比较高的工具;
如何做接口测试
1、可以使用postman软件进行接口测试自带接口测试图,这里以较复杂的上传图片的接口为例进行测试,首先打开postman软件选择Post方式,输入后台接口调用地址。
2、然后填写Headers,注意这里的Headers部分不要写任何东西,如果之前是有Content-Type头信息, 那么就会上传失败。
3、接着填写Body,选择form-data,填写Key后台规定的接收文件的名称参数,格式选择为File,此时value会自动变成选择文件。
4、最后点击Send,可以发现下方返回自带接口测试图了接口的响应,说明上传图片是成功的,这样简单的图片上传的接口测试就完成了。
接口测试之图片上传
1、先是在线程组下边创建一个http请求
2、所有
自带接口测试图的相关上传图片的设置都在http请求里面
3、里面的请求类型改成post
自带接口测试图,(图片上忘记改了)最重要的lmplementation一定要设置为java
4、文件名称一定要图片的完整路径加图片名加后缀
5、mime类型比如jpg格式的图片就填成image/jpg
use multipart/form-data for POST
自带接口测试图:使用不对数据进行编码的提交表单形式
browser-compatible headers:浏览器兼容请求头
步骤:
1、http上传附件一般用的Content-Type: multipart/form-data;文中是先通过fiddler抓取接口的请求,然后通过jmeter模拟该请求,如果有接口文档,则可以跳过抓包这个步骤
fiddler抓包的数据放大图片
2. 我们先把header的信息放置HTTP信息管理器中
3.再把fiddler中webforms的信息复制到jmeter的http请求的parameters中,注意:parameters的名称只保留fiddler中webforms的name值,如下图和步骤一的图对比,并勾选Use multipart/form-data和Browser-compatible headers。
4. 将需要上传图片的名称 “ name = img_texture ”,点击files upload,放在该项下面
详细解释:
文件名称:需要上传图片存放的位置,精确到图片本身,如本例:C:\Users\Public\Pictures\Sample Pictures\tp_1.jpg
参数名称:这里指的是fiddle抓包中 WebForms中的需要上传图片的参数,name='' '' 的值,如本例中是 name="img_texture"
MIME类型:选择fiddler中webforms抓到的该行的Content-Type值,本例中是 file
5.最后一步很重要,点击jmeter请求的advanced选项,选择implementation为java
6.运行后即可看到返回值
JMeter 接口/并发/性能测试(详尽版)
Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试。因为再做接口测试时可以设置线程组,所以也可做接口性能测试。
本篇使用JMeter完成了一个完整的Http接口性能测试流程,从脚本编写(工具化生成),执行到最终结果分析。
接口地址 :我们选取最常见的百度搜索接口:https://www.baidu.com/s?ie=utf-8wd=新闻
ie:编码方式,默认为utf-8
wd: 搜索词
返回结果判断 (断言):
搜索结果,我们可以通过校验结果中是否含有搜索词wd来判断本次请求成功或失败。
依次进行如下操作:1) 添加线程组 2)添加请求http消息头管理器 3)添加结果监听器(察看结果树 )
4)添加用户自定义变量 *)添加定时器(集合点)
5)添加请求的断言 6)添加断言结果 7)添加聚合报告 8)执行
9)结果分析(分析测试报告)
1) 添加线程组
添加虚拟用户组(Thread Group),这些虚拟用户用来模拟访问被测系统
一个 线程组(Thread Group) 等于 一组虚拟用户(virtual users group) ,
一个Java线程 等于 一个用户
2)添加请求、添加 http消息头管理器
2.1)添加请求
接下来的一步就是要加入实际被测页面,右击“线程组” “添加” “Sampler” “HTTP请求”。
ps: 参数,用于get 或put请求;消息体数据用于post 请求; -----很重要,很容易出错!
2.2)http消息头管理器
3)添加察看结果树
添加结果监听器(察看结果树 ), “监听器”让用户来观察测试结果
运行后点击左侧观察结果数,查看请求执行结果,红色为失败,绿色为成功,如下图:
4)添加用户自定义变量 集合点
用户自定义变量 -,需要再HTTP请求处,手动修改请求中为变量形式 ${wd}
*)添加集合点
5)添加请求的断言 6)添加断言结果
7)添加聚合报告
8)执行
至此,就完成了一个完整Http接口的JMeter性能测试脚本编写,点击运行即可
查看运行日志, “选项” “Log Viewer”看看运行的日志。如果你还是看不到日志,你可以点击下面所示的三角箭头展开或者收起日志视图
9)结果分析(分析测试报告)
待性能测试执行完成后,打开聚合报告可以看到:
10) 脚本查看
可以使用编辑器查看.jmx文件,如下图所示:
关于自带接口测试图和接口测试功能测试的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
自带接口测试图的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口测试功能测试、自带接口测试图的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~