软件测试之鲁棒性测试

news2024/10/5 12:46:07

文章目录

  • 前言
  • 一、鲁棒性测试是什么?
  • 二、鲁棒性测试的目的
  • 三、测试原理
    • 3.1 错误数据处理
    • 3.2 异常情况处理


前言

Bootloader软件刷写鲁棒性(Robustness)测试是指对Bootloader软件进行连续多次的刷写测试,且一次Fail都没发生,以此验证Bootloader软件的可靠性。鲁棒性是指软件对于异常输入和异常操作的处理能力。鲁棒性测试是通过模拟和验证软件在面对异常情况时的反应和处理能力,评估软件在异常情况下是否能够正常工作或者恢复到正常工作
鲁棒性


一、鲁棒性测试是什么?

鲁棒测试是对各个模块的功能和系统进行容错性的测试,检测软件模块在异常输入和苛刻环境条件下能否保持正常工作,包涵错误数据处理异常情况处理非法操作处理的测试。鲁棒测试大大提高了错误覆盖率,测试终端既要符合测试规范要求,还要有更高的成熟性,容错性和易恢复性,从而更好地提高软件质量。

二、鲁棒性测试的目的

确保终端软件在处理错误数据和异常问题时各个功能模块工作正常,提高终端软件的容错能力。进行异常测试的目的和依据如下:
(1)成熟性:终端软件为避免由软件中错误而导致失效的能力

(2)容错性:终端软件在错误数据或者违规操作的情况下,软件维持规定的性能级别的能力

(3)易恢复性:在发生故障的情况下,终端软件重建规定的性能级别并恢复受直接影响的数据的能力

三、测试原理

鲁棒测试目的是观察终端软件的健壮性。它是在异常和危险情况下终端软件生存的关键。比如说,终端软件在输入错误、网络异常或非法操作下,能否不死机、不崩溃,测试并提高终端软件的容错性能力,确保用户数据不会损害和丢失。终端软件如果不能处理错误的输入,则可能造成:
(1)垃圾数据进入终端软件,影响后续操作;
(2) 因为不能控制终端软件运行流程,终端软件可能处于未知状态,运行发生不稳定的情况,或者错误状态,影响正常业务;
(3) 还可能发生安全性问题,使得非法用户获得利益,或者终端软件不能提供正常的服务。

所以鲁棒性测试是完全必要的,只不过比正常操作的测试优先级低一些。

3.1 错误数据处理

错误数据处理测试原理是根据规范定义手动输入错误数据进行测试,检查测试终端相关功能模块的容错能力,在输入非法数据情况下模块功能是否异常。

(1)错误数据根据需求而言,是没有意义的、不合理的输入数据的集合。

(2)错误数据包括不支持字符,不支持的文件,错误数字(密码,电话等),空白数据,重复数据,错误设置,越界数据等等。

(3)判断提示信息是否正确,首先要符合规范;其次要友好、合理、易理解;这样的提示才能被用户所接受。

3.2 异常情况处理

异常情况处理测试原理是根据规范中异常处理部分的定义对非人为因素导致的异常进行测试,检查测试终端相关功能模块的重试机制和自动恢复能力。

(1)非人为因素异常包括:网络异常,服务器异常,终端软件异常等。

(2) 判断提示信息是否正确,首先要符合规范;其次要友好、合理、易理解;这样的提示才能被用户所接受。

(3) 在异常情况出现后,终端软件会自动发起重试机制,在异常情况消失后,终端软件能够自动恢复。

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

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

相关文章

MySql的增、删、改、查(MySql数据库学习——五)

增(数据添加/插入数据) 使用 INSERT INTO SQL 语句来插入数据。我们可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者 通过PHP 脚本来插入数据。 sql语句: INSERT INTO table_name ( field1, field2,...fieldN ) …

系列九、事务

一、事务 1.1、概述 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或者撤销操作请求,即:这些操作要么同时成功,要么同时失败。 例如: 张三给李四转账1000块钱&…

UI自动化Selenium 测试报告BeautifulReport使用及修改

一、BeautifulReport安装 pip安装 pip install BeautifulReport Pycharm中安装 二、原生报告样式 原生报告,因为我使用ddtunittest数据驱动模式,所以Excel中所有参数都会被拼接出来,导致测试方法里面有太多不需要展示的内容; …

IDEA配置一个新项目

git clone xxxxx 下载项目主分支 git checkout xxx 切换到需要开发的分支上 配置maven仓库 在File下的Settings中设置maven仓库 配置maven仓库的文件夹 配置好maven后,项目中会出现一个红色的pom.xml文件,右击文件,点击…,pom…

【计算机组成与体系结构Ⅱ】多处理器部分讨论题目

多处理机课堂讨论 1.并行计算体系结构有哪些? SIMD、MIMD 2.多处理机的存储结构有哪些? 对称式共享存储器结构、分布式共享存储结构 3.什么是多处理机的一致性? 如果对某个数据项的任何读操作均可得到其最新写入的值,则认为这个存储系统是一致的。 4.监听协议的工…

Ubuntu 常用命令之 ln 命令用法介绍

ln命令在Ubuntu系统中用于创建硬链接或符号链接。硬链接是指向文件的物理地址,而符号链接(也称为软链接)是指向文件路径的引用。 命令格式:ln [选项]... [-T] 目标(源文件) 链接(目标文件&…

windows下使用logstash同步跨网络集群的数据

我们在开发环境过程中,可能会遇到这样的场景。我们可以通过VPN访问远端的机房。有可能还要跨机房访问。这篇文章演示使用logstash,在windows上,去同步跨网络环境的不同机房之间的数据。 此方式受网络限制。适合同步小规模数据。 下载logstash…

基于Java SSM框架实现图书店仓库进销存管理系统项目【项目源码+论文说明】

基于java的SSM框架实现图书店仓库进销存管理系统演示 摘要 仓库作为储存货物的核心功能之一,在整个仓储中具有非常重要的作用,是社会物质生产的必要条件。良好的仓库布局环境能够对货物进入下一个环节前的质量起保证作用,能够为货物进入市场…

AVL树-详细解析【数据结构】

AVL树是首个被发明的自平衡二叉查找树,在1962年由两位苏联科学家G.M. Adelson-Velsky和E.M. Landis提出。AVL树得名于发明者的首字母。在AVL树中,任何节点的两个子树的高度最大差别为一,确保了树的平衡度,使得查找操作相比于普通的…

JavaScript数组分组groupBy

JavaScript 最近发布了一个方法 Object.groupBy,可以对可迭代对象中的元素进行分组。 语法: Object.groupBy(items, callbackFn)items 被分组的可迭代对象,如 Array。 callbackFn 对可迭代对象中的每个元素执行的函数。 举个例子&#…

圣诞树绘制合集-python绘制

使用Python绘制迷人的圣诞树 引言 随着圣诞节的临近,我们都希望以各种方式庆祝这个欢乐的节日。作为一名编程爱好者,你有没有想过用Python来创造节日的气氛呢?在这篇文章中,我将向你展示如何用Python绘制几种不同风格的圣诞树&a…

Linux之进程(四)(进程地址空间)

目录 一、程序地址空间 二、进程地址空间 1、概念 2、写时拷贝 3、为什么要有进程地址空间 四、总结 一、程序地址空间 我们先来看看下面这张图。这张图是我们在学习语言时就见到过的内存区域划分图。 下面我们在Linux下看一看内存区域是不是也是这么划分的。 可见在Li…

浅谈MapReduce

MapReduce是一个抽象的分布式计算模型,主要对键值对进行运算处理。用户需要提供两个自定义函数: map:用于接受输入,并生成中间键值对。reduce:接受map输出的中间键值对集合,进行sorting后进行合并和数据规…

RabbitMq交换机详解

目录 1.交换机类型2.Fanout交换机2.1.声明队列和交换机2.2.消息发送2.3.消息接收2.4.总结 3.Direct交换机3.1.声明队列和交换机3.2.消息接收3.3.消息发送3.4.总结 4.Topic交换机4.1.说明4.2.消息发送4.3.消息接收4.4.总结 5.Headers交换机5.1.说明5.2.消息发送5.3.消息接收5.4.…

Linux(23):Linux 核心编译与管理

编译前的任务:认识核心与取得核心原始码 Linux 其实指的是核心。这个【核心(kernel)】是整个操作系统的最底层,他负责了整个硬件的驱动,以及提供各种系统所需的核心功能,包括防火墙机制、是否支持 LVM 或 Quota 等文件系统等等&a…

数据分析为何要学统计学(2)——如何估计总体概率分布

明确总体的概率分布类型及参数是进行数据分析的基础,这项工作称为分布推断与参数估计。在总体分布及其参数不明确的情况下,我们可以利用手头掌握的样本来完成这项工作。具体过程由以下步骤组成。 第一步,样本统计特性直观估计 我们采用Seab…

虚拟机VirtualBox和VMware安装Ubuntu16配置静态IP

计算机集群安装之前,准备先在虚拟机上尝试一下,网上多是采用VMware虚拟机和CentOS系统,个人则准备采用已经安装好的VirtualBox虚拟机和Ubuntu16,但遇到第一个问题即是配置静态IP,那么对于以上两种虚拟机静态IP配置的问…

(数据结构)单链表的查找和长度计算

代码实现 #include<stdio.h> #include<stdlib.h> typedef struct LNode {int data;struct LNode* next; }LNode,*LinkList; //创建头结点 LNode* InitList(LinkList L) {L (LNode*)malloc(sizeof(LNode));if (L NULL){return NULL;}L->data 0;L->next N…

掌握STL中stack和queue的用法(零基础/小白,全方面了解)

目录 1. stack的概念 2. stack的接口 2.1 构造函数&#xff08;初始化&#xff09; 2.2 赋值 2.3 存取操作 2.4 大小操作 3. queue的概念 4. queue的接口 4.1 构造函数 4.2 赋值操作 4.3 存取操作 4.4 大小操作 stack和queue接口函数很少&#xff0c;只要大家多敲一两…

设计模式(3)--对象结构(3)--组合

1. 意图 将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。 2. 三种角色 抽象组件(Component)、组合式节点(Composite)、叶节点(Leaf) 3. 优点 3.1 定义了包含基本对象和组合对象的类层次结构。 客户代码中&…