软件可靠性测试

1.软件可靠性测试概述

         软件可靠性测试由可靠性目标的确定、运行剖面的开发、测试用例的设计、测试实施、测试结果的分析等主要活动组成

        软件可靠性测试还必须考虑对软件开发进度和成本的影响,最好是在受控的自动测试环境下,由专业测试机构完成。

        软件可靠性测试是一种有效的软件测试和软件可靠性评价技术。尽管软件可靠性测试也不能保证软件中残存的缺陷数最少,但经过可靠性测试可以保证软件的可靠性达到较高的要求,对于开发高可靠性与高安全性软件系统很有帮助。

2.定义软件运行剖面

         定义运行剖面首先需要为软件的使用行为建模,建模可以采用马尔可夫链来完成。用马尔可夫链将输入域编码为一个代表用户观点的软件使用的状态集。弧用来连接状态并表示由各种激励导致的转换,这些激励可能由硬件、人机接口或其他软件等产生。将转换概率分配给每个弧,用来代表一个典型用户最有可能施加给系统的激励。

        定义运行剖面的下一步是开发使用模型,明确需要测试的内容。开发使用模型涉及将输入域分层,有两种类型的分层形式:用户级分层和用法级分层。一旦用户和用法模型被开发出来,弧上的概率将被分配。

3.可靠性测试用例设计

         为了对软件可靠性进行良好的预计,必须在软件的运行域上对其进行测试。首先定义一个相应的剖面来镜像运行域,然后使用这个剖面驱动测试,这样可以使测试真实地反映软件的使用情况。

        由于可能的输入几乎是无限的,测试必须从中选择出一些样本,即测试用例。测试用例能够反映实际的使用情况,反映系统的运行剖面。在这种测试中,优先测试那些最重要或最频繁使用的功能,释放和缓解最高级别的风险,有助于尽早发现那些对可靠性有最大影响的故障,以保证软件的按期交付。

4.可靠性测试的实施

         在进行应用软件的可靠性测试前有必要检查软件需求与设计文档是否一致,检查软件开发过程中形成的文档的准确性、完整性以及与程序的一致性,检查所交付程序和数据以及相应的软件支持环境是否符合要求。

        软件可靠性测试必须是受控测试,在运行此类测试时,为了保证统计数据的有效性,测试过程中的每个测试用例必须用相同的软件版本,新的软件版本意味着新测试的开始。

        开发方交付的任何软件文档中与可靠性质量特性有关的部分、程序以及数据都应当按照需求说明和质量需求进行测试。在项目合同、需求说明书和用户文档中规定的所有配置情况下,程序和数据都必须进行测试。

        软件可靠性数据是可靠性评价的基础。为了获得更多的可靠性数据,应该使用多态计算机同时运行软件,以增加累计运行时间。应该建立软件错误报告、分析与纠正措施系统。

        用时间定义的软件可靠性数据可以分为4类:

        (1)失效时间数据:记录发生一次失效所累积经历的时间。

        (2)失效间隔时间数据:记录本次失效与上一次失效间的间隔时间。

        (3)分组时间内的失效数:记录某个时间区内发生了多少次失效。

        (4)分组时间的累积失效数:记录到某个区间的累积失效数。

        在测试过程中必须真实地进行记录,每个测试记录必须包含如下信息:

        (1)测试时间

        (2)含有测试用例的测试说明或标识。

        (3)所有与测试有关的测试结果,包括失效数据。

        (4)测试人员。

        测试活动结束后要编写《软件可靠性测试报告》,对测试用例及测试结果在测试报告中加以总结归纳。编写时可以参考GJB 438A-97中提供的《软件测试报告》格式,并应根据情况进行剪裁。测试报告应具备如下内容。

        (1)软件产品表示。

        (2)测试环境配置(硬件和软件)

        (3)测试依据。

        (4)测试结果。

        (5)测试问题。

        (6)测试时间。

        把可靠性测试过程进行规范化,有利于获得真实有效的数据,为最终得到客观的可靠性评价奠定基础。

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

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

相关文章

记录一次Java中使用P12证书访问https,nginx返回403的问题

目录 1、先使用浏览器导入证书访问,测试证书和密钥是否正确2、编写初始java代码3、结果响应 403 Forbidden4、解决方案 1、先使用浏览器导入证书访问,测试证书和密钥是否正确 成功返回,说明p12证书和密钥是没问题的。 2、编写初始java代码 …

Harmony鸿蒙南向外设驱动开发-Codec

功能简介 OpenHarmony Codec HDI(Hardware Device Interface)驱动框架基于OpenMax实现了视频硬件编解码驱动,提供Codec基础能力接口给上层媒体服务调用,包括获取组件编解码能力、创建组件、参数设置、数据的轮转和控制、以及销毁…

oracle创建整个数据库的只读账户

在源用户readonly 下创建只读用户 reader readonly 的表空间为AA 一、创建只读用户 create user reader identified by 密码 default tablespace AA; 二、授权 grant connect to reader ; 三、获取原账号readonly 的查询权限 select grant select on ||owner||.||object…

AI重构你的方方面面

看了最近相关AI的资料,大家也踊跃参与AI技术的讨论。 我们要拨开问题看本质, 其实AI技术本身来说就是人的智慧的结晶和一个替代或者说是一个更优的生产工具。 消费者的思维是以后能够买到通过AI设计生产售卖的更好更便宜的商品就好了; 劳动…

【面试题】redis在工作中的使用场景有哪些?

前言:在实际工作中,Redis作为一种高性能的内存数据库和缓存系统,可以应用于多种场景,同时在面试过程中也经常被问到类似的问题,我们经常会被问的一脸懵逼,那今天我们就来总结一下redis的一些使用场景。 数据…

实战解析:SpringBoot AOP与Redis结合实现延时双删功能

目录 一、业务场景 1、此时存在的问题 2、解决方案 3、为何要延时500毫秒? 4、为何要两次删除缓存? 二、代码实践 1、引入Redis和SpringBoot AOP依赖 2、编写自定义aop注解和切面 3、application.yml 4、user.sql脚本 5、UserController 6、U…

基于ssm微信小程序的医院挂号预约系统

采用技术 基于ssm微信小程序的医院挂号预约系统的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringMVCMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 用户管理 医院管理 医生管理 公告资讯管理 科室信息管…

上海计算机学会 2023年9月月赛 乙组T4 组合数(组合数学)

第四题:T4组合数 标签:组合数学题意:求组合数 C n m C_n^m Cnm​,即从 n n n个不同的数字中取出 m m m个数字的方案数,结果对 1 , 000 , 000 , 007 1,000,000,007 1,000,000,007取模( 1 ≤ m ≤ n ≤ 1 0 …

IMU状态预积分的雅克比矩阵

IMU状态预积分的雅克比矩阵 预积分的雅克比矩阵 预积分的雅克比矩阵 最后讨论预积分相对状态变量的雅克比矩阵。由于预积分测量已经归纳了IMU在短时间内的读数,因此残差相对于状态变量的雅克比矩阵推导则简单。 首先考虑旋转。 旋转与Ri,Rj和 b g , i b_{g,i} bg,i…

Collections.synchronized * 是什么方法?Collections.synchronized* 中的方法和并发集合类有什么区别

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Collections.synchronized * 是什么 Collections.synchronized* 是 Java 集合框架(Java Collections Framework)中提供的一组静态方法,用于将非…

【拓展技术】——AutoDL服务器训练Pycharm使用注意点Pycharm配置AutoDL

一、AutoDL服务器模型训练 AutoDL是一个为研究人员、开发者和企业提供的平台,它致力于提供一个高效、可靠和易用的环境,以支持复杂的计算任务和AI模型的部署: 高效的并行计算资源:AutoDL拥有强大的计算集群和高性能的计算节点&a…

【QT入门】Qt自定义控件与样式设计之控件提升与自定义控件

【QT入门】Qt自定义控件与样式设计之控件提升与自定义控件 往期回顾 【QT入门】Qt自定义控件与样式设计之QProgressBar用法及qss-CSDN博客 【QT入门】 Qt自定义控件与样式设计之QSlider用法及qss-CSDN博客 【QT入门】Qt自定义控件与样式设计之qss的加载方式-CSDN博客 一、最终…

C++ 类和对象 上

目录 前言 什么是面向对象?什么是面向过程? 面向过程 面向对象 比较 类 引入 定义 实例化 类的大小 this指针 前言 今天我们来进入C类和对象的学习。相信大家一定听说过C语言是面向过程的语言,而C是面向对象的语言?那么他…

SQLMap简单注入教程

SQLmap是一个自动化的SQL注入工具,支持多种数据库和注入技术,能够检测和利用Web应用程序中的SQL注入漏洞。下面是一个关于SQLmap注入的教程,帮助你了解如何使用SQLmap进行SQL注入攻击。 一、SQLmap的基本原理 SQLmap通过分析目标网站的结构和…

启明智显M系列--工业级HMI芯片选型表

本章主要介绍启明智显M系列HMI主控芯片: 纯国产自主, RISC-V 内核,配备强大的 2D 图形加速处理器、PNG/JPEG 解码引擎、H.264解码;工业宽温,提供全开源SDK;1秒快速开机启动的特性,极大地提高了…

llama-factory SFT系列教程 (三),chatglm3-6B 命名实体识别实战

背景 llama-factory SFT系列教程 (一),大模型 API 部署与使用llama-factory SFT系列教程 (二),大模型在自定义数据集 lora 训练与部署本文为llama-factory SFT系列教程 第三篇 简介 利用 llama-factory 框架,基于 chatglm3-6B 模型 做命名…

【MySQL】事务篇

SueWakeup 个人主页:SueWakeup 系列专栏:学习技术栈 个性签名:保留赤子之心也许是种幸运吧 目录 本系列专栏 1. 什么是事务 2. 事务的特征 原子性(Atomicity) 一致性(Consistency) 隔离性&…

# Contrastive Learning(对比学习)--CLIP笔记(一)

Contrastive Learning(对比学习)–CLIP笔记(一) 参考:CLIP 论文逐段精读【论文精读】_哔哩哔哩_bilibili CLIP简介 CLIP是一种多模态预训练模型,由OpenAI在2021年提出,论文标题:L…

Harmony鸿蒙南向外设驱动开发-Camera

功能简介 OpenHarmony相机驱动框架模型对上实现相机HDI(Hardware Device Interface)接口,对下实现相机Pipeline模型,管理相机各个硬件设备。 该驱动框架模型内部分为三层,依次为HDI实现层、框架层和设备适配层。各层基…

搜索(未完结版)

前言 图的基础与遍历 图的存储方式 邻接表 List<int []>list[N]; list[x]存储x的所有出点的信息。 list[i][j]{first,second}其中first表示从i出发的某个出点的编号&#xff0c;second表示边权。 list[1]{{2,0},{3,0}} 1这个点有2和3连个出边 邻接矩阵 d…