0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

接口测试理论、疑问收录与扩展相关知识点

Testin云测 来源:Testin云测 2024-11-15 09:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文章使用王者荣耀游戏接口、企业微信接口的展示结合理论知识,讲解什么是接口测试、接口测试理论、疑问收录与扩展相关知识点的知识学院,快来一起看看吧~

1

接口测试基础理论

接口测试:接口测试是测试系统组件间接口的一种测试,主要用于测试系统与外部其他系统之间的接口,以及系统内部各个子模块之间的接口。

接口原理:模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做判断并将最终结果返回至客户端,客户端再次接收返回结果并应答的过程。

检查重点:测试的重点是检查接口参数传递、接口功能实现、输出结果的正确性,以及对各类异常情况容错处理的完整性与合理性。

接口类型:内部接口及外部接口,内部接口为程序开发的接口,方法之间或模块之间的调用,外部接口为外部接入调用接口,例如王者荣耀的微信登录、支付宝的支付功能等,均是外部接口。

接口分类:webservice接口及http api接口,webService接口使用soap协议传输,通过http进行传输,是HTTP POST专用版本之一,遵循一种特殊的xml消息格式(请求及返回均为xml),http api接口使用http协议,通过路径来区分调用的方法,通过key-value请求,返回报文通常为json。

接口本质:接口的本质上是一个公开的函数类,进行数据传输的发送与接收,可以理解成一条通道,在发送get或post请求方式时,实际上就是从通道进行发送、在由服务器从通道返回数据。

测试范围:接口功能、接口性能、接口稳定性以及接口安全性等。

2

为什么要进行接口测试

1、稳固代码底层:在初期阶段的开发时,业务层面无法检测到底层内容,代码底层不稳固牢靠,故此需要对底层内容进行接口测试,否则底层代码错误可能会引发更多外部系统或调用模块的错误。

2、低成本高效益:初期开发且资源未设计完成时,提前介入测试工作提前暴露问题,符合质量前移理念,能够明显有效的控制测试成本,且接口可进行自动化持续集成,故此会有更高的长期收益体现。

3、测试范围更广:接口测试大部分是从用户的角度而言对系统接口进行全方面的检查测试,无论是软件项目还是游戏项目,接口测试均会覆盖到部分业务逻辑,故此在进行接口测试时也同样能够辅助业务测试。

4、提高接口安全:上述提到了接口安全的测试范围,在接口安全方面考虑,客户端进行的限制条件容易避开绕过,同样需要测试服务端的限制,涉及到部分隐私数据时还需要验证接口的加密传输,例如用户密码、身份证、银行卡信息等。

5、保障系统稳固:进行接口测试能够保障系统间的数据传输以及容错,从而提高系统层面的稳定性。

总结:  

接口测试的优点:提高整体测试效率,降低研发测试的成本,综合性提升产品质量、降低后续维护资源。

3

如何开展接口测试

3.1、接口开展方式

业务层面:

常用接口测试工具:Postman、Jmeter、SoupUI等。

接口测试工具原理:通过接口测试工具模拟请求与数据接收,实现数据传输。

代码层面:

接口自动化测试:通过代码实现,发送请求通过代码断言判断接口正确性。

ps:会在后续自动化的文章教学接口自动化框架搭建、持续集成等内容。

3.2、接口测试流程

在真实的项目工作中,接口测试的流程大致分为以下几个步骤(公司不同,流程会存在部分差异):

1、公司有接口测试需求或测试人员收到接口测试任务时开始正式介入接口测试的流程阶段。 

 2、由开发人员提供接口文档,测试人员拿到接口文档后先行熟悉需求文档,了解各个接口的功能以及相关信息。(包括但不限于服务器地址端口、请求方式、请求参数、约束条件、返回状态码等) 

 3、当测试人员熟悉需求文档完成后,开始介入测试用例的编写,与业务测试相同,需要考虑到正常、异常的请求参数、还需要考虑到对应的响应报文数据的正确性。

4、最后可以通过接口测试工具进行用例执行,可以选用Postman、Jmeter等,举例:Jmeter可以先建立线程组、添加http请求,写好相关的请求地址、端口、请求参数,并设置好参数化,添加断言,最后添加结果树再运行,Postman与Jmeter原理是一样的,只是操作方式不同,这里不过多阐述,有兴趣的朋友可以网上查找下相关的工具使用说明与资料。

5、当运行完成后,检查接口是否通过,如果接口测试不通过,第一步先检查请求方式、参数等信息是否有错误,如果无错误的情况下,检查下网络环境,如果都没有问题,可能是接口本身存在问题,先以自己的认知进行判断是前端还是后端问题,判断完成后提单给开发并附上相关日志信息直至全部确认完成。值得一提的是,在业务的接口测试过程中更多的会关注失败的接口,在接口自动化的过程中也同样需要关注测试通过的接口,以用于质量提升、报告输出等方面。

3.3、接口测试需求

一份接口需求文档,核心要素主要包括以下内容:

文档封面:封面为xx公司接口需求文档,有公司名称及公司logo并注明为保密文件、需求文档的版本号、文档创建日期等。  修订记录:通常为表格形式,其中至少包括修订的版本及日期、修订说明、修订人、审核时间以及审核人等。  接口说明:接口访问地址格式、接口地址举例、返回结果说明等。(状态码及相关注释)  接口信息:模块名称、子模块、业务描述、接口名称、请求方法、请求格式、响应格式、请求参数、结果说明、返回示例等。

简单介绍接口信息中对应信息所产出的内容:

模块名称:登录、支付等

子模块名:微信登录、QQ登录、手机号登录

业务描述:简洁概括接口的功能

接口名称:

/login/wechat,/payment/personal

请求方法:GET / POST 等

请求格式:application/x-www-form-urlencoded

响应格式:application/json

请求参数:手机号、登录密码(包括变量名、类型、说明注释、是否必填)

结果说明:参数内容、变量名、类型(例如string),返回状态码等

返回示例:返回成功的举例,下方4.4接口演示中有图片体现

ps:并非所有的接口文档都很规范,绝大多数的需求文档中不会有如此详细的信息说明,具体情况大家依据公司接口文档为准即可。

3.4、接口演示(王者荣耀、企业微信接口演示)

笔者在这里进行一些接口的演示,帮助大家了解接口、熟悉接口需求和说明~

王者荣耀接口展示如下:

英雄列表:

接口地址: https://pvp.qq.com/web201605/js/herolist.json

请求方式:GET

输入参数:无

  输出参数:

返回结果(部分展示):

企业微信接口展示如下:

文件上传接口:

素材上传得到media_id,该media_id仅三天内有效media_id只能是对应上传文件的机器人可以使用

请求方式:POST(HTTPS)接口地址:https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=KEY&type=TYPE

使用multipart/form-data

POST上传文件, 文件标识名为“media”参数说明:

POST的请求包中,form-data中媒体文件标识,应包含有 filename、filelength、content-type等信息

filename标识文件展示的名称。比如,使用该media_id发消息时,展示的文件名由该字段控制

请求示例:POST https://qyapi.weixin.qq.com/cgi-bin/webhook/upload_media?key=693a91f6-7xxx-4bc4-97a0-0ec2sifa5aaa&type=file HTTP/1.1

Content-Type: multipart/form-data; boundary=-------------------------acebdf13572468

Content-Length: 220---------------------------acebdf13572468

Content-Disposition: form-data; name=“media”;filename=“wework.txt”; filelength=6

Content-Type: application/octet-streammytext---------------------------acebdf13572468–

返回数据(未传参):{“errcode”: 44001,“errmsg”: “empty media data, hint: [1638347756075722279950035], from ip: 183.14.133.153, more info at https://open.work.weixin.qq.com/devtool/query?e=44001”}

3.5、接口测试用例设计

用例设计格式:

用例序号:项目名称_模块名称_序号

接口模块:对应的接口模块,例如英雄列表、召唤师技能,企业微信的登录模块、语音模块等

请求方式:通常请求方式为GET、POST

接口地址:通常有固定的地址格式便于接口自动化测试(图中的是全地址)

接口参数输入:部分接口不需要接口参数的输入,部分存在接口输入,如果有,填写即可

用例设计重点及关注点:

(1)发送给服务器的请求数据是否正确;

(2)服务器返回给客户端的数据是否与需求一致,符合预期;

(3)查看数据库中接口是否实现对应功能;

(4)接口的响应时间是否符合需求文档要求

接口用例设计考虑的范围:

1、业务功能:功能是否实现

2、业务规则:定义的描述是否符合预期

3、请求参数:参数的长短、大小、格式等

4、异常场景:传参异常、操作异常、服务异常等

5、数据传输:数据传输结果的正确性

6、接口性能:接口性能的正确,例如并发等

7、接口安全:如支付类、充值接口的数据篡改等

ps:在以上范围内还需要考虑接口的用例覆盖率及代码覆盖率,至少符合预期

3.6、后端接口测试内容

所谓的接口测试,后端接口都测试什么内容?下面的图片会给你一定的帮助(图片来源于网络):

好啦~以上就是本次文章分享的全部内容啦,你学会了吗?有问题记得留言讨论哦~

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测试
    +关注

    关注

    9

    文章

    6409

    浏览量

    131679
  • 接口
    +关注

    关注

    33

    文章

    9601

    浏览量

    157628

原文标题:这都不会,还敢说会接口测试?

文章出处:【微信号:TestinChina,微信公众号:Testin云测】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    示波器小知识点

    示波器的系统带宽:是指一个逐渐升高频率的正弦输入信号显示幅度下降3dB时的频率测试信号一般是方波,而方波信号由基波及奇次谐波组成。如果用示波器去测一个方波,需要注意示波器应从频率上能够测量到它
    的头像 发表于 04-16 11:04 86次阅读
    示波器小<b class='flag-5'>知识点</b>

    【黑金云课堂笔记】第三期知识点总结

    ,对 FPGA 免费直播课的热情也感染到了黑金云课堂的老师们。接下来我们会再接再厉,把每一期直播都做得更扎实   更多精彩课程欢迎关注我们 黑金云课堂全年免费直播课 ,现在让我们先来回顾一下上周的知识点精华——   数据类型 常量 进制表示:二进制(b/B)、八进制(o/
    的头像 发表于 04-01 16:08 174次阅读
    【黑金云课堂笔记】第三期<b class='flag-5'>知识点</b>总结

    Unix的相关知识

    和调试。 健壮原则:健壮源于透明与简洁。 表示原则:把知识叠入数据以求逻辑质朴而健壮。 通俗原则:接口设计避免标新立异。 缄默原则:如果程序没什么好说的,就保持沉默。 补救原则:出现异常时,马上退出并
    发表于 12-10 07:13

    飞利浦D8714收录机说明书

    飞利浦D8714收录机说明书飞利浦早期生产的高档收录机使用说明书,内附详尽的结构图与电路图,以及调试参数等,可供收藏此种收录机爱好者参考。
    发表于 12-02 16:31 12次下载

    基于互联型MCU的多接口扩展方案

    在现代嵌入式系统开发中,多接口扩展能力成为提升设备功能性和适用性的关键。基于互联型MCU(微控制器)的多接口扩展方案,以高集成度芯片为核心,构建一个能够灵活适配多种外设的通信枢纽,广泛
    的头像 发表于 11-24 14:58 593次阅读

    单片机学习的8个知识点分享

    电阻进行连接。 3、端口不够用 单片机中经常会遇见端口不够用的问题,可通过以下方法来解决: ①利用单片机的内部资源:单片机内部通常有一些可用的端口,如PWM、UART等。可以利用这些端口扩展外部设备
    发表于 11-20 07:58

    RESTful API设计原则: 构建易用、可扩展的API接口

    响应是否可缓存 分层系统(Layered System):支持中间件扩展 按需代码(Code-On-Demand):可选扩展功能 实际案例:GitHub API严格遵循这些约束,其统一接口设计使开发者
    的头像 发表于 10-24 10:45 709次阅读

    通过sysmem接口扩展内存空间

    :使用DDR200T上板载的DDR3对内存进行扩展 扩展方案结构图: 该方案中DDR3使用vivado提供的axi接口mig的IP核来进行控制,蜂鸟e203源代码中提供了icb2axi模块,可以使发出
    发表于 10-24 08:12

    Pickering扩展了LXI微波开关产品系列,满足跨行业最新测试需求

    标准商用现货 LXI 射频接口单元解决方案的产品组合扩展, 可实现最大灵活性、密度及功能集成度。   2025 年 9 月,英国滨海克拉克顿 ——作为电子测试与验证领域模块化信号开关及仿真解决方案
    的头像 发表于 09-24 10:52 5w次阅读
    Pickering<b class='flag-5'>扩展</b>了LXI微波开关产品系列,满足跨行业最新<b class='flag-5'>测试</b>需求

    最新人工智能硬件培训AI基础入门学习课程参考2025版(离线AI语音视觉识别篇)

    视觉开发板开箱即用的离线AI能力,分类列出学习课程知识点和实操参考,希望能够帮助大家快速掌握离线 AI 智能硬件的基础知识与实战技能,同时了解相关AI技术在实际场景的应用情况。正文按入下框架展开,
    发表于 07-04 11:14

    【「Yocto项目实战教程:高效定制嵌入式Linux系统」阅读体验】01初读体验

    已阅读部分 由于知识点属于循序渐进,目前花了几天时间读到了第4章, 第一章到第二章,主要讲yocto相关的背景知识,主要讲解linux系统以及yocto相关的概念,学习资源,作者的心
    发表于 06-30 21:49

    【「# 运算放大器参数解析与LTspice应用仿真」阅读体验】+全书概览与第一章阅读分享

    先来详细阅读下第一章,分享下相关内容。 第一章主要介绍运放的基础知识,学过模电的都很容易理解,可能教材上学过的忘记了, 这里可以作为摘出来的重点温故知新复习下。全文没有废话,都是娓娓道来各个知识点
    发表于 05-22 23:18

    C51单片机及C语言知识点必备秘籍

    单片机关键知识点一览: 系列一 1:单片机简叙 2:单片机引脚介绍 3:单片机存储器结构 4:第一个单片机小程序 5:单片机延时程序分析 6:单片机并行口结构 7:单片机的特殊
    发表于 05-15 14:00

    电机选型计算公式与知识点汇总

    纯分享帖,需要者可点击附件获取完整资料~~~*附件:电机选型计算公式与知识点汇总.pdf 【免责声明】内容转自今日电机,因转载众多,无法确认真正原始作者,故仅标明转载来源。版权归原出处所有,纯分享帖,侵权请联系删除内容以保证您的权益。
    发表于 04-29 16:10

    反激电源变压器设计篇之基础原理

    以工作中使用最多的反激电源来说,个人认为最重要的是变压器和环路补偿设计,而前者涉及的知识点又比较庞杂,包括晦涩难懂的磁学理论,变压器设计的好坏更是直接决定了电源项目的成败。 此文档将详细讲解反激电源变压器的基础原理
    发表于 04-28 16:51