1.首先什么是接口呢?

      我们访问一个网站的时候 网站的信息是在数据库中存在的,但是系统不会把访问数据库的权限给我们,只能给我们提供一个接口 供我们访问。其实接口就是我们从数据库中取数据或者插入数据。

      接口分为系统内部接口和外部接口:内部接口就是系统内模块和模块之间交互的接口,外部接口就是系统和系统之间交互的接口。另外一点 前端和后端的交互也是通过接口。

2.什么是接口测试呢?

接口测试就是比功能测试还简单的功能测试,区别就是功能测试是在页面上点点点,而接口测试就是需要开发人员给出接口文档 接口文档中包含:url 、请求方式、请求参数。我们可以借助工具来进行测试。

其中最常用的接口请求方式就是  get 、post、json 等。

如果是get请求 不需要借助任何工具,直接在浏览器中输入url按照url?参数=值&参数=值的形式就可以就可以

get和post的区别是什么呢:

1、get请求只有请求头,没有请求体,它的参数是写在url里面

2、get请求一般用来向服务器获取数据,post请求呢用来向服务器发送数据
3、get请求有参数长度限制,post请求没有
4、get请求没有post请求安全

 接口测试的流程:1分析需求

2.开发提供接口文档

3.根据接口文档编写用例

4.评审用例

5.开始测试并提交测试报告

接口用例怎么写呢?一条 接口用例包含:项目、模块、用例id、用例描述、请求url、请求方式、请求数据、预期结果、请求报文、返回报文。

接口测试用例怎么设计?我们要从以下几个方面去考虑用例的设计:1.基本功能测试就是设计出符合正常业务场景的用例

2.边界值分析:覆盖所有必选参数、参数有无或者null、参数组合在一起、参数的个数、输入参数的顺序、参数数值大小、参数中包含特殊字符

3.幂等级测试(假如登录接口  我连续点击登录会提示什么)

4.并发测试

5.事务性测试

6.大数据量测试

7.环境异常测试

基本上设计用例的时候考虑到上面七个点基本就可以了。

执行接口测试用例的时候我们需要注意的点:

1、接口返回数据

a)         返回json数据的层次关系是否与文档一致

b)        数值类型数据: 特别是金额,负数、小数转为json输出是否正确

c)         接口返回数据与接口文档一致

d)        接口返回数据和数据库一致

e)         接口返回数据符合业务逻辑(比如转账功能,从一个账户扣款,另一个要增加相应金额)

f)          对于列表,应该根据请求参数,也应该验证列表的长度是否与期望值一致

g)         负面测试用例,应验证ERROR INFO是否与实际相匹配

2.

2、数据库

a)         接口传入数据与插入DB的数据一致性:

b)        前端某个操作涉及后台DB多张表时,每张表都要检验数据正确性。

3、安全层面:

a)         后端接口返回给前端的数据包含敏感信息(如:姓名、身份证号、卡号、手机号、加密后的密码等)时,不能明文传输,需要加密。

b)        后台打日志要求对于敏感信息不能打出,或者进行加星号脱敏后打出,具体有:

1)          身份证号,用户密码(含加密后),用户手机号码,用户姓名,银行卡号

2)          身份证号码脱敏字段为生日时,生日在日志中不能打出

 

4、性能层面:

a)         接口响应时间:  接口处理数据的时间也是测试需要关注的一个点。牵扯到内部就是算法与代码的优化

b)        接口数据包大小:接口传递的数据包大小也需要关注,特别是返回给前端的接口,要把不同接口数据包大小需要做限制。

c)         并发承载能力:多用户并发时接口可以承载合同中的并发量。