【接口测试】

什么是接口测试

在做接口测试之前,我们要明白,什么是接口?为什么要做接口测试?接口测试应该从测试的哪个阶段开始执行?怎么样才算完成一个接口的测试?

 

 

一、什么是接口?

方法与方法之间、模块与模块之间、系统与系统之间、服务于服务之间的数据交互,统称为接口

 

 

二、为什么要做接口测试?

  1. 可以让测试更早的参与到项目测试工作中
  2. 可以更早的发现一些程序内部的缺陷
  3. 可以发现很多被前端限制提交参数所引发的内部缺陷
  4. 检查系统处理异常的能力
  5. 检查系统的安全性、稳定性、可靠性

 

三、接口测试应该从项目工作的哪个阶段开始执行?

应该从后端服务建立完成后,形成初步的接口文档后,开始执行;在这个阶段做接口测试,可以有效的预防前端在调用接口的时候,出现数据无效、类型错误、返回值错误等问题

 

 

四、怎么样才算完成一个接口测试?

  1. 接口返回值与预期结果一致
  2. 接口返回数据类型与断言类型一致
  3. 接口错误信息返回值,与对应的状态码一致
  4. 在确定该接口返回的所有数据与预期一致,则该接口测试完成

 

 

如何开展接口测试工作

一、 接口文档

接口文档一般是由开发者提供,在项目开发中,前后端的联调需要用到接口文档,当然也有一些公司是没有接口文档的,因为他们的前后端可能是同一个人,当然这是不规范的;在开始接口测试工作之前,我们拿到接口文档后,应该对接口文档做初步测试

  1. 接口地址是否规范
  2. 接口类型是否明确(get/post/delete/put
  3. 需要请求头的接口是否有写(请求头:user-agentcookiecontent-types
  4. 接口参数数据类型、是否必填、固定参数和固定参数的说明
  5. 返回值数据格式、类型、固定返回字段
  6. 返回状态码所对应的说明

二、 测试工具

接口测试的工具有很多种,比较常用的有:FiddlerJmeterPostmanApifox

也可以使用PythonJava等语言代码来实现接口测试:PythonRequestsurllibJavaHttpClientRestTemplate

三、 数据准备

将对应接口中需要提交的数据,保存在如ExcelText等文件中,分类保存数据的可重复性和唯一性的特质,在调用的时候,可以有效的避免需要唯一性数据的接口,提交重复的数据,导致接口返回值错误

四、 执行测试

使用测试工具/代码,填写对应的测试接口域名和接口地址,提交相关参数,注意文档中接口请求的方式(get/post),是否需要添加headers,并添加结果断言,保证接口数据的正确性

五、 测试报告

在测试报告中,填写:测试时间、测试接口、覆盖率、测试结果、测试人以及对应的测试数据

XXX接口测试报告

测试人

 

测试时间

 

接口数量

 

覆盖率

 

测试总结

 

编号

接口地址

请求方式

请求参数

实际结果

001

/api/content

get

通过

002

/api/user

post

Id=1234

date=”20210309” 

未通过

 

接口测试用例的规范

命名规范

  • 文件命名:与实际被测的接口相关命名,以test开头,下划线分割(test_del_user
  • 类命名:与被测接口相关,以Test开头,驼峰形式命名(TestDelUser
  • 函数命名:与实际被测场景相关,以test卡头,下划线分割(test_del_invalid_user
  • 变量命名:请求参数以dataparams 返回值以resultresponse

代码编写规范

  • 格式规范:变量和url路径尽量写在初始化函数set_up中,特定处理函数,需要增加备注信息
  • 类备注: # 删除用户
  • 函数备注:双引号备注 ” 删除失效的用户

断言规范

  • 必须增加code值的断言
  • 断言返回值文本类容尽量参数化
  • 必要返回值,必须断言

覆盖规范

  • 覆盖多场景
  • 覆盖参数缺失
  • 覆盖参数异常
  • 覆盖缺少用户鉴权信息
  • 覆盖越权操作

复用性规范

  • 测试结束后,数据归零
  • 选择定制用户信息,保证数据重复性
  • 保证接口的可重复性、稳定性

接口测试用例的日常维护

异常后的维护

  • 首先需要模拟测试一遍,确定接口是否确实存在问题;
  • 然后通过测试定位出是接口代码的问题,还是服务器的问题;
  • 提交bug单后,持续更进,提交的接口缺陷,不可遗留超过1

新增后的维护

接口新增后,需要及时增加相应的接口,保证接口测试的完整性

  • 确定新增的接口是否与其它接口有关联;
  • 通过本地测试通过后,新增接口测试用例,上传到代码仓库;
  • 手动构建测试任务验证;

修改后的维护

当接口因业务需要修改后,需要找相应的开发,及时更新对应的接口用例代码,如果接口文档中未及时更新,可要求开发更新文档

  • 确定修改后的接口,影响的范围;
  • 查看关联接口是否有影响;
  • 修改相应的接口,本地重复验证(需要结合前端程序查看实际结果);
  • 验证通过后,上传到代码仓库;
  • 手动构建测试任务验证;
posted @ 2021-03-09 15:12  情调丶  阅读(246)  评论(0编辑  收藏  举报