当前位置: 首页 > article >正文

接口自动化测试如何做?测试老鸟总结,接口测试数据构造大全......

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

接口参数的数据获取:

接口文档:接口文档通常会包含接口需要的请求参数和返回结果的格式、类型等信息;

Python接口自动化测试:https://www.bilibili.com/video/BV16G411x76E/

测试用例设计:根据测试用例设计的需求,可以确定需要哪些请求参数以及期望的响应结果;
业务数据:从实际业务场景中获取数据,以确保测试数据的真实性和代表性;
数据库:从数据库中获取数据,作为接口测试的输入参数;
随机数据生成器:通过随机数据生成器生成测试数据,以增加测试用例的多样性和覆盖率。

在选择数据来源时,需要根据具体情况进行选择。如果有可靠的接口文档,可以直接从文档中获取请求参数和预期结果;

如果测试用例设计已经明确了需要测试的功能和边界条件,可以根据需求设计测试数据;如果需要模拟实际业务场景,可以从业务数据或者数据库中获取数据。最后,为了提高测试用例的多样性和覆盖率,可以使用随机数据生成器。

在做接口自动化测试的过程中,接口参数的数据应该从哪里来比较好呢?

是写死、从业务流中生成动态数据、还是从数据库获取。

如果是写死,那么一旦切换环境,测试数据可能就无法使用;
如果是从业务流中获取,万一上一个接口出了问题,那么下一个接口不就会跟着出错呢?
如果是从数据库获取,数据库中可能存在脏数据,是否会造成测试接口返回的信息不准确呢?

接口数据生成

1、手动录入
通过手动创建测试数据,包括各种不同的输入、参数组合。

这种方式比较耗费时间和人力成本,适用于数据量较少的情况,不适合大规模的测试,且切换环境后可能就无法使用。

2、动态数据
从用例中生成,或使用数据生成工具生成需要的测试数据。

接口返回数据
在测试用例执行过程中,从接口返回的数据中提取需要的数据,再将这些数据用于下一个接口的测试。这种方法适用于接口之间有依赖关系的情况。比如:上一个接口查询商品,下一个接口添加购物车。

接口之间有依赖关系的场景,可能出现上一个接口报错,导致下一个接口也失败。对于这种情况,照常传参即可,因为多接口串联的用例,本身就是必须要保证每个接口都是正确的。上游控制不稳定,下游自然也会有问题,这个解决的下手点不在于接口如何传参,而是确定前置条件是否满足。

数据生成工具
使用数据生成工具自动生成符合要求的测试数据,例如:Faker、Mock、Mockito 等,可以根据数据类型、长度、规则等条件来生成数据,这些数据可能是时间戳、随机数字、随机字符串等。

这种方式适用于需要大量随机数据的情况,可以加快测试速度,同时提高测试的可复用性。

3、静态数据
静态数据是指一些不变的数据,这些数据可以被硬编码到测试脚本中。

4、配置数据
对于接口地址、端口号、数据库信息等环境相关配置,通常存储在专门的配置文件中,供全局调用。

5、从数据库中获取
在测试用例执行前,通过 SQL 语句查询数据库获取需要的测试数据,再将数据导入测试用例中。

这种方法适用于需要大量数据的情况。

在实际测试中,可能会组合使用以上几种数据来源来生成接口自动化测试数据。

无论使用哪种方式获取测试数据,都需要保证数据的准确性和完整性,以及数据的一致性和合理性。

同时,还需要根据接口的不同情况,设计不同的测试数据,包括正常数据、异常数据、边界数据等。应遵循测试用例之间保持独立性,各个用例不会关联影响的原则。

为避免测试环境出现大量测试数据以及脏数据,可将用例形成闭环,例如在后置操作中进行删除。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有拼尽全力,才能看到最美的风景。奋斗吧,即使路上会有坎坷和挫折,但只要不放弃,就一定能够达到心中所想!

路漫漫其修远兮,吾将上下而求索。每一步都是向着梦想的跨越,每一次努力都是为了更好的自己。只要不放弃,成功就在前方等待着你!

不经历风雨,怎能见彩虹;不经历挫折,怎能成就伟业。让每一次跌倒都成为迈向成功的脚步,坚定前行,奋斗不止!


http://www.kler.cn/a/9620.html

相关文章:

  • 关于GCC内联汇编(也可以叫内嵌汇编)的简单学习
  • 设计模式-七个基本原则之一-迪米特法则 + 案例
  • react的创建与书写
  • 区块链技术在电子政务中的应用
  • 场景解决之mybatis当中resultType= map时,因某个字段为null导致返回的map的key不存在怎么处理
  • 后端接口返回二进制文件,前端 window.opent预览展示
  • DJ3-4 传输层(第四节课)
  • java File和IO流处理
  • 高效办公——Excel表格-02篇(if函数常见用法 + 条件格式的使用)
  • 解决macOS IntelliJ IDEA 卡顿问题
  • 突发!ChatGPT疯了!
  • 热点数据和冷数据是什么?
  • Jvm学习笔记(一)内存模型
  • 强大到让人无法想象的ChatGPT-5即将发布,上千名人士却紧急叫停
  • mybatis plus同时使用逻辑删除和唯一索引的问题及解决办法
  • 亚马逊云科技赋能数据分析,完成最后一块拼图
  • 【Linux】之nc命令(连接与扫描指定端口、监测服务端口的使用情况)解析、详解实例、邮件告警
  • 腾讯38K测试良心分享,熬夜整理10万字详细软件测试面试笔记
  • selenium知识点大全
  • git查看历史提交记录
  • 基于深度学习的火焰检测系统(YOLOv5清新界面版,Python代码)
  • 【go-zero Drone】通过Drone完成go-zero的CI第一篇 初探:go-zero api接入drone pipeline
  • 【Python实战】Python采集二手车数据——超详细讲解
  • 4. 【动手学深度学习v2】数据操作 + 数据预处理
  • Mybatis-plus学习2
  • k8s v1.26.2 安装部署步骤