《系统架构设计师教程(第2版)》第9章-软件可靠性基础知识-05-软件可靠性测试

news2024/11/24 5:36:53

文章目录

  • 1. 概述
  • 2. 定义软件运行剖面
    • 2.1 软件的使用行为建模
    • 2.2 输入域分层
    • 2.3 弧上的概率分配
    • 2.4 其他注意点
  • 3. 可靠性测试用例设计
  • 4. 可靠性测试的实施
    • 4.1 测试前检查
    • 4.2 注意点
    • 4.2 可靠性测试的难点
      • 1)失效判断的主观性
      • 2)计算的错误结果不易被发现
    • 4.3 用时间定义的可靠性数据
    • 4.4 测试记录包含的信息
    • 4.5 测试报告

1. 概述

  • 其主要活动:可靠性目标的确定、运行剖面的开发、测试用例的设计、测试实施、测试结果的分析

2. 定义软件运行剖面

【扩展】

  • 马尔可夫链:
    • 是一种随机过程,它描述了系统在不同状态之间的转移概率
    • 系统的未来状态仅取决于当前状态,而与过去的状态无关
  • 弧:在软件运行剖面中,用来表示软件系统在不同状态之间转换的一种抽象

2.1 软件的使用行为建模

  • 建模过程:
    • 马尔可夫链输入域编码为一个代表用户观点的软件使用的状态集
    • 连接两个状态,它表示由各种激励导致的状态转换
    • 转换概率分配给每个弧

2.2 输入域分层

  • 两种类型的分层形式:
    • 用户级分层:依赖于谁能激励系统
    • 用法级分层:依赖于在测试状态下,能做什么

2.3 弧上的概率分配

  • 分配考虑因素:

    • 从现有系统收集到的数据
    • 与用户的交谈或对用户进行观察获得的信息
    • 原型使用与测试分析的结果。
    • 相关领域专家的意见。
  • 分配方法

    • 最佳方法:使用实际的用户数据

      如来自系统原型、前一版本的使用数据;

    • 其次:是由该软件应用领域的用户和专家提供的预期使用数据

    • 最差情况(无数据情况):将每个状态现有的弧分配相同的概率

2.4 其他注意点

  1. 运行剖面的开发与定义必须充分分析和考虑软件的实际运行情况
    • 软件可靠性行为是相对于软件实际的运行剖面而言的
    • 同一软件在不同运行剖面下其可靠性表现可能大不相同
  2. 剖面上很小比例的操作可能占很大的故障比例

飞机的飞行控制软件,在正常飞行、起飞、降落、地面运动和地面等待这5个状态中,尽管起飞和降落在运行剖面上只占有很小的百分比,但是它们却占有很大的故障比例。

  1. 一个产品有可能需要开发多个运行剖面
    • 边界、跃迁情况、关键功能通常单独定义运行剖面

3. 可靠性测试用例设计

  • 测试用例的选择方法:

    • 在运行剖面中的每个元素都定量地赋予一个发生概率值和关键因子
    • 根据这些因素分配测试资源,挑选和生成测试用例
  • 测试用例考虑因素:

    • 既要有一般情况,也应有极限情况、最大和最小的边界值情况
    • 易于发现缺陷的测试用例和数据
  • 测试用例的组成部分

    • 测试用例标识
    • 被测对象
    • 测试环境及条件
    • 测试输入
    • 操作步骤
    • 预期输出
    • 判断输出结果是否符合标准
    • 测试对象的特殊需求
  • 可靠性测试用例考虑的特殊情况

在这里插入图片描述

4. 可靠性测试的实施

4.1 测试前检查

  • 检查软件需求与设计文档是否一致
  • 检查文档的准确性、完整性以及与程序的一致性
  • 检查所交付程序和数据以及相应的软件支持环境是否符合要求

4.2 注意点

  • 要补充的非统计性测试,需要在可靠性测试之前
  • 开发方交付的任何软件文档中与可靠性质量特性有关的部分、程序以及数据都应当按照需求说明和质量需求进行测试
  • 在项目合同、需求说明书和用户文档中规定的所有配置情况下,程序和数据都必须进行测试。
  • 获得更多的可靠性数据,可使用多台计算机同时运行软件,以增加累计运行时间

4.2 可靠性测试的难点

  • 其难点是:判断测试用例的运行是否成功
  • 原因如下:

1)失效判断的主观性

一般应用系统中,失效的定义较主观些,它不仅依赖于程序是否符合规格说明的要求,也取决于指定的性能是否能够达到用户的期望。

2)计算的错误结果不易被发现

如:在一些科学计算中,计算结果只能由计算机给出,在这种情况下,如果软件只是输出了错误的结果而不是整个系统发生失效,错误就不可能被发现。

  • 解决方案一:将测试分成两个阶段进行
    • 第一阶段运行较少量的测试用例,并对照规范进行仔细检查
    • 第二阶段再运行大量测试用例,仅找出失效现象
  • 解决方案二:把输出记录到文件中,采用搜索或过滤方法进行处理
    • 条件:软件有足够的可测试性
    • 优点:不会遗漏错误

4.3 用时间定义的可靠性数据

可分为以下四类:

  • 失效时间数据:记录发生一次失效所累积经历的时间
  • 失效间隔时间数据:记录本次失效与上一次失效间的间隔时间
  • 分组时间内的失效数:记录某个时间区内发生了多少次失效。
  • 分组时间的累积失效数:记录到某个区间的累积失效数。

4.4 测试记录包含的信息

  • 测试时间
  • 含有测试用例的测试说明或标识
  • 所有与测试有关的测试结果,包括失效数据
  • 测试人员。

4.5 测试报告

测试活动结束后要编写《软件可靠性测试报告》,对测试用例及测试结果在测试报告中加以总结归纳、剪裁。其内容如下:

  • 软件产品标识
  • 测试环境配置
  • 测试依据
  • 测试结果
  • 测试问题
  • 测试时间

在这里插入图片描述

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

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

相关文章

企业微信主体的修改方法

企业微信变更主体有什么作用?当我们的企业因为各种原因需要注销或已经注销,或者运营变更等情况,企业微信无法继续使用原主体继续使用时,可以申请企业主体变更,变更为新的主体。企业微信变更主体的条件有哪些&#xff1…

【教程】ubuntu20.04 下配置 Charm-crypto 0.5 实验环境

目录 前言先决条件基本依赖安装准备好 gcc,make 和 perl准备好 m4,flex,bison 和 libssl-dev安装 Python3.x,pip3 和 pyparsing 安装 OpenSSL安装 GMP5.x安装 PBC安装 Charm-crypto5.0安装开发环境检验 Charm-crypto5.0 安装成功参…

【高端电流检测IC储能产品应用方案】耐压45V侧轨的电流检测芯片FP137 应用于电脑电源,开关电源以及多口快充充电器,户外移动电源,适配器,电池充电器等

近年来,随着电子产品的飞速发展,对电流检测精度和可靠性的要求也越来越高。特别是在电脑电源、开关电源以及多口快充充电器、户外移动电源、适配器、电池充电器等领域,对电流检测技术的需求更是日益增长。 电流检测芯片是一种关键的电子元器…

异地组网如何安装?

【天联】是一款强大的异地组网安装工具,可以帮助企业实现远程设备的统一管理和协同办公。以下是【天联】可以应用的一些场景: 零售、收银软件应用统一管理:【天联】可以结合医药、餐饮、商超等零售业的收银软件,实现异地统一管理。…

企业邮箱迁移是什么?如何通过IMAP/POP协议进行邮箱迁移?

使用公司邮箱工作的过程中,公司可能遇到公司规模的扩大或技术架构升级,可能要换公司邮箱。假如马上使用新的公司邮箱,业务处理要被终断。企业邮箱转移是公司更换邮箱不可或缺的一步,不仅是技术操作,更是企业信息安全、…

【机器学习300问】71、神经网络中前向传播和反向传播是什么?

我之前写了一篇有关计算图如何帮助人们理解反向传播的文章,那为什么我还要写这篇文章呢?是因为我又学习了一个新的方法来可视化前向传播和反向传播,我想把两种方法总结在一起,方便我自己后续的复习。对了顺便附上往期文章的链接方…

和鲸科技将参与第五届空间数据智能学术会议并于应急减灾与可持续发展专题论坛做报告分享

ACM SIGSPATIAL中国分会致力于推动空间数据的研究范式及空间智能理论与技术在时空大数据、智慧城市、交通科学、社会治理等领域的创新与应用。ACM SIGSPATIAL中国分会创办了空间数据智能学术会议(SpatialDI),分会将于2024年4月25日-27日在南京…

记【k8s】:访问 Prometheus UI界面:kubernetes-etcd (0/1 up) Error : out of bounds

记【k8s】:访问 Prometheus UI界面:kubernetes-etcd (0/1 up) Error : out of bounds 1、报错详情2、解决方法 💖The Begin💖点点关注,收藏不迷路💖 出现 “out of bound…

Spark-机器学习(2)特征工程之特征提取

在之前的文章中,我们了解我们的机器学习,了解我们spark机器学习中的MLIib算法库,知道它大概的模型,熟悉并认识它。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错&a…

回归损失函数

目录 1 MAE 2 MSE 3 MAPE 4 Quantile Loss分位数损失 回归损失函数也可以做为评价指标使用,但是有没有想过数据分布与损失函数之间的关系呢! 使用特定损失函数的前提是我们对标签的分布进行了某种假设,在这种假设的前提下通过极大似然法推…

4.16学习总结

MySQL数据库学习(一) 一.MySQL数据库的基本知识 (一).数据库 概念:数据仓库,软件,安装在操作系统之上 作用:存储数据,管理数据 (二).数据库的分类 关系型数据库:SQL(Structured Query Language) MySQL…

Rust面试宝典第4题:打家劫舍

题目 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统。如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整…

简单3步,OpenHarmony上跑起ArkUI分布式小游戏

标准系统新增支持了方舟开发框架(ArkUI)、分布式组网和 FA 跨设备迁移能力等新特性,因此我们结合了这三种特性使用 ets 开发了一款如下动图所示传炸弹应用。 打开应用在通过邀请用户进行设备认证后,用户须根据提示完成相应操作&am…

回归预测 | Matlab实现GWO-GPR灰狼算法优化高斯过程回归多变量回归预测

回归预测 | Matlab实现GWO-GPR灰狼算法优化高斯过程回归多变量回归预测 目录 回归预测 | Matlab实现GWO-GPR灰狼算法优化高斯过程回归多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现GWO-GPR灰狼算法优化高斯过程回归多变量回归预测 1.Matlab实现…

上海计算机学会 2023年10月月赛 乙组T3 树的连通子图(树、树形dp)

第三题:T3树的连通子图 标签:树、树形 d p dp dp题意:给定一棵 n n n个结点的树, 1 1 1号点为这棵树的根。计算这棵树连通子图的个数,答案对 1 , 000 , 000 , 007 1,000,000,007 1,000,000,007取余数。题解&#xff1…

笔记本电脑上的聊天机器人: 在英特尔 Meteor Lake 上运行 Phi-2

对应于其强大的能力,大语言模型 (LLM) 需要强大的算力支撑,而个人计算机上很难满足这一需求。因此,我们别无选择,只能将它们部署至由本地或云端托管的性能强大的定制 AI 服务器上。 为何需要将 LLM 推理本地化 如果我们可以在典配…

Java之二维数组

使用二维数组: 引用二维数组元素需要指明行下标和列下标。二维数组有两个指标,行数使用“数组名.length",每行的列数使用“数组名[i].length”。遍历是二维数组的基本算法,使用双重循环遍历二维数组。外层循环控制行,内存循环…

Kubernetes对象的定义和操作

📕作者简介: 过去日记,致力于Java、GoLang,Rust等多种编程语言,热爱技术,喜欢游戏的博主。 📘相关专栏Rust初阶教程、go语言基础系列、spring教程等,大家有兴趣的可以看一看 📙Jav…

HTML内联框架

前言&#xff1a; 我们有时候打开网页时会有广告窗的出现&#xff0c;而这些窗口并不是来自于本站的&#xff0c;而是来自于外部网页&#xff0c;只是被引用到了自己网页中而已。这一种技术可以通过内联来实现。 标签介绍&#xff1a; HTML 内联框架元素 (<iframe>) 表示…

DNS服务器配置与管理(3)——综合案例

DNS服务器配置与管理 前言 在之前&#xff0c;曾详细介绍了DNS服务器原理和使用BIND部署DNS服务器&#xff0c;本文主要以一个案例为驱动&#xff0c;在网络中部署主DNS服务器、辅助DNS服务器以及子域委派的配置。 案例需求 某公司申请了域名example.com&#xff0c;公司服…