• 0
  • 0
分享
  • 10K的测试人员!!因为不懂接口测试被开除了——软件测试圈
  • 恬恬圈 2023-05-05 15:12:18 字数 2169 阅读 798 收藏 0

  接口测试系列

  为什么要做这个事情? 对自己过往在接口测试上的经验,写一个小结的还有对于自己同事的这件事感到无能为力,希望写出这篇文章能给你们带来一点点帮助,这篇博文写的是一个系统性的思考和知识构建。发布的同时,也是希望获得更多感兴趣的同学的意见和反馈,可以把这个部分做的更好。

  接口测试概述

  什么是接口

  现在的项目中基本是构建在各种API中。有自己提供的API,有调用别人的API。API就像是钥匙,每个门都需要钥匙去打开。要想去打开门,没有钥匙怎么行呢。所以API之所以重要,就是因为它是网络世界的通行证。

  对于程序来说,API就是提供给被人调用的方式,它会规定应该怎么使用。其中包括:协议,地址,参数和响应等。

  为什么要进行接口测试

  接口在微服务流行的当下,地位是非常重要的。因为服务跟服务之间,都是用接口进行的交互。而对于测试来说,UI是不稳定的,单元测试很多是开发负责。而接口是切入点更合适,稳定性更好的一种测试方式。这种测试方式的优势就在于成本和收益的平衡。既不用花去很多成本看不到收益,又可以很好的体现出对于质量的把控。所以,接口测试在当下的测试行内来说,是恰当的存在。

  接口测试的分类

  接口测试从协议上来说,可以分成下面几类:

  ·TCP协议接口

  · HTTP协议接口

  · RPC协议接口

  TCP协议其实就是socket接口,一般在企业级开发中很少碰到。HTTP协议,这是最常见也是最重要的,里面涉及到很多使用细节,后面会详细讲述。RPC协议,常见的有Dubbo和其他自研的RPC协议,一般都是构建在TCP或者HTTP之上的。这种协议的特点就是有自己的一套架构,使用他们提供的架构进行测试就可以了。很多需要自己写代码进行测试。

  收益

  对于接口测试的收益,可以从两方面进行衡量。一个是接口的覆盖程度,一个是接口测试的效果。覆盖程度很好理解,就是多少场景覆盖。效果的衡量就不是那么好做了。一般是用代码覆盖率和每次发布自动化测试程度进行衡量。

  接口测试工具介绍

  现在市面上的接口测试基本上是两种:接口测试产品和接口测试平台。接口测试产品有postman,jmeter,charles等都是目前比较主流的。而接口测试平台基本上是自研或者开源的平台产品,在此我比较推荐的是YAPI,能想到的接口测试的功能基本上都有。

  工具比较

  下面我们对常用的工具进行一个简要的说明,其实不是一个很全面客观的评测,而是针对自己的理解做了些脚注。

  postman HTTP接口很全面的测试工具。有参数化、数据驱动、批量执行、自定义断言,并且可以多端同步。

  jmeter 偏向于性能测试,也是针对HTTP接口的。有参数化、Hook、批量执行等,基本针对单机版应用场景。配合性能测试会更适合。

  charles偏向于网络抓包,也是针对HTTP接口。接口测试功能上稍弱。用的不多。从上面可以看出,postman很适合做HTTP接口的测试工具。如果有debug需求可以用charles,如果有性能需求可以用jmeter,如果是单纯的接口测试,个人认为postman基本上覆盖了所有场景。后面我也会从场景角度对postman进行深度的剖析。

  接口测试平台

  其实,在接口测试平台维度,也有几个好的产品,我个人比较推崇YAPI。因为他的切入点很好,现在生态也做的比较强大。

  从YAPI产品设计的角度说,接口测试平台需要解决这么几个场景:

  ·接口文档可视化,需要在平台上展示接口文档,让开发和测试有统一的入口

  · 平台支持接口测· 试的场景:参数化、数据驱动、断言等

  · 平台可以提供mock服务和调试手段

  · 协作方式,从项目或者应用角度作为入口,组织接口和测试用例集合。

  当然,除了YAPI,Hitchhiker也是不错的产品。

  如果想学习软件测试,就快加入:893694563,群内学软件测试,分享技术和学习资料,陪你一起成长和学习。

  上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4个月完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

  群里大部分资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

  如果你测试中有许多的困惑,那么我创建的软件测试技术交流群将会是你接触良师益友的有益社区,同行或许可以给你带来一些实际性的帮助与突破。

  小结

  这篇文章列出了一些工具和平台,如果作为一个接口测试的初学者,大家可以用postman。如果想用平台方式,让团队可以协作的进行接口测试,建议试下YAPI。



作者:码上开始    

来源:http://www.51testing.com/html/59/n-6146059.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   苹果公司暂时停止了即将推出的 iOS、iPadOS、macOS、watchOS 和 visionOS 更新的新功能开发工作,以便集中精力提高质量和消除错误。软件工程主管克雷格-费德里吉(Craig Federighi)上周下令暂停开发一周,因为内部测试发现早期版本的软件存在太多"逃逸"的问题或错误。  据彭博社记者马克-古尔曼(Mark Gurman)报道,所有负责明年软件更新的苹果开发人员的任务都是修复已知问题和提高性能,而不是增加新功能。这次暂停将影响 iOS 18 和 iPadOS 18 的代号为"Crystal"的操作系统版本、macOS 1...
            0 0 437
            分享
          • 混迹于软件测试行业8年有余,这么长时间了,一直想写一篇关于软件测试的经验分享的文章,但苦于工作原因迟迟未下笔。最近终于有了些闲余时间,遂决定把自己的心路历程及所感所想记录下来,与各位同行共勉。软件测试工程师必备的27个基础技能,纯干货分享!以我多年的工作经验来看,软件功能测试是基础,未来发展方向主要有两方面(技术专家、测试管理)。一、技术专家发展路线有如下三方面,可供参考:1、从功能测试到性能测试专家:性能测试专家需要掌握一门编程语言、性能测试工具、系统架构、网络、数据库、服务器硬件等知识。性能测试分为前端性能测试(单用户操作系统响应速度),后台性能测试(多用户并发场景)。后台性能测试包括三个...
            0 0 709
            分享
          • 授权1、微信授权:目的:获取union id,拿到用户数据,如昵称、性别、头像;触发:调起授权弹窗需用户主动触发;2、手机授权:目的:获取用户绑定微信的手机号码;触发:调起授权弹窗需用户主动触发;审核1、ICP社交等类型小程序,提交微信审核时,需要ICP证书,证书申办时间需要3个月,需尽早准备2、相关部门审核社交等类型小程序,第一次审核时,需提交相关部门审核,审核时间为7个工作日开发阶段1、第三方设置小程序若需要接第三方插件,如诸葛io时,需后台配置授权才可以使用;2、转发所有页面若需要转发,需要开发配置;分享后的卡片样式需准备:标题文案、配图,二次分享卡片文案需另外配置;3、深度页面通过分享...
            11 11 764
            分享
          •   Web方面的测试,就是我们通常所说的是对在浏览器运行的页面进行测试。也即是B/S结构的测试。  Web测试,其实是前人通过总结而来。具体指下面几个方面:web测试点  1、链接  指方面的URL地址;要点:  1) 检测是否正确;  2) 检测是否明文或者加密显示;  3) 修改URL的子路径,如输入不存在的URL地址,检测页面是否有404错误页面提示。  4) 检测URL地址是否能正常跳转等等。  2、界面  1) 检测UI排版是否正确;  2) 检测界面的按钮或者可操作的功能,是否显眼;重要的功能或者文字是否高亮显示。  3) 图片是否快速显示;  4) 数据是否快速加载显示等等  3...
            0 0 458
            分享
          •   下坡路?  测试员干到30岁,好不容易从测试小白混到了白领,却再也干不动了,还时时面临失业的危险。30岁,是一个测试员伤不起的年龄。明天,何去何从?  30岁现象  还有机会吗?  在官场上,曾经有一个59岁现象,就是官员们会在59岁时,会使劲捞上一把。很明显嘛,权力过期作废,再不捞就要退休了,没有机会了。  在测试员的圈子里,也有一个30岁现象。当然,如果你有铁饭碗,比如以前在国企或政府机关,那你是无法理解底层劳动人民的感受的。同时也要恭喜你成为体制内的一员,可以一直干到退休无忧。不过现在随着制度改革,也是空想了。  30岁现象人人都明白,但要给出一个定义并不容易。  列举几个表现,也许...
            0 0 480
            分享
      • 51testing软件测试圈微信