接口测试基本理解

摘要:
想必每个人都做过功能测试。功能点是否通过业务需求测试达到预期,如果一些小伙伴想了解接口测试,他们会有一些问题。接口是什么?接口测试实现了什么?所有测试人员都需要测试接口。3.在开发前端页面之前,可以先测试接口数据是否正常。剩下的大部分问题与前端有关。如何进行接口测试?

想必大家都做过功能测试,通过业务需求测试功能点是否达到预期(测试用例),一些小伙伴想要了解接口测试就会有一些疑问,接口是什么呢?怎么去做接口测试?接口测试为了实现什么?

我们一步一步来说明:

什么是接口?

接口分为对外接口和对内接口

对内接口:

个人理解:程序之间方法的调用,模块之间的交互,比如A开发写好了一个登录接口告诉B开发直接在权限模块调用就可以了。内部接口起到模块之间牵线搭桥的作用。

对外接口:

个人理解:就是把client端(客户端)和server端(服务端)联系起来。前端开发和后端各自开发,那怎么把两者连接起来呢,前端语言(比如css,html)后端语言(比如php)两者语言不通啊怎么办,要有一门通用的语言来把它们都联系起来,这就是json(通用数据类型)当然还有其他的语言如xml(现在基本不用了)。json是以key,value形成传输的,也称键值对,具体格式如 {"key1":"value1","key2":"value2"}  。前端要什么数据,我后端通过json就给你什么,从而达到了数据共享的作用。

比如一个电商系统,我要去买商品,那就需要先登录,然后去搜索商品,当我点击前端搜索按钮的时候,就会调用查询商品的接口,前端代码通过ajax等手段请求后端server并拿到请求去执行sql语句,如果有,返回给前端,前端再展示给用户商品信息,如果没有,也返回没有找到该商品的提示(接口是开发已经写好了的,接口也可以理解成各种操作数据库,我们要做的就是去校验是否请求成功了请求输入的结果是否正确,请求否达到测试用例的预期结果)

接口的分类有哪些?

接口分为webserver和http api,http协议最为普遍,而webservice走soap协议,返回xml格式

什么是接口测试?

个人理解:接口测试=功能测试

接口测试就是功能测试,总结了其中两点不同

1.接口测试需要特定的接口测试用例(如:用例编号,请求接口地址,请求方式,预期结果,实际结果)

2.接口测试没有页面,通过url请求发送给服务端

为什么要去做接口测试?

1.通常功能测试是在前端页面做完之后,也就是基本上进入正式功能测试阶段的时候,而接口测试不是,它是在功能测试之前,测试人员能更早的介入系统中来,一般接口测试能找到80%的问题,有更多的问题会在接口测试中暴露出来,从而减轻开发的负担(更重要的是更早的发现一些严重的问题,如框架不合理等),如果到功能测试去解决,早已为时已晚了。

2.再比如测试一个商品支付接口,绕过前端请求server,修改其金额变为0元,如果server端没有校验,返回了一个支付成功,那就有问题了,可以随意的购买。所有需要测试人员进行接口测试了

3.前端页面没有开发完毕,可以先测试接口数据是否正常,剩下的绝大部分问题就是前端的事情了。

怎么去做接口测试?

接口测试一般都会有特定的接口文档(因需求而定,有些公司开发可能会给你页面的接口文档),其中包括入参,返回数据,url地址,接口的描述,请求方式

请求方式:get请求,直接用浏览器访问也可以用指定工具

        post请求,用指定工具这里推荐jmeter或者postman

接口测试步骤:

1、需求评审,熟悉业务和需求
2、开发提供接口文档
3、编写接口测试用例
4、用例评审
5、提测后开始测试
6、提交测试报告

http状态码

  在接口测试中查看状态码是必会的一项,返回的结果你一看就知道请求到底成功了没有

200   请求成功

3xx 重定向(304访问资源并没有改变,如本地缓存)

400  语义有误,服务器无法识别,或者参数错误

401  访问页面需要身份验证,你没有这个权限

402  预留状态码(空闲)

403  服务器理解请求,但是没有权限访问这个页面从而不能执行

404  服务器找不到这个请求下的路径,也就是没有这个页面

500  服务器内部出现异常

501  服务器无法支持当前所需求的功能

502  作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。

503 服务器临时过载或者维护

504  服务器超时无返回结果

接口文档  

拿到的接口文档信息越详细越好,必选,类型,参数名,返回内容,如果没有,可以要求开发补充或者跑去问。

接口文档是对接口如何使用的文档,当然有许多不足的地方,需要我们通过postman和jmeter按照接口文档的参数进行测试

  版权声明:本文原创发表于 博客园,作者为 RainBol 本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。 

免责声明:文章转载自《接口测试基本理解》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇安装及配置sublimeC#开发BIMFACE系列25 服务端API之获取模型数据10:获取楼层对应面积分区列表下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

css图片+文字浮动(文字包围效果)

css图片+文字浮动(文字包围效果): 在网页中,我们有时想实现这个效果,但是 <div id="test"> <img src="gdimages/01.jpg" alt=""/>《Web前端设计与开发-HTML+CSS+JavaScript+HTML 5+jQuery》是QST青软实训推出的“在实践中成长”系列丛书之...

微信小程序开发四:接口

4.1 网络 发起请求wx.request接口,用于发起 HTTPS 请求。一个微信小程序,同时只能有5个网络请求连接。上传下载wx.uploadFile接口,用于将本地资源上传到开发者服务器。如页面通过 wx.chooseImage 等接口获取到一个本地资源的临时文件路径后,可通过此接口将本地资源上传到指定服务器。客户端发起一个 HTTPS POST...

RPC服务和HTTP服务对比

很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单地介绍一下两种形式的C/S架构,先说一下他们最本质的区别,就是RPC主要是基于TCP/IP协议的,而HTTP服务主要是基于HTTP协议的,我们都知道H...

接口测试-自动化-Java-思路

这次模拟学习的思路是这样的: 目的: 为了能测试接口是否运行正常, 因为公司目前人员流动比较大,之前的后台接口开发人员已经离职,目前线上接口已经运行, 再出现新需求的情况下,如果没有开发新的接口,不确定是否会因为同步代码等其他问题造成接口不可用。 如果没有太多的时间测试每个接口是否正常,可以使用自动化脚本进行测试,保证每个接口运行正常。 注:当然接口测试还...

自己动手开发编译器(一)编译器的模块化工程

本系列的第一篇,我想概述一下编译器的构造,同时帮助大家了解编译器中各个组成部分的用途。想必大家看别的编译原理书籍,大都在第一章或者序言之类的地方,将编译器分成许多模块,然后每一个模块负责编译的特定阶段,最后串起来组成完整的编译器。比如下面这张图就是虎书(Modern Compiler by Andrew W. Appel)第一章中出现的编译器阶段示意图:...

《软件概要设计说明书》

软件概要设计说明书 1.引言 1.1编写目的 根据我们在上课找教室就的尴尬状况,我们团队决定开发课堂派派软件。每当去上课找教室时,会很找不到教室,导致迟到,或者走错教室,我顿感忧伤,实难想到跑了如此远的路,浪费如此多的时间,还影响到正常的学习,我的心被刺穿了,我想能不能有一款软件可以让我不再如此浪费宝贵时间,能不能有一款软件让我在百忙之中还可以查看到教室...