接口测试整体框架

news2024/12/24 12:00:27

接口测试

1. 接口

接口,也叫api(Application Programming Interface,应用程序编程接口),接口(Interface)是指不同软件组件或系统之间进行交互的点。接口定义了组件之间如何通信,包括数据的请求、接收和响应的方式。

后端的程序会给前端用,后端的程序怎么给前端用,一般是后端编写接口,提供给前端使用

接口本质上是开发人员写的函数或方法

不是所有函数或方法都是接口,但接口一般都是函数或方法

使用接口的主要目的就是分工合作,加快开发

一个软件由很多接口组成

2. 接口要素

接口最终要给前端使用,测试时通过软件如postman、python等来使用(测试肯定得用接口),使用一个接口时,需要哪些概念,就是接口要素。

3. 接口地址

接口的URL或URI,它是客户端访问接口资源的地址。

例如

http://192.168.1.3:8080/abc/def/xyz

abc一般表示应用名,就是软件名简称

def一般表示模块名有的接口可能没有模块名

xyz一般表示功能名

一般所说的接口,全名是接口地址,最后一个单词(例如xyz)是真正的接口名,接口最终是其背后的函数或方法

4. 测试方法

接口测试是绕过前端,根本不使用页面,而是使用工具或软件直接对接口进行操作,能发现更多更深的缺陷

一般先做单元测试、再做接口测试,再做功能测试

一般都借助工具或软件

postman

jmeter

apifox

python

java...

5. 测试流程

收集文档,需求分析,写测试点

准备测试数据

部署测试环境

执行测试用例,提交缺陷报告

生成测试报告

6. 接口分类

内部接口(内网)和外部接口(外网)

7. 接口协议

提供协议分类:

HTTP接口

HTTPS

FTP

SMTP 简单邮件传输协议

POP3 邮局协议第3版本

WebService接口,采用SOAP协议 简单对象传输协议

8. 状态码

1** 信息,服务器收到请求,需要请求者继续执行操作

2** 成功,操作被成功接收并处理

3** 重定向,需要进—步的操作l以完成请求

4** 客户端错误,请求包含语法错误或无法完成请求

5** 服务器错误,服务器在处理请求的过程中发生了错误

9. JSON文本格式

JSON全称:JavaScript对象表示法

  • JSON是介于普通文本和XML之间的一种数据文本格式;比普通文本复杂,又比XML简单,便于生成、表达、解析。
  • JSON相比XML更轻量化,提高网络传输效率;
  • JSON是一种跨平台(操作系统)、跨语言(编程语言)的文本;
  • JSON具有面向对象特性,主要存储对象的属性数据
  • 接口测试经常使用JSON、XML作为返回结果的文本格式,有时发请求的参数值也用

JSON文本格式的基本语法

  • JSON对象使用{}包围
  • 属性数据以“名值对”表示 区分大小写
  • 多对属性之间使用逗号, 分隔
  • JSON属性名都必须有英文双引号
  • 不支持单引号
  • 字符串:“文本” 必须使用双引号 比如:"Hello123"
  • 数字:整数、小数 直接写 比如:123 123.567 为了算术运算方便
  • 逻辑值:true false 必须全小写 为了进行条件判断 真、假
  • 空值:null 表示该值没有意义,什么也不是
  • 对象:{ } 其中写属性名、属性值
  • 数组:[ ] 便于罗列数据
  • 可以互相嵌套

10. 参数化

让每次发送请求时,能够自动改变数据!——参数化技术

从接口测试角度:可以减少用例的数量让一条用例可以重复使用多组数据,提高自动化测试的效率

比如:请求参数添加,id、username、password、email、salary ... (入参)

返回的结果,就是预期结果,也会变化

实际结果 单词:actual 随着每次条件的变化而变化

预期结果 单词:expect 作为检查点的判断依据,也需要变化 (出参)

在进行接口自动化时,为了测试大批量数据,采用参数化技术,根据业务需求设计入参和出参,设计用例并执行;

重点关注:类型 + 数据 + 策略

入参:请求携带参数数据,是可以改变的(因)

出参:响应返回的结果数据,需要检查,会随着入参的变化而变化(果)

11. 验库

验库,也称为落库检查就是在自动化测试过程中,能够自动判断数据库中的数据是否存在、合理为什么需要验库?添加断言时,关心两个方面,一个是接口的返回值,一个是对数据库的影响,这两方面都要正确验库就是对数据库中的数据进行确认,比如通过查询数据库验证实际结果是否存在,包括对数据库表中的行和列的检查

增删查改操作都可以验库

通过Postman访问数据库,可以进行数据库的自动化控制,进行批量数据添加,从而实现测试数据的初始化

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

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

相关文章

2024 ECCV | DualDn: 通过可微ISP进行双域去噪

文章标题:《DualDn: Dual-domain Denoising via Differentiable ISP》 论文链接: DualDn 代码链接: https://openimaginglab.github.io/DualDn/ 本文收录于2024ECCV,是上海AI Lab、浙江大学、香港中文大学(薛天帆等…

AI制作ppt

1,kimi: 实际上也是AiPPT.cn这个网站(但是有实际次数限制) 2,其余专业AI ppt生成网站: (1)gamma:https://gamma.app/ 大概能制作7~10页左右 free的ppt,其余要…

10款PDF翻译工具的探索之旅:我的使用经历与工具特色!!

在如今的时代,PDF文件已经成为我们工作、学习和生活中不可或缺的一部分。但是,当遇到一些非母语或陌生语言的PDF文档时,这要怎么办呀!这时候翻译工具就显得尤为重要了。这也是我所遇到过的难题,现在我将与大家分享几款…

【java】java通过s3访问ceph报错

1.报错信息、背景 工作中起了几个访问ceph的服务pod节点,一段时间后1个节点一直报错Unable to execute HTTP request: Timeout waiting for connection from pool,详细i信息如下图片,有且仅有1个节点报错,其他节点访问正常。看日志…

飞牛私有云访问外网

飞牛私有云 fnOS NAS 是一款有着卓越的性能以及强大的兼容性和智能化的管理界面,它之所以能在 NAS 市场中脱颖而出,是因为 fnOS 基于最新的 Linux 内核(Debian发行版)深度开发,不仅兼容主流 x86 硬件,还支持…

【iOS】知乎日报第三周总结

【iOS】知乎日报第三周总结 文章目录 【iOS】知乎日报第三周总结前言评论区文字评论区的一个展开效果评论区数据的一个请求修改了主页获取数据的逻辑主页无限轮播图图片主色调的一个获取将一些拓展部分的内容写在分类里小结 前言 本周笔者因为金工实习整个项目进展比较慢&#…

局域网到公网的飞跃:LocalSend + Cpolar让文件传输再无边界

前言 本篇教程主要分享如何在Windows系统中部署开源免费文件传输工具LocalSend,并且结合cpolar内网穿透将其发布至公网实现远程使用进行文件下载传输。localsend是一款基于局域网的文件传输工具,它利用局域网的高速传输特性,实现了设备之间的…

1.62亿元!812个项目立项!上海市2024年度“科技创新行动计划”自然科学基金项目立项

本期精选SCI&EI ●IEEE 1区TOP 计算机类(含CCF); ●EI快刊:最快1周录用! 知网(CNKI)、谷歌学术期刊 ●7天录用-检索(100%录用),1周上线; 免费稿件评估 免费匹配期…

大数据应用开发——实时数据处理(一)

前言 大数据应用开发——实时数据采集 大数据应用开发——实时数据处理 Flink完成Kafka中的数据消费,将数据分发至Kafka的dwd层中 并在HBase中进行备份 大数据应用开发——数据可视化 hadoop,zookeeper,kafka,flink要开启 目…

QT版发送邮件程序

简单的TCP邮箱程序 **教学与实践目的:**学会网络邮件发送的程序设计技术。 1.SMTP协议 邮件传输协议包括 SMTP(简单邮件传输协议,RFC821)及其扩充协议 MIME; 邮件接收协议包括 POP3 和功能更强大的 IMAP 协议。 服务…

关于我重生到21世纪学C语言这件事——指针详解(1)

人无完人,持之以恒,方能见真我!!! 共同进步!! 文章目录 1. 内存和地址2. 指针变量和地址3. 指针变量类型的意义4. const修饰指针5. 指针运算6. 野指针7. assert断⾔8. 指针的使⽤和传址调⽤ 1.…

PaoluGPT——窥视未知

上一题已经得到一个flag,还有一个flag 根据题目信息,说明还有一些聊天记录是没有公开的,另一个flag就在这些未公开的聊天记录中 下载题目附件看看,发现里面有个main.py: 可以看到有两条SQL查询语句,猜测应该…

WLAN消失或者已连接但是访问不了互联网

目录 1、WLAN已连接但是访问不了互联网 2、WLAN图标消失 今晚电脑突然连不上网了,重启试了好多种办法都没有用。 1、WLAN已连接但是访问不了互联网 这个的问题很多,建议直接网络重置,即将网络驱动全部删除,然后重新安装。 首先…

Python学习从0到1 day26 第三阶段 Spark ④ 数据输出

半山腰太挤了,你该去山顶看看 —— 24.11.10 一、输出为python对象 1.collect算子 功能: 将RDD各个分区内的数据,统一收集到Driver中,形成一个List对象 语法: rdd.collect() 返回值是一个list列表 示例: from …

机器学习在网络安全中的应用

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 机器学习在网络安全中的应用 机器学习在网络安全中的应用 机器学习在网络安全中的应用 引言 机器学习概述 定义与原理 发展历程 …

JMeter进阶篇

目录 上篇导航: 总目录: 一、逻辑控制器: 1.逻辑控制器和关联: 2.if逻辑控制器: 3.forEach控制器: 4.循环控制器: 二、关联: 1.xpath: 2.正则表达式提取器&…

O-RAN简介

O-RAN简介 概览 如今,全球蜂窝数据使用量持续增长,因此,电信系统必须随之进行革新,才能满足这一需求量。虽然5G标准能够满足更高的蜂窝吞吐量需求,且有望实现各种新的应用场景,但如果网络没有进行相应的改进,许多拟定的5G应用只能是纸上谈兵。以高可靠低延时通信(URLL…

Spring设计模式

设计模式 是一种软件开发中的解决方案,设计原则。目的是使代码具有扩展性,可维护性,可读性,如: 单例模式(Singleton Pattern) Spring IoC 容器默认会将 Bean 创建为单例,保证一个类…

安全的时钟启动

Note:文章内容以 Xilinx 系列 FPGA 进行讲解 1、什么是安全启动时钟 通常情况下,在MMCM/PLL的LOCKED信号抬高之后(由0变为1),MMCM/PLL就处于锁定状态,输出时钟已保持稳定。但在此之前,输出时钟会…

【含开题报告+文档+PPT+源码】基于Springboot和vue的电影售票系统

开题报告 随着电影产业的快速发展和科技的不断进步而逐渐形成的。在早期,电影票的销售主要依赖于传统的实体售票窗口和人工售票员,这种方式虽然直接,但效率低下,容易出现错误,并且无法满足大规模、高流量的售票需求。…