可靠性测试的基础知识

可靠性测试的定义

在规定条件下,规定时间内,软件不引起系统失效的概率

软件系统在规定的时间内以及规定的环境条件下,完成规定功能的能力

可靠性测试的目的

预测软件在实际运行中的可靠性,同时通过测试可以提高整个软件的防错、容错和纠错的能力

可靠性的计算方法

计算机系统的可靠性是制从它开始运行(t=0)到某时刻t这段时间内能正常运行的概率,用R(t)表示。

失效率是指单位时间内失效的元件数与元件总数的比例,以λ表示,当λ为常数时,可靠性与失效率的关系为: R(t)=е^(-λt)。

两次故障之间系统能够正常工作的时间的平均值称为平均无故障时间(MTBF)

计算公式:

系统类型 可靠性 失效率
串联系统 R=R1×R2×...×Rn λ=λ12+...+λn
并联系统 R=1-(1-R1)×(1-R2)×...×(1-Rn)  
模冗余系统  

1)串联系统:假设一个系统由n个子系统组成,当且仅当所有的子系统都有能正常工作时,系统才能正常工作,这种系统称为串联系统


设系统各个子系统的可靠性分别用R1, R2, R3……, Rn表示,则系统的可靠性
R=R1×R2×R3×……×Rn
如果系统的各个子系统的失效率分别用λ1, λ2, λ3……, λn来表示,则系统的失效率
λ=λ1+λ2+λ3+……+λn
则系统平均故障间隔时间为:
MTBF=1/λ
假设本题三个子系统是串联的,n=3,R1=R2=R3=0.9,λ1=λ2=λ3=1/10000=0.0001,则:
系统可靠性 R= R1×R2×R3=0.9×0.9×0.9=0.729
系统失效率 λ=λ1+λ2+λ3=0.0001+0.0001+0.0001=0.0003
系统平均故障间隔时间 MTBF=1/0.0003=3333
(2)并联系统:假如一个系统由n个子系统组成,只要有一个子系统能够正常工作,系统就能正常工作。

设系统各个子系统的可靠性分别用R1, R2, R3……, Rn表示,则系统的可靠性
R=1-(1-R1)×(1-R2)×(1-R3)×……×(1-Rn)
如果系统的各个子系统的失效率均为λ,则系统的失效率μ为

则系统平均故障间隔时间为:
MTBF= 1/μ
根据本题题意可知,n=3,R1=R2=R3=0.9,λ1=λ2=λ3=1/10000=0.0001,则:
系统可靠性      R = (1-R1)×(1-R2)×(1-R3)=1-(1-0.9)×(1-0.9)×(1-0.9)=0.999
系统失效率      μ = 1/((1/0.0001)*(1/1+1/2+1/3))=6/(10000*11)
系统平均故障间隔时间 MTBF=10000*11/6=18333

可靠性的分析方法

失效模式影响分析,严酷性分析,故障树分析和潜在线路分析

可靠性测试流程

确定可靠性目标,进行软件运行剖面,编写可靠性用例,执行测试,分析测试结果

软件运行剖面

MUSA软件分析的原则:

1. 模式剖面:对软件的使用者进行分类,根据对使用者的划分将软件划分成不同的模式剖面

2. 功能剖面:根据每个模式下的功能可以划分为不同的功能剖面

3. 运行剖面:每一个功能由许多运行组成。这些运行的集合便构成了运行剖面

原文地址:https://www.cnblogs.com/leslie12956/p/11442862.html

时间: 2024-10-11 19:55:24

可靠性测试的基础知识的相关文章

可靠性测试的基础知识——软件可靠性测试

可靠性测试 可靠性测试概念 对软件可靠性进行定量的评估或验证,为了达到和验证软件的可靠性定量要求而对软件进行的测试 软件可靠性测试的目的 (1)通过在有使用代表性的环境中执行软件,以证实软件需求是否正确实现. (2)为进行软件可靠性估计采集准确的数据,预测软件在实际运行中的可靠性. 估计软件可靠性一般可分为四个步骤,即数据采集.模型选择.模型拟合以及软件可靠性评估.可以认为,数据采集是整个软件可靠性估计工作的基础,数据的准确与否关系到软件可靠性评估的准确度. (3)通过软件可靠性测试找出所有对软

可靠性测试的基础知识——可靠性的计算方法

计算机系统的可靠性是制从它开始运行(t=0)到某时刻t这段时间内能正常运行的概率,用R(t)表示. 失效率是指单位时间内失效的元件数与元件总数的比例,以λ表示,当λ为常数时,可靠性与失效率的关系为: R(t)=е^(-λt). 两次故障之间系统能够正常工作的时间的平均值称为平均无故障时间(MTBF) 计算公式: 系统类型 可靠性 失效率 串联系统 R=R1×R2×...×Rn λ=λ1+λ2+...+λn 并联系统 R=1-(1-R1)×(1-R2)×...×(1-Rn)   模冗余系统   1

(001)springboot中测试的基础知识以及接口和Controller的测试

(一)springboot中测试的基础知识 (1)添加starter-test依赖,范围指定为test,只在执行测试时生效 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> 完整po

测试必备基础知识总结

什么是软件测试 软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程. 本质:软件测试是为发现软件错误而执行程序的过程. 例如场景:淘宝网用户登陆 大家都有在淘宝购物的经历吧,如果想要在淘宝进行购物,就必须登陆后才能进行. 那么能够登陆的前提是什么呢?必须是淘宝网的注册用户. 登陆的步骤是什么呢?在下图1中输入已经注册的用户名>输入已设定的密码>点击“登陆”按钮,步骤非常简单. 大家也一定会遇到过用户名和密码输入错误而无法登陆的情况,此

测试小白基础知识---常用的测试用例设计方法

软件测试的核心是测试用例的编写,是每个测试人员必须掌握的技能!! «««测试第一原则:所有的测试,都必须追溯到需求: «««测试第二原则:测试是无穷尽的,测试必须终止 «««测试用例的设计方法: 一.等价类划分法 某个输入域的子集合,在该子集合中,所有的输入数据对揭露软件中的错误都是等效的. 等价类划分有效等价类和无效等价类 有效等价类:输入的数据,是符合需求的,是合理的合法的. 无效等价类:输入的数据,是不符合需求的,是不合理的. «««等价类划分法用例设计原则: 1.划分有效和无效等价类,为

java 测试开发基础知识(类加载,JVM等)

写在开头: 面试的时候别人很可能会问你的java原理,.class load 原理, jvm机制,这些都是Java的底层知识,特整理如下: 1. 首先,编写一个java程序,大家会用ide编写一个例如helloworld.java的文件, 程序是能够识别这个文件的,但是计算机不行,所以需要一个编译的过程: 执行java.exe , 例如 在cmd的窗口执行:   $java  helloworld.java , 这个时候你会发现在同级目录系生成了一个helloworld.class的可执行文件,

测试基础知识(白盒测试,黑盒测试,测试用例,功能测试等等)

测试基础知识 找实习工作的过程中总结了下测试基础知识,编程能力重要,测试基础同样重要,希望对大家有帮助 软件测试方法:静态测试和动态测试                     白盒测试和黑盒测试                     传统测试与面向对象测试 软件测试过程:单元测试,集成测试,系统测试,验收测试 按测试类型:功能.性能.界面.易用性测试.兼容性测试.安全性测试.安装测试 (单元测试:在编码过程中,对每个小程序单元测试) (集成测试:将单元集成在一起后,可称为组件) 回归测试.冒

Java基础知识综合练习_使用集合存储_高级银行系统的搭建(注册、登录、存取款、本行转账、跨行转账、销户、特殊操作参数、多个客户对象存入到银行类的集合,多个银行对象存入总测试类集合)

Java基础知识综合练习_使用集合存储_高级银行系统的搭建(注册.登录.存取款.本行转账.跨行转账.销户.特殊操作参数.多个客户对象存入到银行类的集合,多个银行对象存入总测试类集合) 1) 定义bank类 属性有银行名称和存放客户的ArrayList集合, 有开户方法. 销户方法. 存钱方法. 取钱方法. 转账方法(本行转账.跨行转账) 2) 定义customer类 属性有账户名.密码.余额 3) 定义测试类创建一个银行集合用于存放bank对象创建几个bank对象:分别叫华夏银行.工商银行.招商

网络基础知识查询

第一章.基础网络概念 1.1 网络是个什么玩意儿 全世界的人种有很多,人类使用的语言种类也多的很.那如果你想要跟外国人沟通时,除了比手划脚之外,你要如何跟对方讲话? 大概只有两种方式啰,一种是强迫他学中文,一种则是我们学他的语言,这样才能沟通啊.在目前世界上的强势语言还是属于英语系国家, 所以啰,不管是啥人种,只要学好英文,那么大家都讲英文,彼此就能够沟通了.希望不久的未来,咱们的中文能够成为强势语言啊! 这个观念延伸到网络上面也是行的通的,全世界的操作系统多的很,不是只有 Windows/Li