测试用例设计方法-异常测试

        飞的最高的海鸥,能看到最远的奇景。大家好,继续给大家分享如何进行异常测试,首先要做好异常测试,需要我们对被测系统进行全面的了解,熟悉被测系统的功能、架构和运行机制,然后在这个基础上尽可能覆盖各种的异常情况,细致的进行测试执行,确保每个异常场景都被充分的测试,如果发现问题,及时的记录数据和问题,与开发人员深入的分析原因,根据测试结果不断地优化我们的测试方法和系统,希望本文可以给大家提供一定的帮助。

一、什么是异常测试?

        异常测试就是专门针对系统在非正常、意外情况下的表现进行的测试,由测试人员模拟各种可能出现的异常情况,如数据错误、网络故障、硬件损坏、环境变化等,观察系统是否能够正确处理这些异常,是否会出现崩溃、错误提示、数据丢失等问题。通过异常测试,可以提前发现系统的潜在风险和薄弱环节,以便及时进行改进和优化,确保系统在实际运行中更加稳定可靠

二、异常测试方法

数据异常测试

        数据异常测试主要是通过输入异常或不合法的数据,比如超出范围的数据、不符合格式的数据、错误的数据等,来检验系统对这些异常数据的处理能力。这样可以发现系统在数据处理方面可能存在的漏洞或缺陷,确保系统能够正确识别和处理各种数据异常情况,保障系统的正常运行。

例如:

1、输入负数或非常大的数值,或者包含特殊字符的数据。

2、输入缺失关键信息的数据。

3、输入不符合数据格式的数据,如日期格式错误。

4、输入重复的数据。

网络异常测试

        网络异常测试是指模拟网络出现各种异常状况时,对系统进行的测试。比如模拟网络延迟、中断、丢包等情况,观察系统在这些情况下的反应,是否能正常运行,数据是否会丢失或出错等。通过这种测试,可以发现系统在网络环境不稳定时存在的潜在问题,以便采取相应的措施来提高系统的稳定性和可靠性。

比如:

1、模拟网络延迟,查看系统的响应速度是否变慢。

2、模拟网络中断一段时间,观察系统在恢复网络后的状态。

3、模拟网络丢包,检查数据传输的完整性。

4、在不同网络带宽下测试系统的性能。

5、测试系统在移动网络环境中的表现。

注意:一般我们在进行网络异常测试的时候,通常要借助工具,例如Charles或者Fiddler可以参考以下文章

使用Charles抓包、模拟弱网和篡改请求

使用Fiddler抓包、模拟弱网和篡改请求

断电异常测试

        断电异常测试是指在系统运行过程中,模拟突然断电的情况,然后观察系统在恢复供电后能否正常工作,以及数据是否有丢失或损坏等。这主要是为了检验系统应对突发断电情况的能力,确保系统在实际使用中能够保持稳定和可靠。

比如:

1、正在进行数据处理或文件传输时突然断电。

2、系统长时间运行后突然断电。

3、在系统执行关键操作时断电。

资源异常测试

        资源异常测试是指对系统在资源不足或异常情况下的表现进行测试。比如测试当内存不足、磁盘空间不足、CPU 占用过高时,系统是否能正常运行,是否会出现卡顿、崩溃或错误等情况。通过这种测试,可以发现系统在资源管理方面可能存在的问题,以便进行优化和改进。

比如:

1、限制系统的内存使用,观察系统的性能和稳定性。

2、将磁盘空间占满,看系统是否还能正常保存数据。

3、人为制造高 CPU 负载,测试系统在这种情况下的响应速度。

权限异常测试

        权限异常测试是指检验系统在用户权限出现异常情况时的表现。比如测试当用户拥有超出其应有权限或没有相应权限时,系统能否正确识别并做出合理的反应,防止出现安全漏洞或功能异常等问题。

比如:

1、给用户赋予过高的权限,看是否能执行不应该被允许的操作。

2、用户在没有权限的情况下尝试访问受限资源。

3、用户在权限变更后,系统对其之前的操作是否有正确的处理。

时间异常测试

        时间异常测试是指对系统在时间相关方面出现异常情况时的测试。比如测试系统在时间突然跳跃、倒退或出现异常时间间隔时的反应,观察系统是否能正确处理时间相关的业务逻辑,是否会出现数据错误或功能异常等问题。

比如:

1、将系统时间设置为未来或过去的某个时间,检查系统的行为。

2、频繁更改系统时间,观察系统对时间变化的适应能力。

3、在系统执行与时间相关的任务时,突然调整时间。

环境异常测试

        环境异常测试是指模拟系统所处环境出现异常情况的测试。比如测试在温度过高或过低、湿度异常、电磁干扰等环境条件下,系统的性能、稳定性和可靠性是否会受到影响。通过这种测试,可以发现系统在不同环境下可能存在的问题,以便采取相应的措施来提高其适应能力。

比如:

1、在高温环境下测试系统的散热性能。

2、在低温环境下测试系统的启动和运行情况。

3、在强电磁干扰环境下测试系统的数据传输和运行稳定性。

4、模拟高湿度环境,观察系统是否会受潮出现故障。

硬件异常测试

        硬件异常测试是指针对系统所使用的硬件设备出现异常情况时进行的测试。比如测试当硬件设备出现故障、损坏、接触不良等情况时,系统能否正常运行,是否会出现错误提示或功能异常等。通过这种测试,可以发现系统与硬件的兼容性问题以及系统在硬件异常情况下的应对能力。

比如:

1、拔掉某些硬件设备,观察系统的反应。

2、模拟硬件设备的连接不稳定情况。

3、对硬件设备进行物理损坏,看系统是否还能正常工作。

异常状态恢复测试

        异常状态恢复测试就是检验系统在经历异常状态后,能否顺利恢复到正常运行状态的测试。比如系统在遇到故障、错误或其他异常情况后,是否能自动或通过一定操作恢复正常,以及恢复过程是否平稳、数据是否完整等。

比如:

1、系统突然断电后重新启动,检查各项功能是否正常。

2、软件发生错误后自动重启,验证是否能恢复到之前的状态。

3、网络中断后重新连接,查看数据传输是否恢复正常。        

常见的异常状态:

死机:系统完全停止响应。

卡顿:系统运行缓慢,不流畅。

崩溃:系统突然停止运行并出现错误提示。

数据丢失或损坏:重要的数据无法被正常读取或出现错误。

网络异常:如网络连接中断、延迟过高。

硬件故障:如硬盘损坏、内存出错等。

权限不足:用户无法执行某些操作。

时间异常:系统时间出现错误。

        总结,以上是一些常用的异常测试方法,当我们在进行异常测试时,需要重点关注异常恢复的及时性,恢复后数据是否完整,异常解决后功能是否可以正常使用,以及是否存在残留问题等。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

再谈“协议”

1.认识协议 之前我们使用TCP的方式实现了一个服务器,而TCP是面向字节流的,而UDP是面向数据报的,接下来通过一个例子区分两种的区别。 UDP面向数据报:就如同发快递,你发多少个快递,对面就收到多少个快递&am…

探索React Router:实现动态二级路由

我有一个路由配置的二维数组,想根据这个数组结合路由组件来动态生成路由,应该怎么样实现。在 React Router 6 中渲染二级路由的方式跟 React Router 65相比有一些变化,但核心思路仍然是利用 Route 组件和路由嵌套的方式。下面是具体的步骤: 定义路由数组…

OpenCompass 大模型评测实战——作业

OpenCompass 大模型评测实战——作业 一、基础作业1.1、使用 OpenCompass 评测 internlm2-chat-1_8b 模型在 C-Eval 数据集上的性能1.1.1、安装基本环境1.1.2、解压数据集1.1.3、查看支持的数据集和模型1.1.4、启动评测 二、进阶作业2.1、将自定义数据集提交至OpenCompass官网 …

WIFISKY 7层流控路由器 confirm.php RCE漏洞复现

0x01 产品简介 WIFISKY-7层流控路由器是一款可用于家庭或办公环境的无线路由器,具备流控功能以优化网络流量和提供更稳定的网络连接。该路由器采用了7层流控技术,能够依据网络数据包的内容进行智能管理,从而实现对网络流量的精细化控制和优化。这种技术可以提升网络的整体性…

vscode 使用文件模板功能来添加版权信息

vscode 新建文件的时候,自动填充作者及版权信息 无需使用插件,操作如下: 选择 “首选项(Preferences)”。在搜索框中输入 “file template” 或者 “文件模板”,然后选择相关的设置项。 {"C_Cpp.clang_format_fallbackSt…

ctfshow web入门 SQl注入 web191--web200

web191 多了一个正则绕过 上脚本布尔盲注 用ord #author:yu22x import requests import string url"http://70adf0cb-2208-4974-b064-50a4f4103541.challenge.ctf.show/api/index.php" sstring.ascii_lettersstring.digits flag for i in range(1,45):print(i)for j…

【熵与特征提取】从近似熵,到样本熵,到模糊熵,再到排列熵,包络熵,散布熵,究竟实现了什么?(第六篇)——“散布熵”及其MATLAB实现

今天讲散布熵,之前用了几篇文章分别讲述了功率谱熵、奇异谱熵、能量熵、近似熵、样本熵、模糊熵、排列熵、包络熵这8种类型的熵: Mr.看海:【熵与特征提取】基于“信息熵”的特征指标及其MATLAB代码实现(功率谱熵、奇异谱熵、能量…

脚手架搭建项目package.json配置中依赖的版本问题

脚手架搭建项目package.json配置中依赖的版本问题 问题描述:项目刚搭建好,运行没有问题,为什么过一段时间,删除node_modules,或者重新安装包依赖,然后项目某些地方出现莫名的错误(依赖库的地方…

希捷HDD最新财报:销售同比下降11%,环比增长6%,4Q24前景看好

Seagate Technology Holdings plc公布了截至2024年3月29日的第三财季财务业绩。 “随着云需求改善、我们强大的运营纪律和价格执行,希捷3月季度的营收增长了6%,非GAAP每股收益较上一季度翻了一番多。这种组合为我们市场复苏时回归目标利润率奠定了基础。…

C++:类与对象完结篇

hello,各位小伙伴,本篇文章跟大家一起学习《C:运算符重载》,感谢大家对我上一篇的支持,如有什么问题,还请多多指教 ! 文章目录 重新认识构造函数1.初始化列表2.explicit关键字 static成员1.sta…

面试:ThreadLocal

目录 1、ThreadLocal可以实现〔资源对象】的线程隔离,让每个线程各用各的【资源对象】,避免争用引发的线程安全问题 2、ThreadLocal同时实现了线程内的资源共享 3、原理 4、为什么ThreadLocalMap 中的 key (即 ThreadLocal )要设计为弱引用…

configure: error: library ‘crypto‘ is required for OpenSSL

1、执行命令./configure --prefix/usr/local/pgsql/postgresql-14.2 --with-openssl 报错configure: error: library crypto is required for OpenSSL 2、解决办法 yum install openssl openssl-devel

pom文件依赖报红问题

dependencyManagement标签下依赖报红 如图 dependencyManagement标签下依赖报红问题,原因是dependencyManagement标签下的包不会被下载,repository里根本没有 解决方法 :将依赖复制到dependencies标签下,再reload pom文件&#x…

Leetcode算法训练日记 | day35

专题九 贪心算法 一、柠檬水找零 1.题目 Leetcode:第 860 题 在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然…

为什么建议游戏工作室使用海外住宅IP防封?

当谈到游戏工作室时,它们通常以多开游戏账号来获取收益为主要目标。这种商业模式在游戏产业中已经成为一个独特而且颇具潜力的领域。然而,随之而来的是防封问题,特别是当游戏工作室试图通过多开账号来赚取更多收益时。因此,我们有…

【第6节】Lagent AgentLego 智能体应用搭建

目录 1 基础课程2 安装环境2.1 教程要求2.2 安装 Lagent 和 AgentLego 3 实践操作3.1 Lagent:轻量级智能体框架3.1.1 Lagent Web Demo 使用3.1.2 用 Lagent 自定义工具 3.2 AgentLego:组装智能体“乐高”3.2.1 AgentLego 直接使用部分3.2.2 AgentLego We…

【Harmony3.1/4.0】笔记二

概述 列表是一种复杂的容器,当列表项达到一定数量,内容超过屏幕大小时,可以自动提供滚动功能。它适合用于呈现同类数据类型或数据类型集,例如图片和文本。在列表中显示数据集合是许多应用程序中的常见要求(如通讯录、…

linux——yum工具详解

yum是linux中自动解决软件包依赖关系的管理器 同时,yum也是一个rpm软件 这里使用yum install nginx安装nginx

Windows SMBGhost CVE-2020-0796 Elevate Privileges

SMBGhost CVE-2020-0796 Microsoft Windows 10 (1903/1909) - ‘SMBGhost’ SMB3.1.1 ‘SMB2_COMPRESSION_CAPABILITIES’ Local Privilege Escalation https://www.exploit-db.com/exploits/48267 Github https://github.com/danigargu/CVE-2020-0796 修改载荷[可选] 生成 c# …

用c++实现起泡排序、哈密顿回路问题、TSP问题

5.3.2 起泡排序 【问题】 起泡排序(bubble sort)的基本思想是:两两比较相邻记录,如果反序则交换,直至没有反序的记录,如图5.8所示。【想法】下表给出了一个起泡排序的例子(方括号括起来的为无序区)&#x…