接口自动化测试工程化——了解接口测试

2024-06-14 16:52

本文主要是介绍接口自动化测试工程化——了解接口测试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是接口测试

接口测试也是一种功能测试

我理解的接口测试,其实也是一种功能测试,只是平时大家说的功能测试更多代指 UI 层面的功能测试,而接口测试更偏向于服务端层面的功能测试。

接口测试的目的

测试左移,尽早介入测试,尽早发现系统更深层的问题,降低问题修复成本。

接口测试测什么

接口测试是为了验证服务端接口内部逻辑的正确性,而这个正确性也分两方面:

接口能否正确处理正常数据,并返回正确的响应,响应可能包括数据结构、数据内容等;

接口能否正确处理异常数据,并返回特定响应,主要是验证接口的健壮性。

总结一下

接口正确接受合法请求数据

接口正确拒绝非法请求数据

这都属于正向测试。

接口测试的场景

我认为接口测试主要分两种测试场景:

单接口健壮性测试

多接口场景测试

单接口测试

针对单个接口做健壮性测试,会覆盖正常场景以及异常场景,保证接口的正确性和健壮性;

单接口测试不关注用户层面的业务逻辑,只关注接口的内部逻辑,所以它更接近于单元测试。

总结:保证接口能正确处理各种正常、异常场景。

多接口场景测试

为了验证用户主流程、主功能的业务逻辑的正确性,不需要太多异常场景的验证;

多接口场景测试会更加关注用户层面的业务逻辑,所以它更接近于 UI 层面的功能测试;

比如需要验证一个电商付费流程,可能就包含以下接口:获取商品列表-获取商品细则-加入购物车-提交订单-订单付费,只需要关注正常场景即可。

总结:保证多个接口在正常数据流下能跑通。

单接口测试设计测试用例

在这里插入图片描述

什么是接口自动化测试

首先,要知道的是,只说接口测试,也是一种手工功能测试,只是测接口而已,所以接口自动化测试其实就是将接口测试从手工变成自动化。

常见的接口自动化测试方式

图片

这一知识库主要讲解的是工具实现接口自动化测试。

什么是工程化

这其实也是最近才接触的东西,感觉有点高端啊!

谷歌搜了下什么是工程化,结果出来的都是前端工程化,只能看完,然后按照自己的理解来描述一下了,只代表自己的看法:工程化其实是一种思想。

为什么要工程化

提高效率,包括但不限于开发效率、测试效率、维护效率、管理效率;

从流程混乱、耦合严重、依赖人工到规范化、模块化、自动化。

规范化

提高整个项目的可维护性:

版本管理规范:使用 git 来管理代码仓库;

开发流程规范:团队统一研测流程,比如:code review 流程、提测流程、复盘流程等;

编写代码规范:团队统一编写规范,比如:项目结构、项目代码、自动化测试脚本等。

模块化

提高整个项目的可读性;

将一些相关逻辑的内容放在同一个文件夹中。

自动化

能自动化完成的事情绝不让人来做,是工程化的核心:

自动初始化:比如一键安装本地环境,安装依赖项等;

自动执行测试:比如一键测试、一键生成测试报告等;

自动部署:比如使用 Jenkins,流水线的形式管理项目运行的声明周期。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

 

这篇关于接口自动化测试工程化——了解接口测试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1060981

相关文章

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

10个Python自动化办公的脚本分享

《10个Python自动化办公的脚本分享》在日常办公中,我们常常会被繁琐、重复的任务占据大量时间,本文为大家分享了10个实用的Python自动化办公案例及源码,希望对大家有所帮助... 目录1. 批量处理 Excel 文件2. 自动发送邮件3. 批量重命名文件4. 数据清洗5. 生成 PPT6. 自动化测试

10个Python Excel自动化脚本分享

《10个PythonExcel自动化脚本分享》在数据处理和分析的过程中,Excel文件是我们日常工作中常见的格式,本文将分享10个实用的Excel自动化脚本,希望可以帮助大家更轻松地掌握这些技能... 目录1. Excel单元格批量填充2. 设置行高与列宽3. 根据条件删除行4. 创建新的Excel工作表5

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

MySQL分表自动化创建的实现方案

《MySQL分表自动化创建的实现方案》在数据库应用场景中,随着数据量的不断增长,单表存储数据可能会面临性能瓶颈,例如查询、插入、更新等操作的效率会逐渐降低,分表是一种有效的优化策略,它将数据分散存储在... 目录一、项目目的二、实现过程(一)mysql 事件调度器结合存储过程方式1. 开启事件调度器2. 创

详解Java如何向http/https接口发出请求

《详解Java如何向http/https接口发出请求》这篇文章主要为大家详细介绍了Java如何实现向http/https接口发出请求,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用Java发送web请求所用到的包都在java.net下,在具体使用时可以用如下代码,你可以把它封装成一

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr