一、简介和分类
1、什么是接口?
软件提供给外部的一种服务,用于做数据传输
2、为什么需要接口?
接口能让内部数据被外部修改
3、为什么要接口测试?
系统组件之间的一种测试,前后端分离,开发进度不一样,需要把一开始开发出来的接口进行测试,mock。
基于安全考虑,前端有验证很容易被绕过去
测试尽早介入
分类:
测试外部接口:测试被测系统和外部系统之间的接口。(只需要测正例)
测试内部接口:
1、内部接口只提供内部系统使用。(只需要测正例)
2、内部接口提供给外部系统使用。(测试需全面,正例,反例各种场景)
本质:测试接口是否可以正常交互数据,权限控制以及异常场景。
二、流程及用例设计
1、通过接口api文档(通过抓包工具获取),熟悉接口业务,接口地址,鉴权方式,入参,出参,返回码
2、编写接口用例及评审。
思路:
正例:
输入正确入参,接口能够成功返回数据。
反例:
鉴权反例:
鉴权码为空,鉴权码错误,鉴权码过期。。。
参数反例:
参数为空,参数类型异常,参数长度异常。
错误码覆盖:
根据业务而定。
其他错误场景:
接口黑名单,接口调用次数限制,分页场景
3、使用接口测试工具postman执行接口测试。
4、postman+Newman+Jenkins实现持续集成,输出测试报告并且发送邮件
三、接口返回数据和JSON详解
1、json格式:三组数据
{error_code:0,msg:"提现成功",data:[]}
错误码,0代表成功;对错误码的中文说明;真正返回的数据
一种数据类型;由两组数据类型组成:MAP对象,键值对{key:value...};数组[value1,value2]
2、html格式
3、xml格式
四、接口测试协议
1、webservice协议
接口地址: http://...................?wsdl
http://192.168.31.11:8080/adduser
soap协议,wsdl
restful规则:
get获取数据,post提交数据,put修改数据,delete删