容易被遗忘的测试用例

网络服务器启动了吗?应用程序服务器启动了吗?数据库上线了吗?测试数据是否预先加载到数据库中?每当我们准备开始测试应用程序时,一切都应该已经准备妥当。

 然而,当测试开始后,我们可能会漏掉一些测试用例,只有在发布期间对生产环境进行健全性测试时才会意识到这一点。在今天的文章中,我们将讨论开发团队经常忽视的一些常见领域:

  • 数据库/内存数据库

  • 访问令牌

  • API 请求

  • 其他杂项区域(即无连接)

话不多说,让我们看一下上面提到的每个领域的几个测试用例!

注意:本文中提到的内容均来自我们自己的经验,并不是全部用例。

数据库/内存数据库
测试案例 1:凭据无效

通常为每个应用程序完成一次数据库设置,其中将为不同的环境设置不同的凭据。设置完成后,凭据只会在 x 天后更改。当凭证发生更改时,团队可能会忘记在系统内手动更新(取决于数据库的设置方式),因为已经有一段时间了。因此,检查一下总是好的。此外,如果应用程序正在发布其第一个版本,则可能会从非生产环境复制凭据。因此,验证生产环境的凭据设置是否正确非常重要。

测试用例 2:未设置表

表的创建是手动或通过脚本完成的,有时可能会发生一些错误团队会漏掉。尽管这种情况很少见,但我们不想假设它总是成功且没有错误。

测试用例3:表中没有可用记录

这是一个被高度忽视的领域,因为每个人都认为数据肯定会在发布之前正确地预加载到数据库表中。由于这种假设,开发团队往往不进行检查/测试。此外,测试数据大多数时候都是预先加载到数据库中的,所以数据库中没有记录的可能性很小。

测试用例 4:过时的架构

架构可能会在测试期间更新,但有时可能会忘记部署到生产环境,特别是如果发布频率很短(例如每个发布 2-3 周);每个版本中的架构并不总是发生变化。如果错误处理不当,应用程序可能会崩溃,从而给用户使用应用程序带来不便。

访问令牌
测试用例 5:访问令牌无效

必须在访问任何经过身份验证的 API 之前生成访问令牌。一旦能够访问 API,常常会对测试应用程序的功能过于兴奋,并且可能会错过对无效访问令牌场景的测试。应用程序中不允许注销或并发登录而撤销的令牌也属于无效访问令牌的情况。

测试用例 6:过期的访问令牌

访问令牌确实有过期时间,实际上有两种过期类型:由于闲置而过期和超过令牌生命周期而过期。如果笔记本电脑短暂闲置,你可能已经了解了当访问令牌的有效期很短时应用程序如何处理这种情况。

API请求
测试用例7:失败期间的常见响应代码

我们如此专注于功能测试(其中 API 请求将始终返回成功代码 200),以至于可能忘记测试 API 请求的其他常见响应代码,例如:

  • 错误请求 (400):无效请求

  • 未经授权(401):身份验证失败

  • Forbidden (403):身份验证成功但无权访问所请求的资源

  • 未找到(404):请求的资源不存在

  • 内部服务器错误 (500):服务器出现意外错误

  • 服务不可用(503):服务器尚未准备好处理任何请求

  • 网关超时(504):没有收到及时响应来完成请求

当测试上述测试用例时,需要确保应用程序有一个自定义页面来处理所有不同类型的错误。StackTrace 应始终对用户隐藏,以获得更好的用户体验。

其他
测试用例 8:服务中断

当数据库、后端服务器或其他下游服务宕机时,会给团队带来不便。因此,应该检查以确保所有连接始终处于正常状态。查看应用程序的架构图,看看是否有其他外部组件与应用程序交互。模拟内部/外部组件发生故障,以查看应用程序是否能够很好地处理它并在组件再次启动时正常恢复。

在进行此类测试用例的测试时,需要安排一个停电期来通知团队,以便团队了解测试环境的稳定性。如果无法进行中断期测试,还可以尝试其他环境(开发、UAT、登台、RC 等)或启动一个限时环境并在测试完成后将其拆除。

如果需要本文中上述测试用例的清单,可以参考下方列表~

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

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

相关文章

从excel数据导入到sqlsever遇到的问题

1、格式问题时间格式,excel中将日期列改为日期未生效,改完后,必须手动单击这个单元格才能生效,那不可能一个一个去双击。解决方案如下 2、导入之后表字段格式问题,数据类型的用navicat导入之后默认是nvarchar类型的&a…

【算法】图论——树的重心

目录 题目解析 算法原理 图的存储 算法实现 题目解析 题目解析 给定一颗树,树中包含n个结点(编号)和n-1条无向边。请找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 什么是重心? 重…

全面UI组件库Telerik 2024 Q4全新发布——官方宣布支持.NET 9

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库,加快开发速度。Telerik DevCraft提供最完整的工具箱,用于构建现代和面向未来的业务应用程序,目前提供UI for ASP.NET MVC、Ken…

数据分析(一): 掌握STDF 掌握金钥匙-码农切入半导体的捷径

中国的半导体行业必然崛起!看清这个大势,就会有很多机会。 今天,我们一起来了解一下半导体行业的一朵金花:STDF。 实际上这只是一种文件格式,但是当你熟练掌握解析这种文件的时候,你就已经打开在这个基础…

【批处理脚本】更改Windows系统中的 hosts 解析文件

概述 作用 修改 Windows 系统中的 hosts 文件,可以实现 插入 或 删除 条目。该脚本允许用户以管理员权限执行,将特定的域名解析到指定的 IP 地址 应用场景 非常适用于需要频繁或批量修改 hosts 文件的场景: 屏蔽网站、域名重定向、DNS 污染防…

【Rust在WASM中实现pdf文件的生成】

Rust在WASM中实现pdf文件的生成 前言概念和依赖问题描述分步实现pdf转Blob生成URL两种方式利用localstorage传递参数处理图片Vec<u8>到pdf格式的Vec<u8>使用rust创建iframe显示pdf的Blob最后 前言 实现了一个通用的前端jpg转pdf的wasm,因为动态响应框架无法直接打…

CanFestival移植到STM32 F4芯片(基于HAL库)

本文讲述如何通过简单操作就可以把CanFestival库移植到STM32 F4芯片上&#xff0c;作为Slave设备。使用启明欣欣的工控板来做实验。 一 硬件连接 观察CAN报文需要专门的设备&#xff0c;本人从某宝上买了一个兼容PCAN的开源小板子&#xff0c;二十几块钱&#xff0c;通过USB接…

Cursor+Devbox AI开发快速入门

1. 前言 今天无意间了解到 Cursor 和 Devbox 两大开发神器,初步尝试以后发现确实能够大幅度提升开发效率,特此想要整理成博客以供大家快速入门. 简单理解 Cursor 就是一款结合AI大模型的代码编辑器,你可以将自己的思路告诉AI,剩下的目录结构的搭建以及项目代码的实现均由AI帮…

Redis常见问题总结

Redis常见问题总结 1.Redis分布式存储方案 分布式存储核心特点主从&#xff08;Master/Slave&#xff09;模式一主多从&#xff0c;故障时手动切换。哨兵&#xff08;Sentinel&#xff09;模式有哨兵的一主多从&#xff0c;主节点故障自动选择新的主节点。集群&#xff08;Cl…

Svn如何切换删除账号

记录Svn清除切换账号 1.首先打开小乌龟的设置如下图 打开设置后单击已保存数据&#xff0c;然后选择清除 接上图选择清除后&#xff0c;就可以打勾选择清除已保存的账号&#xff0c;我们再次检出的就可以切换账号了 &#x1f449;总结 本次记录Svn清除切换账号 如能帮助到你…

电子应用设计方案-38:智能语音系统方案设计

智能语音系统方案设计 一、引言 智能语音系统作为一种便捷、自然的人机交互方式&#xff0c;正逐渐在各个领域得到广泛应用。本方案旨在设计一个高效、准确、功能丰富的智能语音系统。 二、系统概述 1. 系统目标 - 实现高准确率的语音识别和自然流畅的语音合成。 - 支持多种语…

红外跟随避障模块详解

在智能车、机器人和自动化等领域避障技术是确保安全和高效运行的关键。红外避障模块作为一种常见的避障解决方案&#xff0c;因其非接触、响应速度快和抗干扰能力强等优点而备受青睐。本文将详细介绍红外避障模块的特点、工作原理、以及应用案例&#xff0c;帮助您更好地了解这…

数据下载实践教程系列:跨过数据获取障碍---TCIA和TCGA数据下载

1.前言 作为一个医工交叉领域的工科学者&#xff0c;我想你必定听说过TCGA数据库和TCIA数据库&#xff0c;但是身边不少生信学者和医生是会用的&#xff0c;但大都将此作为护城河而讳莫如深&#xff01;有了数据&#xff0c;工科小伙伴也可以摆脱数据依赖而独立进行研究了。作为…

期权懂|场内个股期权开户流程有哪些?

期权小懂每日分享期权知识&#xff0c;帮助期权新手及时有效地掌握即市趋势与新资讯&#xff01; 场内个股期权开户流程有哪些&#xff1f; 场内个股期权开户第一步开户‌&#xff1a; 投资者首先需要在具有期权交易资格的证券公司开立期权账户。 ‌场内个股期权开户第二步选…

Qt复习学习

https://www.bilibili.com/video/BV1Jp4y167R9/?spm_id_from333.999.0.0&vd_sourceb3723521e243814388688d813c9d475f https://subingwen.cn/qt/qt-primer/#1-4-Qt%E6%A1%88%E4%BE%8B https://subingwen.cn/qt/ https://download.qt.io/archive/qt/1.1Qt的特点 1.2QT中的…

Qt开源控件:图像刻度轴绘制器 (附源码)工程项目私信博主

项目简介 图像刻度轴绘制器是一款基于 Qt/C 开发的小型绘图工具&#xff0c;旨在实现带有刻度轴的图像显示功能。该项目主要用于需要精确测量或标注图像坐标的场景。通过左侧和底部的坐标轴以及对应的刻度线&#xff0c;可以直观地了解图像内容在二维空间中的位置。 项目功能 …

【Transformer序列预测】Pytorch中构建Transformer对序列进行预测源代码

Python&#xff0c;Pytorch中构建Transformer进行序列预测源程序。包含所有的源代码和数据&#xff0c;程序能够一键运行。此程序是完整的Transformer&#xff0c;即使用了Encoder、Decoder和Embedding所有模块。源程序是用jupyterLab所写&#xff0c;建议分块运行。也整理了.p…

mac 安装python3和配置环境变量

mac 安装python3和配置环境变量 前言怎样选择python3的版本python3的安装1、去官网下载安装包2、下载完成后直接解压,检查安装是否成功 前言 在学习python的第一步就是安装它和配置他的环境变量&#xff0c;那么选择哪个版本的python你可曾知道&#xff0c;下面就讲解怎样选择…

基于MFC实现的人机对战五子棋游戏

基于MFC实现的人机对战五子棋游戏 1、引言 此报告将详细介绍本次课程设计的动机、设计思路及编写技术的详细过程&#xff0c;展现我所学过的C知识以及我通过本次课程设计所学到例如MFC等知识。在文档最后我也会记录我所编写过程遇到的问题以及解决方案。 1.1 背景 五子棋是…

6.824/6.5840 Lab 4: Fault-tolerant Key/Value Service

We are the champions my friend And well keep on fighting till the end We are the champions ——We Are The Champions 完整代码见&#xff1a; GitHub - SnowLegend-star/6.824: As we advance, the trials grow ever more arduous, and now we stand before an even mig…