干了三年测试,就因为我不懂接口测试,被领导开了,怪谁?_测试

接口测试系列

  众所周知,中小企业中接口测试是绕不开的话题,就体现了在企业中的重要性,如果一个测试人员不懂接口测试,是很丢脸的。哈哈【结尾有学习资料分享】

接口测试概述

什么是接口

  T现在的项目中基本是构建在各种API中。有自己提供的API,有调用别人的API。API就像是钥匙,每个门都需要钥匙去打开。要想去打开门,没有钥匙怎么行呢。所以API之所以重要,就是因为它是网络世界的通行证。
对于程序来说,API就是提供给被人调用的方式,它会规定应该怎么使用。其中包括:协议,地址,参数和响应等。

为什么要进行接口测试

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

接口测试的分类

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

  • TCP协议接口
  • HTTP协议接口
  • RPC协议接口

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

收益

  T对于接口测试的收益,可以从两方面进行衡量。一个是接口的覆盖程度,一个是接口测试的效果。覆盖程度很好理解,就是多少场景覆盖。效果的衡量就不是那么好做了。一般是用代码覆盖率和每次发布自动化测试程度进行衡量。
干了三年测试,就因为我不懂接口测试,被领导开了,怪谁?_自动化接口_02

接口测试工具介绍

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

工具比较

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

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

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

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

接口测试平台

  其实,在接口测试平台维度,也有几个好的产品,我个人比较推崇YAPI。因为他的切入点很好,现在生态也做的比较强大。
从YAPI产品设计的角度说,接口测试平台需要解决这么几个场景:

  • 接口文档可视化,需要在平台上展示接口文档,让开发和测试有统一的入口
  • 平台支持接口测试的场景:参数化、数据驱动、断言等
  • 平台可以提供mock服务和调试手段
  • 协作方式,从项目或者应用角度作为入口,组织接口和测试用例集合。
  • 当然,除了YAPI,Hitchhiker也是不错的产品。

干货分享

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

如果对软件测试、接口测试、自动化测试、技术同行、持续集成、面试经验交流。感兴趣可以进到893694563,群内会有不定期的分享测试资料。
如果文章对你有帮助,麻烦伸出发财小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。