接口测试基础

一、HTTP请求过程:

1、 连接:建立一个socket连接,因为socket是通过IP+端口建立的,在这之前会进行DNS解析,将域名解析成对应的ID地址。
2、请求:连接成功后,向服务器发送GET/POST请求。
3、 响应:服务器收到这个请求,进行处理,再将响应数据传送回客户端。
4、关闭连接:响应结束后,客户端与 服务器断开连接,以保证其他客户端与服务器建立连接。

二、如何分析接口

例:产品有一个需求,页面输入用户名、密码登录,在用户信息页面,可以查看用户相关信息。

从服务端开发角度分析: 用户名、密码、设备机型、系统等(用来统计)。
从客户端开发角度分析:用户名、密码、用户ID(第二个需求,用来获取用户信息)

******接口的产出:是服务端和客户端开发共同商讨完成的“接口文档”******

二、接口需求分析

结合需求文档 + 接口文档来进行对照分析:

  • 分析出需求文档中所有涉及接口的功能点,并罗列功能点相关业务逻辑
  • 分析接口功能点是否包含在接口文档中
  • 分析接口文档中描述的实现是否能够满足或者覆盖接口功能点及其业务逻辑
  • 是否需要上层服务支持,服务端是否已提交数据需求

建议先于服务端达成一致:

  • 需求宣讲完成后,优先产出接口文档(便于测试同学进行接口分析)
  • 接口文档与客户端先行确认,再进行接口开发(预防后续返工)
  • 服务端提供接口开发排期表(方便进行测试排期)
image.png
三、接口测试关注点
  • 响应结构
  • 数据来源
  • 数据格式
  • 数据正确性
  • 业务逻辑
四、接口测试-用例设计参数
  • 请求参数必选、选填(例:参数缺失服务端是否正常解析)
  • 输入合法、非法参数(例:服务端只接收int类型,传递了string类型)
  • 请求参数边界值(例:存储长度10位,传参大于10位,接口是否处理)
  • 请求参数逻辑分支(例:type=1:查询北京,type=2:查询天津)
  • 与服务端是否存在附加协议(例:交互过程中服务端需要验证head中的数据; 或者是否有加密协议)
五、接口测试-用例设计结果验证
  • 异常请求处理
  • 请求头协议
  • 响应结构
  • 所有value值的正确性、有效性
  • 数据库交互是否生效(数据库存储、修改数据是否成功)
  • 列表排序(后台处理排序逻辑)
  • 分页属性
  • 存在业务关联的是否生效
六、用例管理与维护
  • 功能测试: excel、思维导图
  • 自动化测试:脚本
七、接口测试工具及框架
image.png

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 128,859评论 18 137
  • 通过我之前工作项目中有过一些测试接口功能、性能、稳定性的经验。但是一直没有对自己的经验进行总结。这次,结合自己之前...
    晓莫莫阅读 4,544评论 8 103
  • 文章来自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鹏阅读 8,728评论 2 126
  • 论坛很多玩家都玩过dd,dd有qos功能,但是很多人开启qos并没有效果,形同虚设。其实并非如此dd的qos还是非...
    凌森阅读 317评论 0 0
  • 提前学习。 控制情绪,听一块听听的课程,接待客户。 付出投资学习 情绪
    英日粤语口译Jack阅读 40评论 0 0
  • 从今年开始逐渐的意识到该健身减肥了,于是很长一段时间里每天的饭量减到半碗,甚至晚上不怎么吃饭,坚持了一段时间后效果...
    李乐婶阅读 463评论 0 1
  • 原文 作为设计师,我们能从产品经理身上学到哪些有用于我们的特质?一起来看看Julie Zhuo是怎么说的。翻译:励...
    定Ding阅读 771评论 0 9