热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

什么是接口、接口测试、接口自动化测试、你分的清楚吗?

目录前言:服务端接口测试介绍什么是服务端?什么是接口?什么是接口测试?为什么要做接口测试?如何做接

目录

前言:

服务端接口测试介绍

什么是服务端?

什么是接口?

什么是接口测试?

为什么要做接口测试?

如何做接口测试?

接口测试自动化介绍

为什么是接口测试自动化?

为什么要做接口测试自动化?

接口测试自动化的规范

接口测试自动化框架选型

 总结:





前言:

本文包含了我在接口测试领域的一些方法和心得,希望大家一起讨论和分享,内容包括但不仅限于:


  • 服务端接口测试介绍
  • 接口测试自动化介绍
  • 接口测试自动化实践
  • 关于接口测试自动化的思考和总结

服务端接口测试介绍

什么是服务端?

一般所说的服务端是指为用户在 APP 或 PC 使用的互联网功能提供数据服务的背后的一切。以天猫精灵智能音箱系列的产品链路为例,服务端便是网关(包括网关在内)之后的链路。



什么是接口?

官方点说,是计算机系统中两个独立的部件进行信息交换的共享边界。通俗点说,就是服务端对外提供数据服务最常用的信息交换方式。提供数据服务的服务端是个可大可小的机构,做的事大多不止一件,它做了这么多事,最终的目标是给 APP 或其它调用方使用,于是服务端就派出了几个代表,比如 API1 负责提供用户信息,API2 负责提供设备信息,API3 负责提供播放的音频信息等等。同事,服务端规定好跟 API1 通讯的接头暗号是param1,param2…,跟 API2 通讯的接头暗号是 param3,param4…,而 params 就是接口参数,就是用来告诉服务端你要什么服务,具体的要求是什么。接口一般由三个部分组成:协议、地址及参数。



什么是接口测试?

一般讲的接口测试指的是对某个给定接口进行功能测试,输入不同的参数时,接口返回值是否正确。下图是经典的测试金字塔模型。

                   


在这个模型中,越往下比例会占的越高,也就是说在一个产品测试中,单元测试比例是最高的,依次是接口测试和 UI 自动化测试,最顶端是人工测试部分。服务端接口测试在中部,承上启下,由此可见其重要性。


为什么要做接口测试?

一般做接口测试有如下原因:


  • 接口是服务端对外提供数据服务最常用的信息交换方式,接口大部分内容都是数据,通过数据对比我们可以推测到系统的逻辑,测接口其实也就是测逻辑。
  • 接口测试相对容易实现自动化,也容易实现持续集成,且相对 UI 自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。

如何做接口测试?

前面提到,接口是由这几个组成部分:接口地址、请求协议、请求参数和预期结果。测试接口的步骤一般步骤是:发送请求->解析结果->验证结果

简单来说,接口测试就是参照接口文档,调用接口,看结果的返回是否跟文档说明一致;另外,再测试一下接口对异常逻辑的处理比如非法参数或边界值。

深入来说,接口测试的关注重点在于:

一、接口的数据逻辑是否正确。 我们需要充分理解接口的功能,内部是什么样的数据逻辑,它与上下游交换了那些信息或资源,不单纯地停留在参数调用和程序返回的表象数据。通俗地说,就是要知道这个接口是干什么用的,用到哪里,每次调用会发生什么,然后去检验改发生的有没有发生。

二、接口对于异常参数的处理机制与上下游服务的容错。 如下图所示,被测接口 A 依赖上游服务 A,那么服务A异常的时候被测接口是否很好的容错就很重要,否则服务挂起或宕掉都是有可能的。另外,作为服务提供方接口 B,应当要充分兼容不同的使用场景、或不同版本的调用方的使用,不能为了服务 E 做的需求,除了E其它的服务使用者都用不了了。总的来说,原则就是 “上游不可靠,下游要兼容”

                                


 总结:

    感谢大家的阅读,在这里我总结了自己学习接口测试、自动化测试的全部资料,感兴趣的可以添加下方群聊免费领取,祝大家都能学有所成。记得点击领取哦

                                           

 

          



推荐阅读
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文讨论了在使用Timer控件和键盘触发时可能出现的冲突问题,并提供了解决方法。同时还介绍了如何实现一个类似QQ的小图标只出现在右下角而不在状态栏的程序。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
author-avatar
当官的好办事_625
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有