软件测试之鲁棒性测试

文章目录

  • 前言
  • 一、鲁棒性测试是什么?
  • 二、鲁棒性测试的目的
  • 三、测试原理
    • 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) 在异常情况出现后,终端软件会自动发起重试机制,在异常情况消失后,终端软件能够自动恢复。

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

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

相关文章

基于java+swing+mysq学生成绩管理系统(含课程报告)

基于javaswingmysq学生成绩管理系统_含课程报告 一、系统介绍二、功能展示三、项目相关3.1 乱码问题3.2 如何将GBK编码系统修改为UTF-8编码的系统? 四、其它1.其他系统实现 五、源码下载 一、系统介绍 本系统使用 Swing MySQL IntelliJ IDEA 开发。为管理人员提供…

【精选】计算机网络教程(第3章数据链路层)

目录 前言 第3章数据链路层 1、差错检测(CRC) 2、点对点协议(了解应用场景) 3、什么是碰撞域,什么是广播域 碰撞域(Collision Domain): 广播域(Broadcast Domain&a…

Linux驱动开发学习笔记4《设备树下的LED驱动实验》

目录 一、设备树LED驱动原理 二、硬件原理图分析 三、实验程序编写 1.修改设备树文件 2.LED 灯驱动程序编写 3.编写测试APP 四、运行测试 1. 编译驱动程序和测试APP (1) 编译驱动程序 (2) 编译测试APP ​ 2.运行测试 一、…

【Hive_03】单行函数、聚合函数、窗口函数、自定义函数、炸裂函数

1、函数简介2、单行函数2.1 算术运算函数2.2 数值函数2.3 字符串函数(1)substring 截取字符串(2)replace 替换(3)regexp_replace 正则替换(4)regexp 正则匹配(5&#xff…

open3d.core导入失败问题

官网的例子中需要导入o3c但是我的代码提示导入失败,百度一下没有找到问题所在 多次测试后发现。 可以不用import open3d.core as o3c 使用的时候直接 o3d.core.tensor就可以了 import open3d as o3d #import open3d. as o3c import numpy as np import matplotl…

Java之Clonable接口和深浅拷贝

Clonable接口 我们船舰了一个人的对象,想要克隆一个一模一样的对象,可以用到object类里面的克隆方法 object不是所有类的父类吗?那为什么用person1点不出这个方法呢?可以看一下源码 这是Object类里面的clone方法的声明&#xff0…

flask简单应用-1

目标: 做一个搜索网页,搜索当前路径下是否含有指定关键字的文件,如果有就列出来,没有返回消息 第一步:我们需要先显示一个搜索页面,页面上需要有一个可以输入的对话框,一个按钮执行搜索 建立ht…

软件测试找了两个月了,简历投了10万多次,找不到工作怎么办?

是行情不好吗?我觉得不是,为什么别人可以找到,而你找了两个月还找不到。 只能说明一个原因,你学的东西和企业需要有些差距。 现在,软件测试已经不是过去那样只会点点点就可以找到一个合适的工作。 首先因为大环境原…

使用 Timm 库替换 RT-DETR 主干网络 | 1000+ 主干融合RT-DETR

文章目录 前言版本差异说明替换方法parse_moedl( ) 方法_predict_once( ) 方法修改 yaml ,加载主干论文引用timm 是一个包含最先进计算机视觉模型、层、工具、优化器、调度器、数据加载器、数据增强和训练/评估脚本的库。 该库内置了 700 多个预训练模型,并且设计灵活易用。…

Java入门学习笔记一

一、Java语言环境搭建 1、JAVA语言的跨平台原理 1.1、什么是跨平台性? 跨平台就是说,同一个软件可以在不同的操作系统(例如:Windows、Linux、mad)上执行,而不需要对软件做任务处理。即通过Java语言编写的…

【C语言】操作符详解(三)

目录 逗号表达式 下标访问[ ],函数调用( ) 下标引用操作符[ ] 函数调用操作符() 逗号表达式 exp1,exp2,exp3,...expN 逗号表达式,就是用逗号隔开的多个表达式…

C语言第四十六弹---最快方法找到杨氏矩阵中的数下标

C语言实现最快方法找到杨氏矩阵中数下标。 定义:杨氏矩阵是一种用于描述Young 表和表示论的工具,它在代数几何和组合数学中有广泛的应用。一个杨氏矩阵是一个以若干个正整数构成的矩形表格,且每行和每列的元素单调递增。 从定义中可获得条件…

管理类联考——英语二——考点+记忆篇——小作文——按行应战

题目要求100字 Dear Mr/Ms.XX, 空两格 I am writing this letter in order to express my sincere gratitude感谢/congratulation祝贺/introduction介绍/invitation邀请/application申请/opinion观点/comfort安慰/complaint抱怨/apology道歉 about sth to you for sth(doing s…

C# DotNetCore AOP简单实现

背景 实际开发中业务和日志尽量不要相互干扰嵌套,否则很难维护和调试。 示例 using System.Reflection;namespace CSharpLearn {internal class Program{static void Main(){int age 25;string name "bingling";Person person new(age, name);Conso…

Java CPU使用率高排除方法

CPU使用率高排除方法 查询CPU使用率高的进程查询线程CPU使用率ps命令方式top 命令方式 查询线程堆栈 jstat 查询gc情况 查询CPU使用率高的进程 ps aux --sort-pcpu | head -10通过ps指令看到pid1799程序CPU使用率47.1%,再看看程序的线程使用情况。 查询线程CPU使用…

【Hive】——DDL(CREATE TABLE)

1 CREATE TABLE 建表语法 2 Hive 数据类型 2.1 原生数据类型 2.2 复杂数据类型 2.3 Hive 隐式转换 2.4 Hive 显式转换 2.5 注意 3 SerDe机制 3.1 读写文件机制 3.2 SerDe相关语法 3.2.1 指定序列化类(ROW FORMAT SERDE ‘’) 3.2.2 指定分隔符&#xff0…

虚拟网络管理解决方案

随着业务规模的扩大,其网络的规模和复杂性也成比例地扩大,企业级组织和中小型企业需要大规模网络来满足不断增长的业务需求,然而,大规模网络需要大量的物理组件、定期维护和配置,所有这些都是有代价的,因此…

[ACTF2020 新生赛]Include (文件包含漏洞)

打开题目: 就一个tips 看看源码: 奥,fileflag.php 而且再看题目:include 应该是文件包含漏洞,是一道php伪协议题目 -.-PHP伪协议-.-: 我们通过 php://filter 来获取源码: 构造payload: …

runCatching异常捕获onSuccess/onFailure返回函数,Kotlin

runCatching异常捕获onSuccess/onFailure返回函数,Kotlin fun test(a: Int, b: Int) {runCatching {a / b}.onSuccess {println("onSuccess: $it")return ok(it)}.onFailure {println("onFailure: $it")return fail(it)} }fun ok(o: Any) {prin…

【基础算法】前缀和

文章目录 算法介绍什么是前缀和??前缀和的作用一维数组求解前缀和(Si)二维数组求解前缀项和 示例题目1:acwing795示例题目2:acwing796总结收获 算法介绍 什么是前缀和?? 数组: a[1], a[2], a[3], a[4], a[…