接口测试基础

接口测试基础

一、    什么是接口,接口有哪些分类

    接口一般来说有两种,程序内部接口和系统对外接口。程序内部的接口是用于一个系统内方法与方法,模块与模块之间的交互,程序内部跑出的接口;系统对外的接口主要用于共享数据,提供方法给其它系统调用。

    接口分类:HTTP接口、webservice接口。

    HTTP api接口是走http协议,通过路径来区分调用的方法,请求报文都是key-value形式的,返回报文一般都是json串,有get和post等方法,这也是最常用的两种请求方式。

    webService接口是走soap协议通过http传输,请求报文和返回报文都是xml格式的,我们在测试的时候都用通过工具才能进行调用,测试。

二、    什么是接口测试、接口测试的必要性

    接口测试实际就是黑盒测试,基本的测试思路是通过输入输出判断系统的逻辑,可以更早的发现系统的bug,提高测试效率;其实接口测试就和普通功能测试没什么区别,区别就是功能测试是在页面上点点点,在页面上输入值,提交数据看结果,而接口测试没有页面,通过接口规范文档上的调用地址、请求参数,拼接报文,然后发送请求,检查返回结果。

  接口测试相对更加简单,不会受web页面的干扰,比较容易实现自动化持续集成,减少人工回归测试的成本,缩短测试周期;由于前端与后台系统开发一般是分离的,只依赖前端进行测试已经完全不能满足系统的安全要求,需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。其次一些涉及用户隐私的也需要前后台同时进行加密验证,从而进一步提高系统的质量。

     接口测试的必要性:1、可以发现很多在页面上操作发现不了的bug;2、检查系统的异常处理能力;3、检查系统的安全性、稳定性;4、前端随便变,接口测好了,后端不用变

三、    接口测试流程

1、      需求评审,熟悉业务和需求

2、      开发提供接口文档

3、      编写接口测试用例

4、      用例评审

5、      提测后开始测试

6、      提交测试报告

四、    接口规范文档

   接口规范文档也就是接口的使用文档,是进行接口测试的依据。

接口文档至少包括:

1、接口说明

2、调用url

3、请求方法(getpost)

4、请求参数、参数类型、请求参数说明

5、返回参数说明

eg:

登录接口

  • 请求URL  http://api.nnzhp.cn/api/user/login
  • 请求方式    post
  • 请求参数  参数为key-value形式

    参数名           必选          类型       说明

    username        是          string       用户名

    passwd            是          string       密码

     

    登陆用户名:niuhanyang

    密码:aA123456

 

返回参数说明

      参数名        类型                      说明

     error_code         int                错误编码,0为操作成功

     login_info          object           登录对象信息

     userId                int                 用户id

     sign                   string            签名

     login_time         string            登录时间

五、    接口测试用例设计

接口测试实际就是黑盒测试,当然设计用例的时候也能遵循黑盒测试设计用例的规则;

基本功能测试(业务):符合业务逻辑和接口使用场景的用例;

边界值测试:业务规则边界值,输入输出参数的边界值分析,覆盖所有必选参数,组合可选参数,参数有、无、null,参数的顺序、个数、类型,参数类型数值大小,输入的位数限制,参数包含特殊字符;

参数组合测试:各必填参数、非必填参数组合;

异常情况测试:重复提交、并发测试、环境异常、0数据、大量数据;

安全测试:敏感信息加密测试(前端传输是否加密,后台日志信息是否加密)、sql注入;

 

接口测试用例模板:

1、项目            是哪个项目的

2、模块            这个接口是属于哪个功能模块的

3、用例id

4、接口名称

5、用例标题      用例是干嘛的

6、请求方式      GET/POST

7、请求url         url地址

8、请求参数

9、前置条件       有依赖的时候,比如说要测登录失败3次的

10、结果验证     预期结果

11、请求报文    

12、返回报文 

13、测试结果    通过/失败

14、测试人员   

 

六、接口测试常用工具

1、切换host工具:SwithHosts 
2、抓包: Charles 、fiddler、wireshark

3、调试工具:firebug等 
4、http测试工具:Postman、HttpRequest、火狐JsonHandle 

5、webservice接口测试工具:soapUI

6、性能测试工具:LoadRunner、Apache JMeter

 

原文地址:https://www.cnblogs.com/HathawayLee/p/9481162.html