接口测试基础

接口测试

简述

接口可以看作前后端之间的桥梁,负责前后端之间的数据传输

接口测试的目标是服务端程序;把服务端程序看出一个黑盒,用工具或脚本模拟客户端程序的工作;

像客户端一样去做封包和数据发送,在服务端返回信息时再像客户端一样去解包;

接口测试与功能测试

接口测试,自动化测试都是是功能测试的一种,都是模拟用户的操作

接口测试只是没有经过前端,而是通过接口来完成的

自动化测试减少了手工操作,通过脚本来实现的,脚本还是功能性的东西

封包解包过程

客户端程序把发送给服务端的指令封装成数据包,

服务端程序处理完成指令后把需要返回的数据封包返回给客户端,

客户端拿到服务端发来的包开始解包,呈现需要显示的数据。

流程图

为什么要做接口测试

(1)更容易实现持续集成

(2)能够更早的发现bug

 可以在功能界面开发出来之前进行测试

(3)大型系统更多更复杂,系统间模块越来越多

(4)缩短研发周期

 如果将所有的测试工作都集中在功能测试阶段,那么测试的问题和修复周期将会边长,

 接口测试可以更早的介入产品研发中,可以有效的控制功能阶段的bug数量

(5)可以发现更底层的问题

 系统的有些底层逻辑在UI功能测试中不容易触发,但是不容易触发的逻辑可能存在问题,

 接口测试可以更全面的测试这些底层的逻辑

(6)检查服务器的异常处理能力

 前端的验证很容易绕过,只站在功能测试的层面很难发现一些安全问题,

 不以功能为入口的接口测试更容易验证一些异常信息

接口测试依据

需求文档

接口设计文档

接口测试策略

功能测试

边界测试

参数相互组合测试

异常测试

性能测试

安全测试

稳定性测试

接口测试流程

需求分析

接口测试用例设计

接口测试用例评审

接口测试脚本开发

接口测试脚本执行

结果分析

接口测试的落地过程

 

需求阶段

(1)测试人员需要了解项目需求是什么

(2)满足了用户哪些需求点

(3)解决了用户什么痛点

研发阶段

(1)测试设计

(2)测试开发

测试阶段

(1)环境搭建

(2)多项测试并行

(3)BUG修复

(4)测试报告

说明:经过了几轮测试,耗费了多少时间,几轮测试中执行了哪些测试用例,发现了哪些问题,我写了多少case,发现的bug,解决的百分比

项目上线阶段

(1)项目上线

(2)线上回归测试

(3)上线报告

(4)添加监控

说明:监控接口,比如监控接口的端口号是否活着,

即便端口号活着,程序却不跑,假死状态,起个定时

任务定时监控一个接口,若发现异常发邮件报警

接口自动化技能要求

(1)开发语言

  java/python

(2)测试框架

  TestNG、HttpClient

(3)Mock技术

  模拟所有的接口、集成,支持前后端分离开发

(4)数据持久层框架

  MyBatis

(5)持续集成工具

  Jenkins

(6)接口基础

  HTTP接口熟悉

  常见的接口(post,get,delete,put)

  接口工具的使用(postman,SOAPUI,jmeter,fiddler)

  接口开发

(7)Unittest与接口测试的结合

  Unittest的使用

  Requests的引入使用

  HTMLTestRunner

  断言

  case管理

(8)自动化测试框架开发

  设计框架

  工具类封装

  基类封装

  调试错误

  数据处理

  回写测试结果

  解决数据依赖

  结果统计

  邮件服务

  发送报告

(9)接口测试查缺补漏

  操作数据库

  操作cookie

参考资料:java接口测试

原文地址:https://www.cnblogs.com/marton/p/10777746.html