• 0
  • 0
分享
  • 测试进阶必备,这5款http接口自动化测试工具真的很香——软件测试圈
  • TIMI 2022-08-22 14:48:26 字数 1696 阅读 3345 收藏 0

一、先来看最优效果

要达到该点,在做接口测试前,做为测试者,我们需要非常明确自己选择测试工具去达到的核心目的。通常情况下可能有以下几个:

这里不仅仅只是说明了全流程自动化接口测试实现方案,对于常规的接口测试也进行了罗列
  1. 开发者调试接口

  2. 测试人员提前介入测试,尽早发现程序缺陷

  3. 测试人员对于系统接口回归,确保后台逻辑无缺陷,降低版本迭代风险

如是情况1或者2,在实际的项目开发过程中,这其中的空余时间不固定且零散,按照这样的预期,我们期望接口测试工具更为便捷,可以快速的配置出接口测试脚本或用例。这类接口自动化测试工具有:

1、Postman

1.png

Postman工具的优势
  • 清晰的图形界面;

  • 结合界面操作可以快速的配置接口请求信息,提供各种类型接口配置,以及数据配置;

  • 有丰富响应断言,方便对于接口进行快速验证。

Postman满足了基本常见接口测试,但是还是有部分不足的地方,下面就讲。

Postman工具的不足
  • 无法连接数据库

  • 无法进行共有的代码封装以及引入第三方插件

2、Jmeter

2.png

Jmeter工具的优势
  • C/S架构,基于java实现的工具,配置起来比较容易,更偏向于性能测试;

  • JMeter提供了BeanShell编程能力,可以写出比较灵活的测试脚本;

  • JMeter提供了比较高级的扩展能力,允许自己定义和扩展新的协议支持;

  • JMeter的社区比较完善,提供了比较丰富的协议支持;

Jmeter的不足之处:

  • 脚本缺乏灵活性,测试报告更多的偏向于性能方面;

  • 对于全自动化实现的支持不足。

3、SoapUI

SoapUI工具的优势
  • SoapUI支持REST和SOAP服务;

  • 使用拖放,点击即可轻松生成测试脚本,并可以导致代码形式测试用例;

  • 使用来自文件和数据库的数据进行强大的数据驱动测试;

  • 脚本可以轻松重用;

  • 使用RESTful模拟模拟服务;

SoapUI不足之处

  • 需要破解;

  • SoapUI对于PC资源占用大。

4、Airpost

和postman类似,非开源。

3.png

最后我们来到情况3:测试人员对于系统接口回归,确保后台逻辑无缺陷,降低版本迭代风险。

这种情况下,我们就需要选择比较完整的自动化测试框架并可持续执行。对于该实现形式主要有以下要求:

  • 可持续运行;

  • 可维护性高;

  • 丰富断言以及报告;

这里推荐一些代码形式实现接口自动化测试框架或可视化接口测试平台:

5、代码实现形式:

需要代码功底,实现功能灵活,可以根据自己需要来进行定制,以便对接口实现比较完整的测试点覆盖

Java:testng+git+jenkins+httpclient+maven+poi+jsonpath

Python:pytest+git+jenkins+requests

6、可视化接口自动化测试平台:

测试人员只要进行简单培训就能进行操作,跟平常使用业务功能系统一样,方便灵活组织、维护和运行测试用例,丰富的报告,这里提供两个开源工具平台。

EasyTest:https://github.com/lixiaofeng1993/EasyTest

Django实现的可视化接口自动化测试平台:https://github.com/githublitao/api_automation_test

二、来看最少投入

通过上面部分的阐述,相信大家对于哪个工具能达到的效果已有了一定的识别。下面我们再回过头来看到我们另一个依据,最少投入。

投入包含两部分:一是学习成本投入,二是工具本身的资金投入。

1、从学习成本来看

完整的接口自动化测试体系学习成本肯定要比Postman、jmeter这类独立工具成本高。

但Postman、jmeter这类独立工具来做接口测试,它们之间的学习难度差距不大。

2、从工具本身的资金投入来看

部分测试工具拥有比较强大的功能,但是非开源。在选择的过程中,个人建议要更偏向于使用开源工具。

三、用表格最后总结

综合上面的描述,我们用下面的表格来做个小的总结,请看:

4.png

最后结合上面的表格来选择适合自己需要的接口自动化测试工具吧。加油,最后预祝你自学也能月薪10k+。


作者:小码哥说测试

原文链接:https://blog.csdn.net/jiangjunsss/article/details/123140449

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 1、软件测试的目的是发现软件中存在的错误,提高软件质量,降低软件项目的风险。2、软件测试只能证明软件存在错误,而不能证明软件没有错误。测试的目的只是把软件的错误控制在一个可以进行产品交付/发布的程度上,可以交付/发布产品并不是没有错误的产品。3、软件测试不可能无休止的进行下去。随着测试时间的延伸,发现错误的成本会越来越大,这就需要测试有度,而这个度并不能由项目计划实际判断,而是要根据测试发现错误的概率来判断。4、第三方测试指独立于软件公司自身测试的测试,所谓第三方是指在软件公司和软件用户之间的一方,是一个中介的服务机构,第三方测试除了发现软件问题之外,还要对软件进行科学、公正的评价的职能。5、...
            12 14 5372
            分享
          • 动态关联提取cookie业务场景:有时候下一个接口需要用到上一个接口的参数,我们必须按照业务逻辑进行动态关联。一般做接口测试时候,尤其碰到某个接口需要用到上一个接口的数据,那我们就需要用到提取器来提取我们需要的数据,然后为下一个接口所用,其实就是在动态关联的时候需要用到。一定要理清楚接口的业务逻辑搞清楚当前这个接口需要用到哪些接口的哪些数据?搞清楚你需要提取的数据,在哪里,是在body中,还是在响应头中?根据不同的返回格式,需要选择不同的提取器:json提取器边界提取器正则提取器Xpath提取器1.同一线程组里的请求之间进行动态关联多个http请求处于同一个线程组内,可以通过正则表达式提取数据...
            0 0 921
            分享
          • 基于 Spring Boot 构建的 API因为基于 Spring Boot 从 0 到 1 构建一个 API,并不是本文的重点,为了不影响你对文章主要内容的把握,我直接采用了一个预先开发好的 Account API 为例展开讲解。你可以从https://github.com/SpectoLabs/spring-cloud-contract-blog下载完整的代码。这个 Account API 的功能非常简单,就是基于你提供的 ID 值创建一个 Account 对象,并返回这个新创建 Account 对象。比如,如果你的请求是“account/ID008”,那么返回的 response 就应该...
            0 0 1864
            分享
          •   任何新的职位刚开始的时候都是大家的技术参差不齐,只要能干,肯动脑,会计算机就可以在行业里找个饭吃,具体混成什么样,看本事吧。  随着现代科技的发展,软件测试行业要求越来越高,企业对于人员的需求比以前越来越专业,要懂什么技术,编程语言肯定是要会的,性能、安全、自动化甚至有的还要求测开等等。你也别觉得烦,这是事实。  总结的软件测试工程师发展规划路线,希望会给你带来灵感和方向:  ·测试基础,了解测试的基础技能,掌握主流缺陷管理工具的使用,熟练测试环境的操作与运维;  ·Linux必备知识,Linux作为现在最流行的软件环境系统,一定要掌握,目前的招聘要求有Linux能力;  ·Shell脚本...
            0 0 1634
            分享
          • 一、Bug跟踪流程Bug的生命流程从新增的opened状态开始,到closed状态结束,简单而言,Bug核心跟踪管理流程应该包括:新增:测试人员发现Bug之后新增一个Bug,并将Bug指定给对应的开发负责人,Bug状态为待DEV处理。Bug新增成功后,只有开发负责人才有权限回复这个Bug,其它人只能查看或追加回复。审核:测试人员提交bug之后,应该由测试经理和项目经理对bug进行审核,审核Bug的优先度、哪些Bug可以等到下个里程碑或版本中解决、对问题有何修改建议。这一步非常重要,避免由于测试人员的素质参差不齐而导致的软件质量问题。回复:开发人员修改问题之后,将Bug回复给对应的测试负责人,B...
            0 0 1371
            分享
      • 51testing软件测试圈微信