1.首先什么是接口?
一般来说,接口有两种,一种是程序的内部接口,一种是系统的外部接口。
系统的对外接口:比如你想从其他网站或者服务器获取资源或者信息,别人肯定不会与你共享数据库。 他们只能向您提供他们编写的获取数据的方法。 你可以引用他们提供的内容。 他写的接口可以使用他写的方法来达到数据共享的目的。 比如我们使用的app、URL在处理数据的时候都是通过接口来调用的。
程序内部的接口:方法之间、模块与模块之间的交互、程序内部抛出的接口,比如bbs系统,有登录模块、发帖模块等,如果要发帖,必须先登录。 你必须登录,然后这两个模块要交互,它会抛出一个接口供内部系统调用。
2. 常用接口
1.接口:通过http通过soap协议传输。 请求消息和返回消息都是xml格式。 我们测试的时候,都是使用工具来调用和测试。 可以使用的工具有,,等等;
2、http api接口:采用http协议,通过路径区分调用方式。 请求消息采用键值的形式。 返回消息一般是json字符串。 有get、post等方法,也是最常用的。 两种请求方式。 可以使用的工具有、、、等;
3.前端和后端
在讲接口测试之前,我们先明确一下前端和后端这两个概念。
什么是前端? 对于Web端来说,我们使用的网页、打开的网站都是前端,都是用HTML和CSS编写的; 对于app端来说,就是我们使用的app,或者--C开发的(在ios上开发app),它的作用就是展示页面,让我们看到漂亮的页面,并做一些简单的验证,比如非空确认。 当我们在页面进行操作时,这些业务逻辑和功能,比如你购物、发微博等,都是由后端来实现的。 后台控制你购物时如何扣除余额以及发微博到哪个账户。 前端和后端是通过接口进行交互的。
我之前说的你可能不明白,但是你只要记住:前端负责好看,后端负责赚钱养家。
4.什么是接口测试?
接口测试是测试系统组件之间接口的一种测试。 接口测试主要用于检测外部系统与系统之间、内部子系统之间的交互点。 测试的重点是检查数据的交换、传输和控制管理流程,以及系统之间相互的逻辑依赖关系等。
好啦,上面是百度百科说的,下面是我说的。
其实我觉得接口测试很简单,比普通的功能测试简单。 现在很多公司找工作的时候都要求有接口测试经验。 很多人(只有两三个人)问我什么是接口测试。 我不明白。 为了假装明白,我想说:所谓接口测试,就是通过测试不同情况下相应的输入输出参数信息来判断接口是否满足或满足相应的功能和安全要求。
为什么说接口测试比功能测试简单呢? 因为功能测试是从页面输入值,然后通过点击按钮或者链接将值传输到后端。 而且功能测试还测试UI、前端交互等功能,但是界面测试没有页面。 它利用接口规范文档中的调用地址和请求参数来拼接消息,然后发送请求并检查返回结果,因此只需要测量传入和传出的参数即可,比较简单。
5. 界面由哪些部分组成?
首先,接口文档应包含以下内容:
1. 接口说明
2. 调用网址
3.请求方式(get\post)
4.请求参数、参数类型、请求参数说明
5、返回参数说明
从接口文档可以看出,接口至少应该由请求地址、请求方法、请求参数(输入参数和输出参数)组成。 有些接口有请求头。
():是服务器使用HTTP协议将HTML数据传输到浏览器之前发送的字符串。 标头和 HTML 文件之间需要有一个空行。 一般存储代币、代币等信息。
有同学问我这和人参有什么关系? 不都是传给服务器的参数吗?
OK,首先,它们确实是发送给服务器的参数,但是它们是不同的。 存储的参数一般存储一些验证信息。 例如,是验证请求是否有权限请求服务器。 如果是,则可以向服务器发出请求,然后将请求地址连同输入参数一起发送给服务器,然后服务器根据该地址和输入参数返回输出参数。 换句话说,服务器首先接收信息来判断该请求是否有权限。 确定有权限后,会接受请求地址和输入参数。
6、为什么要做接口测试?
众所周知,界面其实是前端页面或者APP用来与后端交互的,所以很多人会问,功能测试我都已经测试过了,为什么还需要测试界面呢? 好吧,在回答这个问题之前,我先给大家举个例子:
例如,测试用户注册功能时,规定用户名长度为6~18个字符,包括字母(区分大小写)、数字、下划线。 首先,功能测试时肯定会测试用户名规则,比如输入20个字符、输入特殊字符等,但这些可能只在前端验证,后端可能不会验证。 如果有人通过抓包绕过,前端验证通过直接发给后端怎么办? 试想一下,如果后台没有对用户名和密码进行验证,而有人绕过了前端验证,那用户名和密码还不能随便输入吗? 如果你在登录的话,或许可以通过SQL注入等方式随意登录,甚至可以获得管理员权限。 这不可怕吗?
因此,体现了接口测试的必要性:
①. 你可以发现很多通过页面操作无法发现的bug。
②检查系统的异常处理能力
③. 检查系统的安全性和稳定性
④. 前端可以随意更改。 接口一旦测试完毕,后端无需改动。
7. 如何测试接口
在进行接口测试之前,您还需要了解:
1)GET和POST请求:
如果是get请求,直接在浏览器中输入即可。 只要能在浏览器中直接请求,就是get请求。 如果是post请求就不行了。 你必须使用工具来发送它。
GET请求和POST请求的区别:
1. GET 使用 URL 或传递参数。 而POST则将数据放在BODY中。
2. GET URL会有长度限制,因此POST数据可能会很大。
3. POST 比 GET 更安全,因为数据在地址栏上不可见。
4、一般使用get请求获取数据,使用post请求发送数据。
事实上,以上几点中,只有最后一点更为可靠。 第一点是post请求也可以将数据放入URL中。 事实上,get请求没有长度限制。 Post请求好像有隐式参数,稍微安全一点,但是只适合新手用户。 即使发出post请求,仍然可以通过抓包获取参数。 所以面试的时候就提一下上面的事情吧。