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

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

您好,我是程序员小羊!

前言

这一阶段是接口测试的学习,我们接下来的讲解都是使用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. 使用工具:Postman2. 使用代码: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.rhkb.cn/news/393003.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

牛!手机上轻松部署大模型全攻略!

当前AI革命中,大模型发挥关键角色,其理论基础在于Scaling Law。简单来说就是,随着数据、参数和计算能力的提升,模型能力增强,展现出小规模模型所不具备的“涌现能力”。众多AI企业推出开源大模型,规模按扩展…

红黑树的概念和模拟实现[C++]

文章目录 红黑树的概念一、红黑树的性质红黑树原理二、红黑树的优势和比较 红黑树的模拟实现构建红黑树的数据结构定义节点的基本结构和初始化方式插入新节点插入新节点的颜色调整颜色和结构以满足红黑树性质 红黑树的应用场景 红黑树的概念 一、红黑树的性质 红黑树是一种自平…

Redis系列之Redis Sentinel

概述 Redis主从集群,一主多从模式,包括一个Master节点和多个Slave节点。Master负责数据的读写,Slave节点负责数据的查询。Master上收到的数据变更,会同步到Slave节点上实现数据的同步。通过这种架构实现可以Redis的读写分离&…

工具|阅读PDF时鼠标显示为小手中有向下箭头解决方法

由于工作中,会大量阅读PDF文档,如手册,规格书,各种图纸等,因此好用的PDF工具必不可少。我主要习惯用福昕阅读器,标注比较方便。 所以,本文主要以福昕阅读器为主,当然也适用于其他的阅…

Docker Volume(存储卷)

一、认识 1.1 概念 存储卷就是将宿主机的本地文件系统中存在的某个目录直接与容器内部的文件系统上的某一目录建立绑定关系。这意味着,在容器中的这个目录下写入数据时,容器会将内容直接写入到宿主机上与此容器建立了绑定关系的目录 在宿主机上的这个…

实验8-1-6 在数组中查找指定元素

本题要求实现一个在数组中查找指定元素的简单函数。 函数接口定义: int search( int list[], int n, int x );其中list[]是用户传入的数组;n(≥0)是list[]中元素的个数;x是待查找的元素。如果找到 则函数search返回…

基于Golang实现Kubernetes边车模式

本文介绍了如何基于 Go 语言实现 Kubernetes Sidecar 模式,并通过实际示例演示创建 Golang 实现的微服务服务、Docker 容器化以及在 Kubernetes 上的部署和管理。原文: Sidecar Pattern with Kubernetes and Go[1] 在这篇文章中,我们会介绍 Sidecar 模式…

软件测试学习笔记

测试学习 1. 测试流程2. Bug的提出什么是bugbug 的描述bug 级别 3. 测试用例的设计什么是测试用例测试用例应如何设计基于需求的设计方法等价类边界值场景法正交表法判定表法错误猜测法 4. 自动化测试回归测试自动化分类 5. 安装 webdriver-manager 和 selenium第一个web自动化…

链表List

简介 STL中的List与顺序表vector类似,同样是一种序列式容器,其原型是带头节点的双向循环链表。 List的使用 list中的接口比较多,此处类似,只需要掌握如何正确的使用,然后再去深入研究背后的原理,已达到可…

基于R语言生物信息学大数据分析与绘图

随着高通量测序以及生物信息学的发展,R语言在生物大数据分析以及数据挖掘中发挥着越来越重要的作用。想要成为一名优秀的生物数据分析者与科研团队不可或缺的人才,除了掌握对生物大数据挖掘与分析技能之外,还要具备一定的统计分析能力与SCI论…

CSDN 僵尸粉 机器人

CSDN 僵尸粉 机器人 1. 前言 不知道什么时候开始每天创作2篇就有1500流量爆光,每次都能收获一些关注和收藏,感觉还是挻开心的感觉CSDN人气还是挻可以的以前各把月一个收藏和关注都没有写的动力了。 2. 正文 后面又连接做了2天的每日创建2篇任务&…

JVM(九)深入解析Java字节码技术与执行模型

这篇文章深入探讨了Java字节码技术,包括字节码的简介、获取字节码清单的方法、解读字节码清单、查看class文件中的常量池信息、查看方法信息、线程栈与字节码执行模型、方法体中的字节码解读、对象初始化指令、栈内存操作指令、局部变量表、流程控制指令、算术运算指…

简单的docker学习 第3章 docker镜像

第3章 Docker 镜像 3.1镜像基础 3.1.1 镜像简介 ​ 镜像是一种轻量级、可执行的独立软件包,也可以说是一个精简的操作系统。镜像中包含应用软件及应用软件的运行环境。具体来说镜像包含运行某个软件所需的所有内容,包括代码、库、环境变量和配置文件等…

加密软件中的RSA和ECC的主要区别是什么

在加密软件中,RSA(Rivest-Shamir-Adleman)和ECC(Elliptic Curve Cryptography,椭圆曲线密码学)是两种广泛使用的非对称加密算法,它们之间存在多个关键区别。 1. 算法基础 RSA:基于大…

汽车网络安全 -- MAC介绍:CMAC与CBC-MAC不能混为一谈

目录 1.什么是MAC 2.CMAC 3.HMAC 4.小结 1.什么是MAC MAC全称Message authentication code,是经过特定算法后产生的一小段数据信息,用于校验某数据的完整性和真实性。在数据传递过程中,可检查其内容是否被更改过,不管更改的原…

Webpack入门基础知识及案例

webpack相信大家都已经不陌生了,应用程序的静态模块打包工具。前面我们总结了vue,react入门基础知识,也分别做了vue3的实战小案例,react的实战案例,那么我们如何使用webpack对项目进行模块化打包呢? 话不多…

路由器IP互联无线对讲系统解决方案

一、项目概况 随着信息化的全面深入发展,各行各业的通信需求日益增长,传统的通信方式无法满足跨网络、跨系统、跨媒介的通信互联互通,打破信息孤岛、提高协同效率,成为当前各行业融合通信的首要任务。尤其大型企业、学校、医院等…

模型优化学习笔记—对比各种梯度下降算法

import mathimport numpy as np from opt_utils import * import matplotlib.pyplot as plt# 标准梯度下降 def update_parameters_with_gd(parameters, grads, learning_rate):L len(parameters) // 2for l in range(1, L 1):parameters[f"W{l}"] parameters[f&q…

自己动手实现scikit库中的fit和transform方法

文本分析第一步要解决的是如何将文本非结构化信息转化为结构化信息,其中最关键的是特征抽取,我们使用scikit-learn库fit和tranform方法实现了文本数据的特征抽取。 但是对于fit和transform,大家可能还是有点迷糊。最近又将《Applied Text An…

如何用一个以太网回环短接器激活以太网接口:以太网短接口制作

在非常特殊的情况下,我们需要在没有接以太网的情况下,使用本地的以太网(有些程序、代码必须上网才能运行)。这时候需要插上一个以太网短接口,骗系统已经插上网线。 制作以太网短接口 以太网短接口的制作非常简单&…