接口测试原理和根本步调

[复制链接]
发表于 2026-2-6 10:34:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
1、接口测试原理

接口测试,现实上是针对于接口做测试的。
那么接口是什么?
软件开辟,既要做前端,也要做后端,而且后端是整个业务的核心,用于处置惩罚业务哀求,实现详细的功能;而前端只是提供一个页面给用户看结果以及提供页面给用户做输入。以是整个业务的处置惩罚逻辑都在后端。而后端逻辑相对很复杂,以是在开辟的时间,会由架构师确定接口,然后再针对这个接口实现其详细的功能。
接口也可以以为是我们要做多少事变,由于在技能层面,假如要实现登录、注册、增、删、改、查等操纵,就会先筹划好一个模块,阐明详细实现哪些功能点,这个功能点应该有哪些输入项,有哪些方法。
这个东西就是我们所谓的接口,在java里,接口里包罗属性名和方法,全部的方法都是抽象方法,只有方法名,而没有这个方法的详细实现。也就是说:我知道这是一个登录功能,但是登录怎么实现,这美满是不知道的,必要开辟职员详细去实现。那么作为我们的开辟职员,他就会领到一个任务去实现这个接口。比如,实现登录接口,注册接口等。
我们可以以为,固然他是在实现登录接口、注册接口。也就相称于我们根据这个接口去实现登录功能,注册功能。以是这个接口现实上也就是配景一个详细的功能。
那么什么又是接口测试?
现实上我们所说的接口测试就是开辟职员把这个接口实现了,他必要去验证这个接口的实现是否精确。
但是这是一个配景的功能,这个开辟也是一个配景开辟,他去验证接口的时间,他不会想让前端职员参加,由于让前台职员参加的话会比力贫困。那么他就必要一个工具来模仿前端界面。(前端着实就是提供一个窗口,既能让用户输入数据,而且还可以查察结果。)
2、接口测试的实现

现实上我们做接口测试,还是“输入—处置惩罚—输出”如许的模式。用户输入一串数据,然后让这个接口大概让这个配景功能来处置惩罚,然后查抄输出结果跟盼望是否同等。
这个着实也就是我们所说的黑盒测试。也是我们做测试的一个通例的思绪。用户输入一串数据,然后让体系行止理,然后我们再去查抄结果跟盼望是否同等。功能测试是这么做的,接口测试现实上还是这么做。
但是相对功能测试而言,接口测试有一个比力显着的区别,就是输入不再是界面的,而是一个基于HTTP的哀求;输出也不再是界面,而是基于HTTP的相应。以是必要通过哀求和相应分别来输入我们的数据以及查抄我们的结果。
3、接口测试用例

着实接口测试和的功能测试好坏常相似的,功能测试怎么做,接口测试还是怎么做。
功能测试用例,最核心的三个部门就是:输入、操纵步调和预期结果。
接口测试用例,着实告急的也就是这么三个部门。
平常所说的测试用例筹划方法,也就是对输入项举行各种差异的取值,然后再做组合。拿登录来说,登录功能有效户名和暗码,那用户名,有精确的用户名和错误的用户名两种环境,暗码有精确的暗码和错误的暗码两种环境。用户名和暗码在一起就会产生一些组合:
(1)用户名精确,暗码精确;
(2)用户名精确,暗码错误;
(3)用户名错误,暗码的精确;
(4)用户名错误;暗码错误。
输入时,选择差异的数据组合会产生差异的测试场景,每一个场景都必要实行一遍。
功能测试是这么去做的,但是接口测试没有界面,也就没有办法输入,怎么办?
接口测试里有个东西叫参数,这个参数就对应了功能测试里的输入项。以是,接口测试用例着实也就是对输入参数,做一个分别然后再做组合,形成接口测试用例。
每一组测试用例实行后,肯定会得到差异的结果。比如精确的用户名和精确的暗码,结果是登录乐成;错误的用户名或错误的暗码,结果是登录失败。那么只要思考,怎样将参数取值和测试结果应用在工具中,这个题目就办理了。
4、接口测试工具

接口测试工具有许多,比如soapUI,postman,jmeter等。
工具着实只是工具而已。
做接口测试肯定要明确的一个条件:接口测试的流程。
第一步,筹划操纵步调。
操纵步调就是哀求,有一些哀求是是单独的,有些哀求是多个哀求前后有接洽的,这种环境就必要创建关联,。那么我们必要相识哀求的格式,规范以及怎样做关联。soapUI,postman,jmeter里,都有关联。
第二步,筹划数据用例。
发起将数据用例写到Excel文档里,然后让工具读取Excel。Excel里有几组数据用例,就实行反复。循环实行(自动化),就可以让每一个用例被实行一次,那么每一个测试场景也就被运行到了。
第三步:断言。
也就是提前将预期结果写入到工具中,让工具自动化判断结果是否精确。差异的工具叫法差异,soapUI和Jmeter中叫做断言,postman中叫做tests。
第四步:实行并查抄测试结果。
实行很简单,对测试结果举行分析的话就必要相识协议。知道发出去了什么,返回了什么,才可以大概知道,到底哪个环节出了题目。
5、HTTP协议

HTTP协议非常告急。清楚了HTTP协议,再去使用工具着实就很容易,按照上面四个步调就行。
为什么是HTTP协议而不是其他协议?由于90%的体系都是HTTP协议的。
HTTP协议包罗哀求和相应
哀求就是用户的输入,相应就是结果。我们通过哀求去找参数,然后输入差异的参数值,然后组合成哀求,只要这个哀求是合法的,那么就可以发出去,而且可以大概被服务器吸取。以是,起主要可以大概判断出来什么叫做合法哀求。
那么就必要去相识HTTP协议的哀求的构成,哀求的规范,知道哪些哀求项是我们所关心的,哪些哀求项是我们肯定要依照的,哪些项是我们可以删除的。
同理,要想查抄结果是否精确,就必要去相识相应。
HTTP哀求包罗两个部门
哀求头和哀求体,哀求头的第一行非常的告急,包罗哀求方法和URL。这两个东西好坏常核心的东西。哀求方法有GET方法,POST方法,必要知道他们之间的区别,固然区别最显着的就是GET哀求没有哀求体,而POST哀求有哀求体。URL,相称于接口的入口。哀求头里有许多项,每一项最好能知道是什么意思,而且要知道哪些项是比力核心的,着实核心的东西不多。一个是content-type,一个是cookies。
备注:网上许多资料会把哀求分为三部门,哀求行、哀求头和哀求体。这里的哀求头的第一行着实就是哀求行了,下面的相应也是一样
哀求体包罗参数,一样平常我们在测试的时间会修改哀求体里的东西。
懂了上面这些,就知道该怎样组装HTTP哀求了。
相应包罗两个部门
一个是相应头,一个是相应体。相应头里的第一行有相应的状态码和状态信息,这个非常告急。口试时间一样平常会被问到:状态码有几类?一样平常是有五类,1开头(哀求正在处置惩罚),2开头(哀求处置惩罚乐成),3开头(重定向),4开头(客户端错误),5开头(服务器错误),这五类分别代表什么必要记取。一样平常5开头的都是体系bug。
6、JMeter

着实哪个工具都可以,但是jmeter有两个利益,第一个:它是中文版的,学习资本较低,postman和soapUI都是英文版的;第二个,jmeter既可以做接口测试,又可以做性能测试。
对应上面的四个步调,怎样用jmeter做接口测试?
1、 筹划操纵步调:这里我们创建HTTP哀求即可
添加——取样器——HTTP哀求
2、 筹划数据用例:由于jmeter只支持CSV文件,以是筹划测试用例时记得天生CSV格式的,将CSV导入到jmeter中(这部门在性能测试内里叫做jmeter的参数化)
添加——设置元件——CSV数据文件设置
3、 断言,添加一个相应断言即可(也可以加别的)
添加——断言——相应断言
4、 实行,添加一个结果树
添加——监听器——查察结果树
7、抓包

一样平常环境下,做接口测试是有接口文档的
但是假如没有接口文档我们怎么做接口测试?
这就必要抓包,哀求我们是可以抓到的,相应假如抓不到,我们可以根据测试数据本因素析应该得到什么样的结果
抓包工具保举fiddler,两个上风:
1、简单好用;
2、fiddler抓包后可以直接导出为jmeter脚本。
8、接口测试可以发现什么样的Bug?

为什么要做接口测试?
基于两个来由:
第一个:开辟职员把这个接口大概把配景代码开辟好了,他会去做接口测试。开辟职员自测完成后,我们测试职员可以对这个接口做一个全面的测试。
第二个:接口测试不会受到输入界面的影响,那界面所做出的一些限定也就不存在了,我们直接测的就是配景这一块儿,可以查抄配景有没有做到相应的限定。
一个常见的题目,页面的输入框大概会有长度限定,比如限定只能输入十个字符,但是配景并没有做限定,如许很容易会导致出现一些数据库的非常,如许的题目大概在功能测试内里没办法发现,但是接口测试可以。以是许多时间,接口测试,可以以为是功能测试的一种增补。它可以让我们的测试做得更深入,更全面。
末了感谢每一个认真阅读我文章的人,投桃报李总是要有的,固然不是什么很值钱的东西,假如你用得到的话可以直接拿走:
​


这些资料,对于【软件测试】的朋侪来说应该是最全面最完备的备战堆栈,这个堆栈也伴随上万个测试工程师们走过最艰巨的旅程,盼望也能资助到你!

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表