接口测试需要了解的?

1、什么是接口测试?

测试人员通常所说的“接口测试”是针对系统各组件之间接口的一种测试,它属于功能测试。接口能测出普通界面操作难以发现的问题。如,我们都知道系统是由前端后端组成,一些数据在前端做了校验,后端同样也需要校验才能保证安全,界面操作显然只能检查到前端校验这一层,只有直接面对前后端之间的该接口才能检验出后端是否也做了校验。

2为什么要做接口测试? 

a) 如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。

b)  接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。

c)   现在很多系统前后端架构是分离的,从安全层面来说:

      1、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易),需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。

      2、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

3、接口测试发现的问题?

1)可以发现很多页面操作发现不了的问题;

2)检查系统的异常处理能力;

3)检查系统的安全性、稳定性;

4)前端随便变,接口测好了,后端不用变;

4、接口测试的流程?

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

2)开发提供接口文档

3)编写接口测试用例

4) 用例评审

5)提测后开始测试

6)提交测试报告

5接口文档 是接口测试的参照,至少包括:

1)接口说明

2)调用url

3)请求方法(get\post ……)

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

5)返回参数说明

6、接口测试用例设计

 (1)正确性验证:首先保证接口好用,按文档正常传入,查看是否可以返回正确的结果。

 (2)参数组合: 按接口文档中对参数的要求进行有目的的组合,比如必填未填是否通过,标志类参数值的切换是否能对应正确的功能等。(这部分很关键)   (3)接口安全: 1、绕过正常值验证。 2、绕过身份授权验证。 3、参数是否加密,加密规则是否容易破解。 4、密码安全规则,密码的复杂程度校验。

 (4)异常验证:不按照接口文档上的要求输入参数,来验证接口对异常情况的反应。

7、接口测试用例模板 (可根据项目实际情况设计增减)

  1、项目 测试针对哪个项目

  2、模块 哪个功能模块

  3、用例id

  4、接口名称

  5、用例标题 测试用途概括

   6、请求方式 GET/POST

  7、请求url URL地址

  8、请求参数

  9、前置条件 执行当前请求依赖的条件,不满足就不能正确执行

  10、结果验证 预期结果

  11、请求报文 可以不写

  12、返回报文  一定要写,这里应该是你请求返回的真实结果

  13、测试结果 通过/失败

  14、测试人员

8测试http接口

  请求常见有Get请求和Post请求。Get请求通常用来接收数据,Post请求通常用来发送数据;测Get请求可用浏览器完成,参数都可以写在URL里面,测Post请求需要借助工具如Postman,因为客户端需要提供给服务器的信息较多,你要写body传输大量数据。

   接口调用有两种传参方式:key-value形式,Json串传参形式。 key-value形式可以把参数拼接在url的后面由?相连,多个参数之间用&相连;如url?parameter1=key1&parameter2=key2… ;Json串传参不能把参数直接连在url中,需要写在请求的body里面,可借助工具Postman,打开请求的body写入Json格式参数(由花括号括起来的‘键:值’对)如 { “count”: 1, “start”: 0, “total”: 1 }

9我们怎么做接口测试?

  由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。工具有很多如:postman、jmeter、soupUI、Java+httpclient、robotframework+httplibrary等

猜你喜欢

转载自www.cnblogs.com/shaoloveyou/p/11003012.html