深入理解接口测试:实用指南与最佳实践(四)IHRM管理系统实战-项目分析

news2024/11/25 20:30:32

在这里插## 标题入图片描述

您好,我是程序员小羊!

前言

这一阶段是接口测试的学习,我们接下来的讲解都是使用Postman这款工具,当然呢Postman是现在一款非常流行的接口调试工具,它使用简单,而且功能也很强大。不仅测试人员会使用,开发人员也会 经常使用。这节课是完成ihrm系统指定接口的API文档解析掌握接口测试用例设计方法,能独立完成ihrm系统登录/员工管理相关接口用例设计,后期讲解大概分三部分进行讲解:
1、根据接口API文档编写接口测试用例
2、使用Postman工具进行接口测试,并能够对大量接口用例进行管理、对接口响应结果进行断言、处理多接口的依赖及生成测试报告
3、使用Python+Requests封装的接口测试框架,实现接口对象封装、测试用例编写、测试数据管理及生成测试报告

废话不多说,进入正题:

在测试系统接口之前,大概要先了解下系统的架构和技术栈:

技术架构(技术栈)

前端:以Node.js为核心的Vue.js前端技术生态架构

后端:
SpringBoot+SpringCloud+SpringMVC+SpringData (Spring全家桶)
MySQL + Redis + RabbitMQ

功能模块

在这里插入图片描述

一、接口测试流程(复习)

1. 需求分析
2. 接口文档解析
3. 测试用例设计
4. 执行测试用例
	1. 使用工具:Postman
	2. 使用代码:python + Requests
5. 缺陷跟踪管理
6. 生成测试报告
7. 实现持续集成(可选)

二、API文档解析(复习)

什么是API文档?
API文档就是接口文档,它是一个描述接口信息的文档。

为什么要写API文档?
1、便于前端开发和后端开发高效的合作
2、项目迭代或人员迭代时,能够快速的是熟悉项目
3、方便测试提前介入开展接口测试工作
接口文档
编写:开发负责编写
内容:基本信息、请求参数、返回数据
基本信息:接口名称、接口地址(path)、请求方法、接口描述
请求参数
请求头(hearders):Content-Type
请求体(body):参数名称、参数类型、是否必填、描述、示例等(常用的数据
格式就是json)
返回数据
响应状态码
响应数据:参数名称、参数类型、是否必填、描述等

三、接口用例设计(重点)

1、接口测试测试点

在这里插入图片描述
在这里插入图片描述

2、接口用例设计方法与思路(重点)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

四、接口测试用例设计

在说接口测试用例模版之前,我们复习下功能测试用例模版:
功能测试用例模版

1、用例编号
2、用例标题
3、测试项目
4、用例级别
5、预置条件
6、测试输入
7、执行步骤
8、预期结果

在这里插入图片描述

接口测试用例模版:

在这里插入图片描述

五、单接口用例设计–HIRM登录接口(API文档我会放在资源区,大家可以免费下载)

⼀个单独的业务,就对⼀个独⽴的接⼝。如:登录业务,对应登录接⼝。注册业务,对应注册接⼝。⽀付业务,对 应⽀付接⼝。

正向:

必选 参数。 所有必选项,给正确数据
组合 参数。 所有必选 + 任意可选,给正确数据。
全部 参数。 所有必选 + 所有可选。给正确数据。

反向:

功能异常:数据格式正确,不能履⾏接⼝功能。
数据异常:数据格式不正确(空值、特殊字符、汉字、字⺟、⻓度、范围 ---- 等价类、边界值)
参数异常:
多参:多出 必选参数
少参:缺少 必选参数
⽆参:没有 指定参数
错误参数:参数名 错误。

在这里插入图片描述

用Xind思维导图进行分析如下:

在这里插入图片描述

六、多接口用例设计——IHRM员工管理

思考:如何填写添加员工接口的测试数据?
答:>新项目:

  • 标准的做法从API文档获取
  • 非标准的做法,问开发提供一个样例数据
    > 老项目:
  • 标准的做法从API文档获取
  • 非标准的做法,
    (1)问开发提供一个样例数据
    (2)通过抓包获取样例数据(Fiddler、浏览器开发则工具)
    在这里插入图片描述

扩展分析:业务场景测试(多接口)

1、 ⼀定在 单接口 测试 之后!
2、尽量模拟用户实际使用场景。
3、尽量用最少的⽤例,覆盖最多的接口请求。
4、⼀般情况下,覆盖正向测试即可。

案例分析(IHRM员工管理)

分析测试点
指导思想:模拟用户实际使⽤,⽤较少的测试用例,覆盖更多接开口,测试正向即可。
登录 - 添加员工- 查询员工 - 修改员工- 删除员工 - 查询员工列表
在这里插入图片描述

扩展:

伪删除说明:

我们在做测试的时候,如果要测试删除员工,在实际工作中我们是不使用SQL语句 delete,真正删除指定记录。 而是使用 update 将 指定字段值修改(可能用0代表删除或者1代替),代表这条记录被 “删除” 了。下面这个是画的数据表格的抽象,大家可以看一下:

在这里插入图片描述

今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也,希望大家能持续关注下,文章从浅入深,也欢迎大佬们的随时指导!!!

在这里插入图片描述

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

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

相关文章

前端获取视频文件宽高信息和视频时长

安装 yarn add video-metadata-thumbnails | npm install video-metadata-thumbnails引入依赖包 import { getMetadata } from video-metadata-thumbnails使用 if (file.name.includes(mp4)) {if (file) {try {console.log(file)// 获取视频的元数据const metadata await …

Linux基础笔记分享(超详细~)

文章目录 Linux基础1.基础概念2.基础命令命令行快捷键自动补全: tab移动光标快速删除翻看历史命令终止程序退出登录清屏 查看命令帮助alias命令别名-快捷键pwd-类似于地图cd-类似于传送术mkdir-类似于合成装备touch-创建文件ls-类似于查看装备tree-打印目录层级结构cp-复制命令…

快速上手AWS cloudfront产品

AWS CloudFront,亚马逊推出的卓越全球内容分发网络服务,专为加速网站内容的极速传输而设计,旨在大幅度削减加载延迟,同时确保内容传递过程中的高度安全性和无懈可击的可靠性。借助CloudFront的强大功能,用户能够轻松实…

6个适用于Linux具有数据加密功能的绝佳软件和应用

数据加密在如今的网络安全领域是一个不可或缺的功能。该功能支持您编码数据,让没有访问权限的其他人无法读懂您的数据。若要增强在网络上的安全性,选择使用默认拥有此实用功能的软件或许是个不错的办法。 在本文中,您将了解到一系列运行在Li…

C++空指针(nullptr)

C空指针(nullptr) ​ 在C语言中我们把空指针定义成NULL,但是这在C中会有所问题,因为C对指针类型转换比较严格。下面让我来深入了解一下NULL与nullptr。 NULL实际就是一个宏,在C头文件(stddef.h)中,可以看到如下代码:…

vue3学习day03-vue3的生命周期、父子通信、模版引用、defineExpose

11、vue3的生命周期 (1)Vue2中生命周期: beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed (2)选项式API的生命周期: BeforeCreate/created、beforeMou…

TCP协议及ip

传输控制协议 通信前必须建立连接 tcp传输数据可靠 这就和大家的qq号和手机号一样 没有完全相同的qq号和手机号 端口号:1-65535 的一个整数 1-1024 通过端口号可确定哪一个程序在运行 应用程序的id 自定义端口号5999之后 在Qt中使用网络通信 套…

Apache Dolphinscheduler在中创新航的落地与实践

背景介绍 我司中创新航&#xff08;CALB&#xff09;&#xff0c;是全球领先的新能源科技企业 &#xff0c;致力于成为能源价值[创造者](<https://baike.baidu.com/item/创造者/10818258?fromModulelemma_inlink" t "/Users/shangeyao/Documents\x/_blank>)&…

directx修复工具:Windows 必备修复工具,一键解决 dll 丢失问题!

电脑出现DLL文件丢失要怎么恢复&#xff1f; 关于电脑系统修复的工具&#xff0c;还是有很多推荐的。金舟DirectX.DLL一键修复是一款强大的系统级工具软件&#xff0c;专门用于修复和恢复操作系统中动态链接库&#xff08;DLL&#xff09;文件的软件工具。软件能够解决由于DLL…

嵌入式--->STM32H7系列DMA寄存器详解

在参考手册中已经有每个寄存器的详细解释&#xff0c;这里做以翻译和调用过程的讲述&#xff0c;仅记录了解到的寄存器&#xff0c;并不全面&#xff0c;仅仅是为了方便查阅 相关中断 如下事件都会产生中断&#xff0c;前提是: •相应的中断事件xx被启用(GPDMA_CxCR)。xxIE 1…

0 元试用,一站式搭建企业云上数据库与BI 数据可视化分析平台

商业环境快速变化&#xff0c;每一次的数据分析和决策的速度都可能直接影响到公司的业务成果。在商业决策过程中&#xff0c;时间就是金钱。 为了加快数据处理&#xff0c;让数据可视化更加智能&#xff0c;我们推出了Sugar BI 和 GaiaDB 组合购&#xff0c;帮助业务快速搭建数…

GPU 片上调度系统

这篇文章分析和说明GPU 片上的kernel 通过stream 作为载体是如何分发到SM 处理器上&#xff0c;同时CUDA 所抽象的grid/block/thread 在GPU 设备层面是如何调度的。调度器通常是被忽略的一个部分&#xff0c;但对CUDA kernel 的编写和后期系统性能分析很有帮助&#xff0c;也可…

春秋云境 | 文件上传 | CVE-2022-28525

目录 靶标介绍 开启靶场 蚁剑连接 获取 flag 靶标介绍 ED01-CMS v20180505 存在任意文件上传漏洞 开启靶场 发现了一个登录功能&#xff0c;使用 burp 爆破一下 爆破之后得到账号是 admin 密码是 admin&#xff0c;登录后是这样的页面 在左边的菜单栏挨着一个一个找&…

天地图按地名搜索+openlayer+vue3

使用element-plus组件库安装ol npm i ol -s 安装axios (调用天地图api http://lbs.tianditu.gov.cn/server/search.html) npm i axios -s 主要代码 <template><div class"my-add-maker-box"><div class"my-point-box"><span>经…

直接用文件方式安装Cuda版本的Pytorch

先查看当前安装好的Cuda版本&#xff1a; 采用pip install 文件 方式安装本地的whl文件&#xff1a; 注意whl文件已经提前下载好了&#xff1a; 然后开始安装&#xff1a; 解压安装途中&#xff0c;相关的包也重新下载&#xff1a; 继续安装&#xff1a; 安装完毕了&#xff1…

【多线程-从零开始-伍】volatile关键字和内存可见性问题

volatile 关键字 import java.util.Scanner; public class Demo2 { private static int n 0; public static void main(String[] args) { Thread t1 new Thread(() -> { while(n 0){ //啥都不写 } System.out.println("t1 线程结束循环"); }, "…

基于STM32的智能灌溉系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 初始化代码传感器读取和控制代码应用场景 农业灌溉花园自动灌溉常见问题及解决方案 常见问题解决方案结论 1. 引言 智能灌溉系统通过实时监测土壤湿度和环境温度&#xff0c;自动控制灌溉设…

【画流程图工具】

画流程图工具 draw.io draw.io&#xff08;现称为 diagrams.net&#xff09;是一款在线图表绘制工具&#xff0c;可以用于创建各种类型的图表&#xff0c;如流程图、网络图、组织结构图、UML图、思维导图等。以下是关于它的一些优点、应用场景及使用方法&#xff1a; 优点&a…

Linux(初学)

一.Linux历史 1.计算机发展历史 1945.2.14 埃尼阿克(第一台计算机)(军事用途) 摩尔定律(计算机小型化,高性能化) 摩尔定律是英特尔创始人之一戈登摩尔的经验之谈&#xff0c;其核心内容为&#xff1a;集成电路上可以容纳的晶体管数目在大约每经过18个月到24个月便会增加…

理解Android framework之AOSP:从内核到应用层

一、AOSP Android framework确保设备的各个部件和程序顺利协同工作。对于想要全面了解 Android 设备内部工作原理、开发高质量应用、优化设备性能以及充分利用 Android 生态系统潜力的人来说&#xff0c;了解 Android 框架也是必不可少的。它是连接用户、开发者和 Android 平台…