5年经验之谈 —— 手把手教你接口性能测试之基础知识篇!

1123 篇文章 44 订阅
834 篇文章 2 订阅

本文是《手把手教你接口性能测试》这一系列文章的开篇,笔者将从本文开始给大家介绍如何使用JMeter工具进行接口性能测试,希望能起到一个抛砖引玉的作用。

   手把手教你接口性能测试这一系列文章将会分成3个部分:
        1. 开篇:介绍接口测试的基础知识;
        2. 中篇:介绍常用的接口测试工具;
        3. 完结篇:介绍Jmeter的接口测试以及并发测试。


什么是接口

    首先,让我们看看接口的概念。接口一词的英文原文是 interface,原本就是一个计算机科学词汇。

接口可以有多种类型:

  1. 用户界面:人机界面(user interface,UI)

  2. 软件接口:代码之间、软件硬件之间的接口(software interface)

  3. 硬件接口:线缆、插头、插座等等

举个生活中的例子来理解下什么是接口
      相信大家都去过麦当劳,我们仔细观察下它是如何准备你的订单商品的。

如果你付完钱后的订单上有一个汉堡,工作人员会先找汉堡的原材料,如面包片、肉饼和生菜等,按照规定的步骤将这些原材料组合成一个汉堡,然后送到你手中;

如果你付完钱后的订单上是一份薯条,那么工作人员则会进入另一个工作流程,先找到薯条原材料和炸薯条的锅,把薯条炸好后,送到你的面前。

在上面例子中,汉堡以及薯条的原料就是接口中必要的条件入参,也就是接口的特定输入;你付钱后才会生成订单,就是接口中的鉴权机制,制作汉堡或者烹饪薯条的过程,就是接口内部处理的逻辑;送到你面前的汉堡或者是薯条就是接口的处理结果和特定输出,即返回参数。

    我们可以简单理解,接口就是有特定输入和特定输出的一套逻辑处理单元,其本质就是一种锲约,遵循这样一种形式:在开发前期,约定接口会接受什么数据,在处理完成之后,它又会返回什么样的数据。

接口的分类

接口可以根据以下几个大类进行划分:

  • 按照语言划分

Python、Java、C、C++ 等等

  • 按照协议划分

HTTP、FTP、TCP\UDP\IP、Dubbo 等协议接口

  • 按照内外系统划分

内部系统接口和外部系统接口 (又叫第三方接口)

  • 按照技术应用划分

HTTP 协议、Web Service、RESTful、RPC 远程过程调用型、Web Socket、FTP、Dubbo 协议等等

接口访问形式

接口访问形式可以分为公开接口和私有接口。

其中公开接口为不需要认证用户信息,加密信息直接访问的,

而私有接口则是需要验证用户会话状态,甚至需要对数据进行加密、解密和签名才能访问。

什么是接口测试

    接口测试官方解释是测试系统组件间接口的一种测试,接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点联系,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

    简单来说接口测试就是检查数据的交换,传递和控制管理的过程。

    我们还是以麦当劳的汉堡为例,接口测试就是要要验证制作汉堡的过程是否正确。即既要验证输入了汉堡的原材料,经过制作汉堡的处理流程,最后交付给你的是一个汉堡;又要验证在输入的汉堡原材料不对或者完全不全的情况下,经过制作汉堡的处理流程后,不能交付给你一个汉堡。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

接口测试为什么重要

    测试人员都听过这样的一句话:测试要尽早介入,测试进行的越早,软件开发的成本就越低,就越能更好的保证软件质量。”
    但是如何尽早的进入测试呢?作为测试人员,你一定听说过分层测试,即著名的金字塔模型。金字塔模型将测试流程自下而上拆分成三个层次:单元测试,接口测试以及界面测试。每个阶段所占面积的大小,代表了他们在测试过程中投入和工作量的占比以及运行效率。

    但随着敏捷开发以及项目交付工期的压力,开发人员对于单元测试的编写逐渐的减少。为了保证产品的质量,会采用提高接口测试的比重,来弥补单元测试的不足。故金字塔模型就逐渐演变成了菱形模型,即遵循 “重量级 API 测试,轻量级 GUI 测试,轻量级单元测试” 的原则。

接口测试的优势

做接口测试有什么好处和优越性呢?有以下几个方面来看

  1. 接口测试更容易和其他自动化系统相结合

  2. 相当于界面测试,接口测试可以更早开始,也可以测试一些界面测试无法测试范围,因此它使 “测试更早投入” 这句话变成了现实

  3. 接口测试还可以保障系统的鲁棒性(Robust 的音译,也就是健壮和强壮的意思),使得被测系统更健壮。

总结

    主要是讲解了什么是接口,接口测试在测试什么以及接口为什么重要。主要是需要记住以下几点

  1. 接口测试是通过设计输入和预期输出来完成测试验证,故测试用例设计等方法在接口测试中亦可以通用

  2. 接口测试是一个技术知识和业务知识相结合的工作,可以更好的提升自己的技术水平

  3. 接口测试也是功能测试,与界面测试不同之处,仅仅和我们交互的,不再是开发工程师设计的界面,而是测试工具或者代码。 

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值