• 接口测试必备知识点(含实战项目)


    前言

    说到接口测试,想必大家一定不会陌生。接口测试就是测试系统组件间,接口对接是否顺畅的一种测试。包括测试数据能否交换、能否传递、能否正常控制管理过程,以及系统间的相互逻辑依赖关系,等等。

    由于接口测试主要是检测系统与系统间(外部),以及系统内部各个子系统之间的交互点。所以,它会要求测试人员对业务逻辑有一定的了解,知道企业各个系统运作流程间的联系,以及对数据流向定位有一个清晰的认知

    由此,我们也就不难理解,为什么很多测试新手在做接口测试时,会陷入苦恼之中了。下面,我们一起来盘一盘接口测试那点事儿。 

    同时,我也为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接点击文末小卡片免费领取资料文档

    软件测试视频教程观看处:

    B站封神的接口测试教程,30天练完70个项目实战(含自动化测试、性能测试),学完即就业,永久白嫖!

    1、接口测试的目的

    正所谓先理清关系,才能更好的解决问题,下面,我们先来说说接口测试的目的。主要就这么几个:

    1. 用于项目的API层的HTTP接口的功能逻辑验证;
    2. 减少手工测试的工作;
    3. 实现手工验证不能做的验证;
    4. 手工很难充分验证的功能逻辑。

    2、接口测试的用途

    与其说是接口测试的用途,不如说是接口测试可以带来的优势。我认为,主要包括这几点:

    1)验证链接外部接口的性能

    正如我们所知道的那样,它一般会用于多个系统间的交互开发,或者拥有多个子系统的软件开发测试中。这是因为它可以验证,这些系统在对外部提供的接口的正确性和稳定性。

    2)高性价比

    接口测试也适用于一个上层系统中的服务层接口。虽然,越往上层测试,难度会越大,但也正是有了可以实施在多系统、多平台构架下的测试方法,我们才会获得极为高效的成本收益比。

    3)测试效果佳

    接口测试为高复杂性的平台,带来高效的缺陷监测和质量监督能力。平台越复杂,系统越庞大,接口测试的效果越明显。

    然而,值得注意地是,不是所有测试人员都具备,在一个隔离的测试环境中进行测试的条件,这就使得对接外部接口的测试变得困难了。另外,有时候其他部门的同事,只是人工、静态的审阅一次数据,而并不真正的用数据来做测试,这些都会增加实际测试执行中遇到的风险。

    图片

    为了解决这些问题,规避接口测试中一些风险,下面,我们就来盘一盘接口测试的痛点及解决办法。

    3、接口测试的痛点和解决办法

    在做接口测试时,以下几个测试痛点,一定要仔细琢磨下:

    痛点由于测试环境数据被改动导致接口测试失败

    这个问题,最好的办法就是重新调用数据库中的最新数据。在做测试用例时,也要考虑到实时调用数据的问题,确保不会因数据改动而测试失败。

    痛点由于测试数据写死导致接口用例执行失败

    其实,这个问题是可以预见的。因为,在进行测试前,跟开发人员做相关问题的提示,是可以避免这个问题的发生的。但如果测试中,还是发生了这个问题,那么我们就需要对数据进行参数化。但切忌过多参数校验,因为这样会使得服务端变得很臃肿。

    痛点③ 检查点不够充分

    对于很多新手而言,在做接口测试时,往往只会考虑正常的校验点,而忽略异常校验点和不为空校验点。这也提醒我们,在进行测试前,一定要考虑全面,并且多提醒自己,注意一些容易忽略的细节。

    痛点 执行后产生的数据导致面的用例执行失败

    很多小伙伴可能都遭遇过类似的现象:前面用例执行的都挺好,后面再执行下个步骤,就显示执行用例失败了。这是什么原因造成的呢?对,就是执行结束后产生了新数据,这些新数据影响了整个后续用例的执行。所以,我们在做测试时,一定要注意清理掉执行过程中产生的特定数据。

    图片

    痛点 由执行超时等因素造成的用例执行失败,非404错误

    遇到这种问题,最简单也是最无懈可击的办法,就是重跑。哈哈哈~

    痛点 单个接口测试通过,但业务还是有bug

    遇到这种情况,一定要尝试组合多个接口,组成一个完整的业务场景,再重测,保证整体顺畅,否则后期使用过程中出现问题,就严重了。

    4、做接口测试,需要充分掌握的知识有哪些?

    ①了解系统及内部各个组件之间的业务逻辑交互;

    ②了解接口的I/O(input/output:输入输出);

    ③了解协议的基本内容,包括:通信原理、三次握手、常用的协议类型、报文构成、数据传输方式、常见的状态码、URL构成等;

    ④常用的接口测试工具,比如:jmeter、loadrunner、postman、soapUI等;

    ⑤数据库基础操作命令(检查数据入库、提取测试数据等);

    ⑥常见的字符类型,比如:char、varchar、text、int、float、datatime、string等。

    写在最后

    日常工作中,我们在做接口测试时,经常会遇到各种各样的问题,这些问题可能会使我们迷惑,也可能会让我们焦头烂额。面对这种情况,最好的办法,就是先冷静下来,根据自己撰写的用例步骤,一步一步来检查究竟问题出在哪个环节,进而探究这个问题是怎么造成的,应该怎么处理。最后,问题解决后,做好相应的笔记记录。

     PS:这里分享一套软件测试的自学教程合集。对于在测试行业发展的小伙伴们来说应该会很有帮助。除了基础入门的资源,博主也收集不少进阶自动化的资源,从理论到实战,知行合一才能真正的掌握。全套内容已经打包到网盘,内容总量接近500个G。

    ☑ 240集-零基础到精通全套视频课程
    ☑ [课件+源码]-完整配套的教程
    ☑ 18套-测试实战项目源码
    ☑ 37套-测试工具软件包
    ☑ 268道-真实面试题
    ☑ 200个模板-面试简历模板、测试方案模板、软件测试报告模板、测试分析模版、测试计划模板、性能测试报告、性能测试报告、性能测试脚本用例模板(信息完整)

    这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

    送给大家一句话,共勉:当我们能力不足的时候,首先要做的是内修!当我们能力足够强大的时候,就可以外寻了! 

  • 相关阅读:
    盲人出行挑战与曙光:“盲人视觉辅助技术研发”助力无障碍生活
    注解方式实现logback日志脱敏
    【20220903-美团笔试】
    更新GitLab上的项目
    Spring Boot中RedisTemplate的使用
    基于微信小程序的健身私教预约系统
    安装配置操作节点(Operator),并获取OCP离线安装文件
    第十三章《集合》第2节:List集合
    Kubernetes CRD 介绍
    使用新的输入系统在 Unity 中构建第三人称控制器
  • 原文地址:https://blog.csdn.net/huace3852/article/details/133207979