• 12
  • 13
分享
  • 做接口测试,这3种工具到底什么时候用?——软件测试圈
  • 曼倩诙谐 2021-07-09 11:18:50 字数 1263 阅读 3358 收藏 13

  这篇文章会产生,是因为刚好有一个项目,同时用到了这两款工具,而正是工具的使用让我解放了双手,感受到了什么是高效、智能化。

  故事背景

  某个功能模块的测试数据无法通过界面操作,为了模拟出真实的测试场景,开发人员提供了一个内部的接口文档,希望通过接口调用复现真实使用环境。

  这里我大概讲一下测试流程及顺序,首先普及一下什么是Swagger UI。

  Swagger UI

  Swagger是一组开源项目,接口的文档可以在线自动生成,不需要频繁更新接口文档,保证接口文档与代码的一致性。

  这里的实时更新是它的一大优点。试想一下,有些公司基本上使用word维护接口文档,假如出现涉及到接口变更情况,文档更新不及时。

  后面查阅这份文档的人排除报错信息,再加上沟通时间,成本太大。

  人都是懒惰的,这种情况的发生很常见,而且我认为80%以上都会发生。

  那么Swagger UI的产生无疑体现了它的优势。

  使用过程

  输入接口,点击try it out。

2-1.png

  查看测试结果,一般显示200证明调用成功。

2-2.png

  验证过程,查看页面对应接口成功后是否出现图标等信息,或者查看数据库里内容值发生变化。

  思考火星

  在使用过程中,发现Swagger UI的不便利之处是网页打开,很多参数无法保存。

  比如同一个接口可能传好几个参数,存在循环测试的情况,这样我每调用一个新的参数,都需要更改一下,非常不便,于是想到了Postman。

  Postman

  关于Postman如何使用这里我就详细不介绍了。

  大致的过程是来个图比较清晰,5步走:请求方式->路径->格式->参数->发送:

2-3.png

  思考火星

  经过几轮测试发现两个问题:

  1.同一个接口我可能需要调用好几次,能不能点击一次就可以?

  2.整个流程下来部分功能有顺寻可以执行,这样我是不是可以按流程测试呢?

  有了这个想法之后发现这正是JMeter可以解决的么!

  JMeter

  总所周知,JMeter最常用的使用场景是测试性能。

  那么,做接口和做性能最主要的区别在于设置并发数的时候我们可以把次数改为1,这样相当于只循环了一次。

2-4.png

  流程这个问题可以新建几个接口记录,通过enable、disnable决定执行的时候执行哪条接口。

2-5.png

  配置多个参数

  怎样实现一个接口调用多个参数呢,这里我们使用调用csv文件,把参数内容写到csv文件内即可。

  新建csv数据文件设置、选择路径、填写调用的参数名,下面两张图的参数名称要保持一致。

2-6.png

2-7.png

  总结

  最后,以表格的形式总结下这三个接口测试工具的特点:

2-8.png

  人类在历史悠久的发展史上一共经历了4次革命,目前我们所处的时代就是第4次革命-智能化。

  软件行业亦是如此,紧跟时代的潮流,发现自身的价值是我们的使命与价值所在。技术的更新迭代都是人们认识到当前的工具无法满足人类的需求,我相信有一天会有比JMeter更智能的测试接口的工具。

  如果你还知道更智能的方式,欢迎底部留言区留言讨论~



作者:桃子   

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、说明去年写了一篇“模糊测试(fuzzing)是什么”,在最后提到可以自己手动编写实现模糊测试工具,但一直没把可行的代码放上来。其实这不是光说不练没实现,而是在去年就着手编写了,并在前段时间发现参数未做防呆处理导致设备重启上收到了很好的效果,只是一是说代码涉及产品具体业务需要进行处理二是说对之前做到一半没做完的事时常缺乏兴趣回头继续做。二、模糊测试中的几个关键问题讨论2.1 如何标识模糊测试项标识模糊测试项有两大思路:一类是sqlmap的无标识思路,另一类是burpsuite的有标识思路。sqlmap无标识思路:自动分析数据中的参数,然后逐个参数进行测试;优点是使用方便,缺点是如果协议的结构...
            0 0 2575
            分享
          •   我们总说汽车软件不同于互联网软件,要区别对待,也有很多说法,比如:  ·汽车软件的实时性要求更高  · 汽车软件的安全性要求更高  · 汽车软件与硬件耦合度更高  · 汽车软件所用编程语言不同  · 汽车软件操作系统不同  · 汽车软件的开发环境与工具链不同  ......  这些都没错,但又不怎么对。  一来是,在座舱、智驾、后台软件大举进入以及电子电气架构不断演化后,汽车软件的内涵已经有了比较大的扩展。  二来呢,这些都属于技术特性,技术差异点只能说明汽车的“软件”和互联网的“软件”,而非“汽车软件”与“互联网软件”。  我们希望能从整...
            0 0 658
            分享
          •   引言  如何保证测试的数据质量,说白了,就是如何保证测试数据的准确性。  深聊测试数据  我们想一个问题:在实际的项目测试中,我们的数据质量与什么有关呢?  是 测数数据的多少,还是测试数据的内容?  同样,我先不回答, 我们继续往下聊。  回顾,你在整个项目的测试中,我们这里以接口为例,  你会花费很长时间去构造数据,以保证每次的数据质量都是完美的吗?  纵观整个测试行业,虽然相对于早些年,现在的测试开发工程师的测试质量逐年提升,测试技术也逐年提升。  但是,随着企业的版本迭代的加速, 却很少会有测试开发工程师花费大部分时间在测试数据质量上,  或者说,不是太多的测试开发工程师具备数据质...
            0 0 1226
            分享
          •   功能测试类型的简要说明  单元测试  单元测试确保在一个段中编写的每一段代码都能产生最佳结果。开发人员在单元测试期间只看接口和确定部件。它提供了代码进展的文档,因为每个代码单元在继续下一个之前都经过了彻底的测试。  集成测试  至少对软件的两个单元测试元素进行协调和测试,以确保它们的通信是准确的。  集成测试可以通过三种不同的方式执行:  1、自上而下的方法:首先评估来自控制流的高层或设计配置所建议的模块,然后是低层模块。如果低级模块不可用,则使用存根。  2、首先尝试低级模块,然后逐步添加重要的模块,这与自上而下的过程相反。如果高级模块不可用,则使用驱动程序。  3、自上而下和自下而上的...
            0 0 1756
            分享
          • 测试过APP的人都应该发现,app崩溃是一类非常常见的问题,很多时候还是致命性的,这就要求我们测试人员要尽最大可能去找出软件当中的缺陷,减少app崩溃出现的概率,这里我将收集到的关于针对APP崩溃测试的资料以及自己的工作经验整理如下:一、APP中BUG的直接影响App的Bug会直接影响用户的体验、App 商店的评级、用户的忠诚度,声誉等等...二、App崩溃是非常常见的一类bug例如很多时候我们正在使用某个APP,正在使用着突然应用就停止响应,界面上弹出“强制关闭错误”的窗口需要强制关闭应用,而iOS的APP呢则很多使用就会出现闪退的现象,这些问题,我想都是很多人所遇到的,这些都是app常见的...
            11 11 2505
            分享
      • 51testing软件测试圈微信