你真的了解接口测试吗?

文章目录

  • 一、前言
  • 二、接口测试基础理论
  • 三、为什么要进行接口测试
  • 四、如何开展接口测试
    • 4.1、接口开展方式
    • 4.2、接口测试流程
    • 4.3、接口测试需求
    • 4.4、接口演示(王者荣耀、企业微信接口演示)
    • 4.5、接口测试用例设计
    • 4.6、后端接口测试内容
  • 五、知识学院(扩展知识与疑问收录)
    • 5.1、扩展知识收录解答
      • 5.1.1、GET与POST的区别
      • 5.1.2、HTTP状态码详解
      • 5.1.3、session和Token详解
    • 5.2、疑问收录解答
      • 5.2.1 后端接口与前端均测试了一遍,是否重复测试了/li>
      • 5.2.2 没有前端界面已经测试后端接口了,完成前端后还需要再次测试吗/li>
      • 5.2.3 公司里没有接口需求文档,又收到了测试任务,如何处理/li>
      • 5.2.4 接口测试在执行测试中属于什么测试阶段/li>
      • 5.2.5 什么样的接口是个好接口/li>

一、前言

??

二、接口测试基础理论

??接口测试:接口测试是测试系统组件间接口的一种测试,主要用于测试系统与外部其他系统之间的接口,以及系统内部各个子模块之间的接口。 – 百度百科
??接口原理:模拟客户端向服务器发送请求 文,服务器接收请求 文后对相应的 文做判断并将最终结果返回至客户端,客户端再次接收返回结果并应答的过程。
??检查重点:测试的重点是检查接口参数传递、接口功能实现、输出结果的正确性,以及对各类异常情况容错处理的完整性与合理性。
??接口类型:内部接口及外部接口,内部接口为程序开发的接口,方法之间或模块之间的调用,外部接口为外部接入调用接口,例如王者荣耀的微信登录、支付宝的支付功能等,均是外部接口。
??接口分类:webservice接口及http api接口,webService接口使用soap协议传输,通过http进行传输,是HTTP POST专用版本之一,遵循一种特殊的xml消息格式(请求及返回均为xml),http api接口使用http协议,通过路径来区分调用的方法,通过key-value请求,返回 文通常为json。
??接口本质:接口的本质上是一个公开的函数类,进行数据传输的发送与接收,可以理解成一条通道,在发送get或post请求方式时,实际上就是从通道进行发送、在由服务器从通道返回数据。
??测试范围:接口功能、接口性能、接口稳定性以及接口安全性等。

4.3、接口测试需求

简单介绍接口信息中对应信息所产出的内容:

模块名称:登录、支付等 子模块名:微信登录、QQ登录、手机 登录 业务描述: 简洁概括接口的功能 接口名称: /login/wechat,/payment/personal 请求方法: GET / POST 等 请求格式: application/x-www-form-urlencoded 响应格式: application/json 请求参数: 手机 、登录密码(包括变量名、类型、说明注释、是否必填) 结果说明: 参数内容、变量名、类型(例如string),返回状态码等 返回示例: 返回成功的举例,下方4.4接口演示中有图片体现

?
ps:并非所有的接口文档都很规范,绝大多数的需求文档中不会有如此详细的信息说明,具体情况大家依据公司接口文档为准即可。

4.4、接口演示(王者荣耀、企业微信接口演示)

??
笔者在这里进行一些接口的演示,帮助大家了解接口、熟悉接口需求和说明~

王者荣耀接口展示如下:

英雄列表:

??接口地址:https://pvp.qq.com/web201605/js/herolist.json

??请求方式: GET

??输入参数:

??输出参数:

参数名称 类型 参数描述
[] list 英雄列表
ename int 英雄id
cname str 中文名称
title str 皮肤名称
pay_type int 支付类型
new_type int 新类型()
hero_type int 英雄主类型(坦克、法师)
hero_type2 int 第二类型(辅助、坦克)
skin_name str 准备属性表述

返回结果(部分展示):

用例序 :项目名称_模块名称_序 接口模块:对应的接口模块,例如英雄列表、召唤师技能,企业微信的登录模块、语音模块等 请求方式:通常请求方式为GET、POST 接口地址:通常有固定的地址格式便于接口自动化测试(图中的是全地址) 接口参数输入:部分接口不需要接口参数的输入,部分存在接口输入,如果有,填写即可

用例设计重点及关注点:

(1)发送给服务器的请求数据是否正确; (2)服务器返回给客户端的数据是否与需求一致,符合预期; (3)查看数据库中接口是否实现对应功能; (4)接口的响应时间是否符合需求文档要求

接口用例设计考虑的范围

1、业务功能:功能是否实现 2、业务规则:定义的描述是否符合预期 3、请求参数:参数的长短、大小、格式等 4、异常场景:传参异常、操作异常、服务异常等 5、数据传输:数据传输结果的正确性 6、接口性能:接口性能的正确,例如并发等 7、接口安全:如支付类、充值接口的数据篡改等

?
ps:在以上范围内还需要考虑接口的用例覆盖率及代码覆盖率,至少符合预期

??

4.6、后端接口测试内容

??
session会话机制:
??原理:当用户登录时,发送用户名和密码之后,服务端会给客户端生成一个sessionid,标明这是属于哪一个用户,然后在sessionid中存储该用户的数据。服务端通过cookie的形式把sessionid返回给客户端。每次客户端请求该服务时,会自动带上sessionid这个cookie。服务器接收到后查询有没有存储sessionid的信息

session特点:

??1.存储在服务端,占用服务器非常多的存储资源,导致服务器压力增大
??2.响应速度慢
??3.CSRF跨站伪造请求攻击
??4.Cookie无法跨越,涉及到多个服务的跨域操作,有很大的局限性,拓展性不强

??
token安全令牌机制:

解决办法:
??签名: token是由服务端签发生成的,只有服务器才知道签名,从而保证信息不会被伪造

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月2日
下一篇 2021年11月2日

相关推荐