一文6个步骤带你实现接口测试入门

news2024/9/25 23:22:52

一、接口测试概述

1 什么是接口测试:

接口测试是测试系统组件间交互的一种测试。接口测试主要用于检测外部系统与系统之间,内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

2 为什么要做接口测试:

现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前端太容易了), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。

 如今系统越来越复杂,传统的靠前端测试已经大大降低了效率,而且现在我们都推崇测试前移,希望测试能更早的介入测试,那接口测试就是一种及早介入的方式。例如传统测试,得等前后端都完成你才能进行测试,才能进行自动化代码编写。 而如果是接口测试,只需要前后端定义好接口,那这时自动化就可以介入,编写接口测试自动化代码,手工测试只需要后端代码完成就可以介入测试后端逻辑而不用等待前端工作完成。

二、接口测试流程

 接口测试也是属于功能测试,所以跟我们以往的功能测试流程并没有太大区别,测试流程依旧是:

1.测试接口文档(需求文档)

2.根据接口文档编写测试用例(用例编写完全可以按照以往规则来编写,例如等价类划分,边界值等设计方法)

3.执行测试,查看不同的参数请求,接口的返回的数据是否达到预期。

三、接口测试质量评估标准

  1. 业务功能覆盖是否完整
  2. 业务逻辑是否覆盖完整
  3. 参数验证是否达到要求(边界、等价类划分、业务规则)
  4. 接口异常场景覆盖是否完整(幂等\防重、并发、环境、大数据量)
  5. 接口覆盖率是否达到要求(覆盖接口数/系统总接口数)
  6. 代码覆盖率是否达到要求
  7. 性能指标是否满足要求(响应时间、服务器资源使用情况)
  8. 安全指标是否满足要求(敏感信息加密、sql注入、越权)

四、脑图

五、接口测试持续集成

对接口测试而言,持续集成自动化是核心内容,通过持自动化的手段我们才能做到低成本高收益。实现接口自动化,主要应用于回归阶段,后续还需要加强自动化的程度,包括但不限于下面的内容:

  1. 流程方面:在回归阶段加强接口异常场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。
  2. 结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等
  3. 问题定位:报错信息、日志更精准,方便问题复现与定位。
  4. 结果校验:加强自动化校验能力,如数据库信息校验。
  5. 代码覆盖率:不断尝试由目前的黑盒向白盒下探,提高代码覆盖率。
  6. 性能需求:完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。

六、接口自动化框架

Jmeter+ant+Jenkins

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

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1151676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在线客服源码系统+完全开源可二开 带完整搭建教程

在线客服源码系统是一种基于互联网技术的自动化客户服务软件。它通过网页、即时通讯等多种方式,实现企业与客户之间的即时互动和信息交流。该系统具有多种功能,如在线聊天、文件传输、消息管理、用户信息存储等。选择合适的在线客服源码系统,…

Spring两大核心之一:AOP(面向切面编程)含设计模式讲解,通知类型切点;附有案例,实现spring事务管理

模拟转账业务 pom.xml <dependencies><!--spring--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.29</version></dependency><!--lombok-->…

Jmeter 测试 MQ 接口怎么做?跟我学秒变大神!

MQ(message queue)消息队列&#xff0c;是基础数据结构 先进先出 的一种典型数据结构。一般用来解决应用解耦&#xff0c;异步消息&#xff0c;流量削锋等问题&#xff0c;实现高性能&#xff0c;高可用&#xff0c;可伸缩和最终一致性架构。 MQ 主要产品包括&#xff1a;Rabb…

ChatGLM3 模型学习与实战

文章目录 一&#xff0c;说明二、前言1. 背景2. 系统说明3. 相比于ChatGLM2-6B进行的 性能升级4. 模型列表 三、环境搭建1. 下载代码2 构建环境3 安装依赖4. 大模型下载方式4.1 安装 lfs 方便本地下载 ChatGLM2-6B 大模型4.2 Hmodelscop 上手动下载模型及其文件 【推荐】4.3 Hu…

大中小企业自招人力及劳务派遣全行业招聘抖音直播招聘效果佳

在抖音平台上&#xff0c;企业或者人力资源公司可以通过直播的形式&#xff0c;将职位以视频直播的方式展现出来。通过抖音直播招聘报白&#xff0c;企业或者人力资源公司可以利用抖音的短视频流量红利&#xff0c;触达到每天超过8亿的活跃用户群体。这样可以提高岗位信息的曝光…

python爬取百度图片上的图像

from fake_useragent import UserAgent import requests import re headers {"User-agent": UserAgent().random, # 随机生成一个代理请求"Accept-Language": "zh-CN,zh;q0.9,en;q0.8,en-GB;q0.7,en-US;q0.6","Connection": "k…

大厂面试题-JVM如何判断一个对象可以被回收

在JVM里面&#xff0c;要判断一个对象是否可以被回收&#xff0c;最重要的是判断这个对象是否还在被使用&#xff0c;只有没被使用的对象才能回收。 1. (如图)引用计数器&#xff0c;也就是为每一个对象添加一个引用计数器&#xff0c;用来统计指向当前对象的引用次数&…

精美UI强大娱乐功能组合微信小程序源码

这是一个多娱乐功能的小程序&#xff0c;功能炒鸡多&#xff0c;自行去体验把。 具体由以下功能组合: 网易云在线音乐(在线播放音乐和网易云功能界面一样) 外卖CPS(外卖平台优惠劵) 打车CPS(打车平台优惠劵) 头像功能(多分类头像,另外还支持姓氏头像制作) 图片加水印 表…

办公软件有哪些,办公软件哪个好

办公软件是指为办公和生产工作而设计的软件&#xff0c;包括文字处理、表格处理、演示文稿、电子邮件、日历、计划等各种应用软件。办公软件可以提高工作效率&#xff0c;让人们更加便捷地完成各种工作任务。随着科技不断发展&#xff0c;办公软件也在不断更新和完善&#xff0…

Instagram网红经济发展迅速!该如何紧抓这个流量

根据数据显示&#xff0c;网红营销市场规模在短短五年时间内从2016年的17亿美元增长至2022年的164亿美元&#xff0c;累计增速超过了712%。未来&#xff0c;有专家预计该市场预计将进一步增长&#xff0c;将在2023年突破210亿美元。这种惊人的增长趋势源于社交媒体的快速发展以…

[迁移学习]UniDAformer域自适应全景分割网络

原文的标题为&#xff1a;UniDAformer: Unified Domain Adaptive Panoptic Segmentation Transformer via Hierarchical Mask Calibration&#xff0c;发表于CVPR2023。 一、概述 域自适应全景分割是指利用一个或多个相关域中的现成标注数据来缓解语义分割数据标注复杂的问题。…

python环境部署

一、源码安装 1.安装依赖软件包 安装开发工具包 [rootlocalhost ~]# yum groupinstall "Development Tools" -y [rootlocalhost ~]# [rootlocalhost ~]# yum -y install zlib-devel bzip2-devel openssl-devel sqlite-devel readline-devel libffi-devel官网下…

pytorch打印模型结构和参数

两种方式 当我们使用pytorch进行模型训练或测试时&#xff0c;有时候希望能知道模型每一层分别是什么&#xff0c;具有怎样的参数。此时我们可以将模型打印出来&#xff0c;输出每一层的名字、类型、参数等。 常用的命令行打印模型结构的方法有两种&#xff1a; 一是直接prin…

[已解决]大数据集群CPU告警问题解决

大数据集群CPU告警问题解决 问题 6台机器的 CPU总是连续超过90% 思路 调整yarn资源 常见的是调整容器虚拟 CPU 内核 yarn.nodemanager.resource.cpu-vcores 根据集群具体的CPU核数规划 我另外调整了两个参数 最小容器虚拟 CPU 内核数量 yarn.scheduler.minimum-allocati…

中科院上高院,协鑫,和数“能源数字化智能管控”合作项目开启

10月27日&#xff0c;上海和数软件有限公司与协鑫综合能源服务有限公司、中国科学院上海高等研究院签署了《关于“能源数字化智能管控”开发与应用框架合作协议》。 这也标志着新疆协鑫智慧能源有限公司数字化智能提升项目——数字孪生项目正式启动。 根据协议&#xff0c;三方…

Flash Attention 的优点以及Softmax 归一化系数解释

文章&#xff1a;FLASHATTENTION: Fast and Memory-Efficient Exact Attention with IO-Awareness 原始Attention 计算使用gpu存储标准流程 涉及两个gpu存储器&#xff1a; 1&#xff09;SRAM&#xff08;static Random Access Memory&#xff09;:静态随机存取存储器 2&…

Python Django 之全局配置 settings 详解

文章目录 1 概述1.1 Django 目录结构 2 常用配置&#xff1a;settings.py2.1 注册 APP&#xff1a;INSTALLED_APPS2.2 模板路径&#xff1a;TEMPLATES2.3 静态文件&#xff1a;STATICFILES_DIRS2.4 数据库&#xff1a;DATABASES2.5 允许访问的主机&#xff1a;ALLOWED_HOSTS 1 …

【C】柔性数组

柔性数组 也许你从来没有听说过柔性数组&#xff08;flexible array)这个概念&#xff0c;但是它确实是存在的。 C99 中&#xff0c;结构中的最后一个元素允许是未知大小的数组&#xff0c;这就叫做『柔性数组』成员。 例如&#xff1a; 柔性数组的特点 结构中的柔性数组成员前…

tab切换样式

一、样式一 <view class"tabs"><view class"tab" :class"{active: active index}" v-for"(item, index) in tabs" click"active index">{{item.label}}</view></view> data(){return {active: 0…