专栏首页搜狗测试接口测试之文件重定向法

接口测试之文件重定向法

前言

在开始话题之前,先讲述一个故事。 同学A:客户端代码层开一个接口,将数据传给前端,前端接收到之后处理数据,B同学,这种接口该怎么测试呀? 同学B:这块目前没有太好的办法,只能通过单元测试验证。 同学A:可是我不会写代码呀,另外项目周期这么紧张,也来不及进行单元测试。 同学B:以往就是提醒一下开发,记得在调用接口时加保护,以免出现接口调用出现崩溃的情况,然后我们记个风险,因为组内会代码的同学太少了。 同学A:但是一切风险皆bug呀! 同学B:没办法,没有太好的办法,现在只能这么办。 同学A:…………………

正文

上述的故事或多或少会在测试工作中遇到,这种情况下,我们真的无计可施了吗?答案肯定的是“NO”,今天就给大家介绍一种适用的测试方法,文件重定向法。 文件重定向法 实现原理: 由正常的的逻辑调用(红色曲线),改为从测试服务器访问数据(蓝色曲线)。

部署方法: 第一步:部署一台测试服务器,找一款可以访问服务器的软件,例如:WinSCP; 第二步:前端预先将客户端返回的数据格式以及数据字段保存在本地,例如:test.json; 第三步:测试同学根据需要修改test.json内的数据信息,然后将test.json部署在测试服务器(名称以及路径一旦确定不要修改,避免前端无法找到数据); 第四步:前端将访问客户端的接口改为访问test.json地址,读取test.json数据; 适用范围: 代码层的接口数据输入输出,不区分web端or移动端; 收益和成本: 根据我之前从事的一个项目为例,列举一下该方法的成本,收益,风险以及不足。 成本: 成本一:测试需要了解客户端接口返回的数据信息(成本可以忽略,因为无论是否需要测试,都需要了解的环节); 成本二:前端负责在代码层调用客户端接口时,转向访问测试数据地址,工作量20分钟; 收益: 收益一:前端调用客户端接口测试覆盖率由0%~100%; 收益二:可以验证接口调用时机是否正确;以及对于数据处理是否正常,例如:此次项目实践发现bug三处; ①前端调用客户端接口,存在刷新H5页面不调用的问题; ②对于客户端传来的null值,显示undefined,没有显示默认H5页面; ③前端调用客户端接口,在页面加载完成之后才调用接口,时机较晚,导致概率性无法正确获取到客户端传来的数据。 收益三:测试人员不需要编写代码,普通测试人员都可上手操作; 由于测试数据地址是在前端调用客户端接口时访问,因此可以根据是否访问测试数据地址时机以及次数,验证前端调用客户端接口是否存在问题; 风险以及不足: ① 涉及到前端增加测试代码,因此在上线前一定要注释掉或者摘除掉,如果有可能,可以做成模块化;

总结

此外,小编还写过类似的文章,链接如下: https://mp.weixin.qq.com/s/JRwwwPX0kUtSQ576X0lnUA 欢迎大家留言,有不足之处,请批评指正~

本文分享自微信公众号 - 搜狗测试(SogouQA),作者:songzhidong

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 初识session、cookie和token

    由于之前接触的项目业务特点,小编还没有深入了解过session、cookie和token机制,直到最近开启了一个新项目,新项目因为涉及到“钱”,必须知道要给每个...

    用户5521279
  • 语音评测之——websocket

    前段时间小编收到一份测试任务要求对搜狗输入法的语音功能进行评测。评测任务主要拆分为评测语料的选取和整理,硬件的调研和采购,评测工具的开发以及评测的执行和结果整理...

    用户5521279
  • 接口自动化测试--准备阶段

    客户端(前端)与服务端(后端)的关系,一般小编会理解为“服务端负责赚钱养家,客户端负责貌美如花”。客户端更注重的是功能呈现及用户体验,怎么将强大的功能...

    用户5521279
  • Apache Cassandra 数据存储模型

    我们在《Apache Cassandra 简介》文章中介绍了 Cassandra 的数据模型类似于 Google 的 Bigtable,对应的开源实现为 Apa...

    大数据和云计算技术
  • 分布式缓存Redis之发布/订阅(Pub/Sub)

      本学习教程所有示例代码见GitHub:https://github.com/selfconzrr/Redis_Learning

    猿哥
  • 「镁客晚报」iOS9.1系统更流畅,苹果推ResearchKit,未来将助力医疗事业

    镁客网
  • Linux进程上下文切换过程context_switch详解--Linux进程的管理与调度(二十一)

    因此当前linux的调度程序由两个调度器组成:主调度器,周期性调度器(两者又统称为通用调度器(generic scheduler)或核心调度器(core sch...

    233333
  • [C#2] 5-迭代器

    1.枚举数 枚举数是循环访问其关联集合的对象。它可被视作指向集合中任何元素的可移动的指针。 一个枚举数只能与一个集合关联,但一个集合可以具有多个枚举数。C#的f...

    blackheart
  • face++人脸识别

    该系统主要分为: 1.数据库:500万张图片和2000个人,而且删除了LFW中特有的人,其分布如下(网上搜集的图片有一个长尾效应:就是随着图片数量的增加不利于网...

    瓜大三哥
  • JAVA版孔乙己

    听人家背地里谈论,孔乙己原来也是计算机硕士,但终究是因为打撸啊撸时间太长,忘了新生代和老年代的区别,去IT类培训学校做了一名学生

    哲洛不闹

扫码关注云+社区

领取腾讯云代金券