本篇文章给大家谈谈做接口测试的工作流程,以及接口测试的流程是怎样的对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享做接口测试的工作流程的知识,其中也会对接口测试的流程是怎样的进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
接口测试怎么才能做好?
这个问题还是从需求、测试用例设计、执行来说吧。
A.需求
首先要了解这个接口提供的服务的需求定义,那么我们就知道大概测试的结果是啥。同时理论上要先提供接口规范,方便后续测试,以及给调用者联调的一个文档约定。
B.测试用例设计
根据测试的接口规范,基于业务进行场景设计,再结合边界值设计方法、等价类划分等常用设计方法进行用例设计。
1.设计的方向是常规的测试用例设计:协议规范测试、接口入参、接口出参。
协议规范测试:比如HTTP协议:URL地址、Header测试。不过一般情况下,默认调用者按照接口规范正常调用。这个不用过于详细测试。
2.接口入参:参数个数测试(注意是否必传字段),参数值测试(为空、正常值、非法值等,以及首尾有空格是否过滤)。
3.接口出参:至少涵盖一条成功的响应和一条失败的响应,当然我们测试出更多错误码,我们的覆盖率也就更全面。
4.业务场景用例: 这个需要你对于这个接口的业务的了解程度,而且这是最重要的部分。
比如中间使用了缓存服务(第一次缓存没有,是不是直接读数据源,并存入缓存;第二次直接读取缓存是否正确);
比如需要考虑请求外部的接口获取相应的信息的时间损耗(连接不上外部接口,外部接口下线了,外部接口响应太慢);
C.测试用例执行
1.需要你对接口协议有一定的了解,选择适当的开源工具(如postman)或者自己编写脚本进行模拟请求。
2.需要熟悉接口所使用的中间件等知识(比如redis、kafka、mysql数据库)。
3.需要模拟外部接口返回给你现在正在验证的程序的接口。(比如扣费业务,你不可能每测一个业务,就去调真实扣费)。
是web开发接口吗?建议使用Postman
一、什么是接口?
接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。
二、 常用接口采用方式:
1、webService接口:是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。可以使用的工具有apipost、jmeter、loadrunner等;
2、http api接口:是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和
post等方法,这也是最常用的两种请求方式。可以使用的工具有apipost、jmeter、loadrunner等;
三、前端和后端
前端:网站前端是对网页静态页面的设计,通俗的来说,就是我们肉眼能看的到的东西,当我们浏览网站的时候所看到的页面上的内容几乎都是属于前端,前端的工作就是网站页面,静态的页面是没有后端成分的,前端主要包括html和css外加js等一些样式和布局。
后端: 网站的后端就是动态网站的技术,比如网站上的一些注册登录和一些弹窗,这些都是后端的逻辑,常用的后端语言有php,jsp等,后端的数据库也包含myspl等,都是对后端进行存储数据。
四、 接口测试概念
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等(通俗来说就是,检查业务逻辑是否满足业务需求,校验字段是否正常你实际结果是否满足预期)
五、 接口的组成:
a、接口说明
b、调用url
c、请求方法(getpostput等)
d、请求参数、参数类型、请求参数说明
e、返回参数说明
六、为什么要做接口测试,接口测试的目标
接口其实app和前端交互用的,所以好多人问,为啥做功能测试还要测接口,目标是啥不是多此一举吗?首先我告诉大家,这种想法是错误的
那么举一个例子:
例如一个登陆接口,例如产品上规定用户名6-10个字符数字下划线,但后端没做判断。但我们业务人员测试肯定验证,但只是前端做了校验,后端压根就忘了这个小需求.那么后果来了如果一个懂的直接抓包去篡改你的接口,然后绕过校验,通过sql注入直接随意登录。如果你这是一个下单业务,是不是给公司造成了很大损失
所以此时此刻接口测试目标来了:
1.可能发现客户端没有发现的bug(那么也叫隐藏bug)
2.及早爆出风险(保证质量正常上线)
3.接口稳定了,前端随便改
4.最重要检查系统安全性,稳定性
七、如何进行接口测试
1.使用接口测试工具进行测试,接口测试和接口文档生成工具apipost,接口测试和性能测试工具jmeter
2.接口状态码表示含义
例如:200(成功)/300(重定向别的地方)/400(请求语法错误)/500(服务器异常)
测试点:
B. 参数组合(传入不同值)
C. 接口安全(绕过验证/绕过身份验证/参数是否加密等)
D. 异常验证(输入异常参数边界值)
练
接口测试的基本思路?如何搭建框架
接口测试就是对某一个接口进行测试代码的编写和执行。一般情况下,实施接口测试的优先级是:对暴露在外面的接口(该接口会给第三方调用)进行接口测试;内部的核心功能接口也会做接口测试;内部非核心功能接口的接口测试(很多时候就是单元测试)。当然这个实施的具体细节,还需要根据项目的情景和人员的能力来确定如何实施接口测试、在哪里做接口测试、为什么要做接口测试、做到什么程度等。
接口测试的实施条件
接下来说下,接口测试实施需要的一些条件。第一个就是测试人员的能力,代码的熟悉能力、接口测试框架的使用能力、接口测试环境的搭建能力、接口测试设计的能力、基础代码的编写能力、基础Debug能力等。第二个就是接口测试框架,框架是否定制化一些功能(比如自动加载java bean、方便初始化数据、方便校验数据库数据等)。第三个就是测试团队和测试流程的支持,测试团队需要支持测试人员对核心接口进行接口测试(包括时间上、精力上、技术上等支持);测试流程上需要保证接口测试的效率和项目接入性(在项目当中实施接口测试,充分考虑开发团队和功能测试团队合作等)。
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文件,如下图所示:
接口测试面试题,等你来看
1.你们公司的接口测试流程是?
接口测试我们是在xx项目做的,主要有xx接口,xx接口等
1.首先是从开发那里拿到API接口文档,了解接口业务、包括接口地址、接口方式、入参、出参、token鉴权,返回格式等信息。
2.然后使用postman或jmeter工具执行接口测试,一般使用Jmeter的步骤是这样的:
3.最后调试并执行用力,最后编写接口测试报告。
4.其实我们做接口的时候也碰到过很多的问题,都是自己独立解决的,比如返回值乱码(修改jmeter的配置文件为UTF-8编码方式),比如需要登陆后才能取得token鉴权编码并且这个鉴权码在下面的请求中需要用到(使用正则表达式提取器提取token的值等等。
2.简述cookie、session及token的区别
1.cookie数据存放在客户的浏览器上,session数据放在服务器上。而token是接口数据的鉴权码,一般情况下登录后才可以获取到token,然后在每次请求接口时需要带上token参数。
2.cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应到使用seesion,seesion会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面应当使用cookie。
3.可以将登录信息等重要信息存放为session;其他信息需要保存,可以放在coolie。
3.对于加密接口,如何进行测试?
在调用接口的时候,要搞清楚接口的加密方式是什么。
如果是对称加密,要先从开发哪里获取对称密钥,基于对称密钥可以加密请求数据,以及解密响应报文。
如果是非对称加密,先从开发获取服务器公钥和私钥,也要知道当前用户的公钥和私钥信息。以便完成接口的数据加密和解密。
4.接口测试执行中比对数据库吗?
肯定,因为接口返回值的数据来源于数据库,接口对数据的操作还要进行深层次的数据库检查!
5.如何分析一个bug是前端还是后端
这种情况很容易判断,先抓包看请求报文,对着接口文档,看请求报文有没有问题,有问题就是前端发的数据不对;
请求报文没问题,那就看返回报文,返回的数据不对那就是后端开发的问题。
6.谈谈你对HTTP协议的了解?
超文本传输协议,端口为80,特点(无记忆功能、快速)是由请求和响应两部分组成请求由请求头、请求行、请求正文组成;响应是由响应头、响应行、响应正文组成,之前我们公司的接口是采用https协议的。
httpshttp+ssl协议端口443面向安全的超文本传输协议。
7.get和post请求有什么区别?
get和post请求都是客户端向服务器提交的一种请求方式;
get是明文传输参数、倾向于请求服务器资源。比如打开网站;
post传输数据不可见,安全性高,倾向于向服务器提交数据,比如注册等。
8.依赖于第三方数据的接口如何进行测试
可以使用SoapUI等工具直接调用第三方数据接口的webservice,通过返回值来查看第三方数据的接口是否调用正常。
也可以利用一些工具来模拟第三方的数据返回,最大限度地降低对第三方数据接口的依赖。
9.接口测试中要注意的测试点有哪些?
接口中返回了图片地址,要手工去进行图片的测试(大小、内容);
接口完成查询功能的时候,数据返回的排序显示;
10.接口执行测试返回结果比对哪部分?
之前必须要对比的就是返回状态码,其次再去对比返回其它关键内容。
11.做接口测试工作的意义是什么?
这个是开发性题目,面试官主要考察对测试的理解。
根据测试的金字塔模型来说接口测试是测试左移的最方便,最简单的测试,当然最厉害的测试是做白盒测试,这个是在接口测试之前,相对于单元测试。
12.用过抓包工具吗?如何使用?
之前在项目中用过fiddler抓包工具进行HTTP协议请求的抓取。
打开fiddler之后,默认浏览器配置了127.0.0.18888端口的代理,在fiddler设置好过滤策略后,打开需要进行抓包的网站进行操作,就可以进行抓包。
13.接口测试中需要哪些注意点?
14.postman中设置环境变量有什么用?
在之前项目中,接口测试测试的环境有开发环境,测试环境等,为了测试的时候方便,就在postman设置环境变量,到时所有接口都引用该环境变量,这样就不用为了切换环境导致每次都去修改被测系统接口的主机地址;点击右上角环境变量管理按钮-新建环境变量,在脚本中使用{undefined{变量名}}去调用。
15.关联是什么?如何postman设置关联?
关联就是把上一个接口返回值的部分截取出来,作为下一个接口的参数,能让接口串联运行。
在postman中设置关联的步骤如下:
先通过正则表达式提取的方式或json取值的方式把下一个接口需要的信息从上一个接口截取出来;
使用设置全局变量的代码把取出来的值保存到全局变量;
在下一个接口中,使用{undefined{全局变量}}代替要替换的静态值。
关于做接口测试的工作流程和接口测试的流程是怎样的的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
做接口测试的工作流程的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于接口测试的流程是怎样的、做接口测试的工作流程的信息别忘了在本站进行查找喔。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~