




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件可靠性与安全性第七部分软件可靠性测评提要软件可靠性建模软件可靠性测试软件可靠性评估32133软件可靠性测试是面向失效的测试方法为了满足用户对软件的可靠性要求, 通过对软件进行测试, 发现并纠正软件中的缺陷, 提高软件的可靠性水平, 并验证它能否达到用户可靠性要求的软件测试方法软件失效的统计特性IBM关于缺陷与失效的统计研究数据v客户所看到的客户所看到的57%以上的失效是由占缺陷以上的失效是由占缺陷总数总数2%以下的缺陷引起的以下的缺陷引起的v超过总数超过总数61%的缺陷只引起低于的缺陷只引起低于3%的客的客户将会经历的失效户将会经历的失效v不同的缺陷在所引发的失效率上存在高达不同的缺陷在所
2、引发的失效率上存在高达4个数量级个数量级的巨大差异的巨大差异软件可靠性测试目的验证软件可靠性满足给定的要求 评估软件可靠性水平 预计软件可靠性水平 实现软件可靠性增长 软件可靠性测试时机软件可靠性测试与其它测试类型的关系v关注的缺陷类型关注的缺陷类型v测试用例设计的依据测试用例设计的依据建议的软件可靠性测试时机v软件系统测试后期软件系统测试后期软件可靠性测试类别软 件 可 靠 性 验 证 测 试 ( S o f t w a r e Reliability Demonstration Testing)v在软件确认阶段进行,验证软件需求规范在软件确认阶段进行,验证软件需求规范中软件可靠性目标的满足
3、情况,在测试过中软件可靠性目标的满足情况,在测试过程中不进行软件缺陷消除程中不进行软件缺陷消除软 件 可 靠 性 增 长 测 试 ( S o f t w a r e Reliability Growth Testing)v在软件交付前进行,通过可靠性测试暴露在软件交付前进行,通过可靠性测试暴露软件缺陷,采取有效地措施排除失效率较软件缺陷,采取有效地措施排除失效率较大的缺陷,以提高交付软件的可靠性大的缺陷,以提高交付软件的可靠性软件可靠性验证测试方案无失效运行时间间隔测试 (Failure-Free Execution Interval Test) 定时截尾可靠性验证测试 (Fixed-Leng
4、th Reliability Demonstration Test) 序贯可靠性验证测试(Probability-Ration Sequential Reliability Demonstration Test) 序贯可靠性验证测试演示图12010862416140246810规格化的单位失效数继续继续接受接受拒绝拒绝Fail.No.Mcalls atFailureNormalizedUnits1230.003750.006250.0250.751.25 5 Failure intensity objective: 200 failures / Mcalls软件可靠性测试方法用系统的预期使用域
5、作为模型来指导测试用例的选择或生成v基于操作剖面的可靠性测试方法基于操作剖面的可靠性测试方法v基于使用模型的可靠性测试测试基于使用模型的可靠性测试测试根据失效等级、功能使用频度和重要性来测试软件, 可对各种使用条件建模v正常使用情况正常使用情况v危险使用情况危险使用情况(高安全软件高安全软件)v恶意使用情况恶意使用情况(特殊安全需求特殊安全需求)基于操作剖面可靠性测试方法用操作剖面描述软件的使用分层建立操作剖面v客户剖面客户剖面(CP, Customer Profile)v用户剖面用户剖面(UP, User Profile)v系统模式剖面系统模式剖面(SP, System mode Profi
6、le)v功能剖面功能剖面(FP, Function Profile)v操作剖面操作剖面(OP, Operational Profile)每个操作对应若干个运行 剖面的定义二维向量的集合,定义为:vProfile = (item1,p1), (item2,p2), , (itemn,pn)vitemi代表剖面中所包含的互不相交的元素中的一代表剖面中所包含的互不相交的元素中的一个个, 有有:item1item2itemnvpi代表第代表第i个元素的权值或是发生的概率个元素的权值或是发生的概率, 有有:11niip建立客户剖面CP = (c1, pc1),(c2, pc2),(cn, pcn)为客户
7、剖面中的用户构建用户剖面vUPc1=(u1,pc1_u1),(u2,pc1_u2),(um,pc1_um)vUPc2=(u1,pc2_u1),(u2,pc2_u2),(um,pc2_um)vvUpcn=(u1,pcn_u1),(u2,pcn_u2),(um,pcn_um)建立用户剖面对相同类型的用户进行合并, 若用户ui有m个同类, 则用户ui出现的概率为:得到用户剖面vUP = (u1,pu1),(u2 pu2),(um pum)njcjuicjuippp1_建立操作剖面同理, 可以得到系统模式剖面、功能剖面和操作剖面vSP = (s1,ps1),(s2,ps2),(sn,psn)vFP =
8、 (f1,pf1),(f2,pf2),(fn,pfn)vOP = (o1,po1),(o2 po2),(on,pon)操作剖面实例确定操作模式确定操作的发起者选择表示方法(表格/图形)创建操作表确定出现率确定出现概率考虑特殊情况操作表例子操作发起者操作发起者操作操作用户用户电话号码输入电话号码输入系统管理员系统管理员增加用户增加用户删除用户删除用户电话网电话网处理语音呼叫,无寻呼,有应答处理语音呼叫,无寻呼,有应答处理语音呼叫,无寻呼,无应答处理语音呼叫,无寻呼,无应答处理语音呼叫,有寻呼,有应答处理语音呼叫,有寻呼,有应答处理语音呼叫,有寻呼,有对寻呼的应答处理语音呼叫,有寻呼,有对寻呼的应
9、答处理语音呼叫,有寻呼,无对寻呼的应答处理语音呼叫,有寻呼,无对寻呼的应答处理传真呼叫处理传真呼叫系统控制器系统控制器审计电话号码数据库审计电话号码数据库恢复硬件失效恢复硬件失效操作出现频率操作操作出现率出现率(每小时操作数每小时操作数)电话号码输入电话号码输入10000增加订户增加订户50删除订户删除订户50处理语音呼叫,无寻呼,有应答处理语音呼叫,无寻呼,有应答18000处理语音呼叫,无寻呼,无应答处理语音呼叫,无寻呼,无应答17000处理语音呼叫,有寻呼,有应答处理语音呼叫,有寻呼,有应答17000处理语音呼叫,有寻呼,有对寻呼的应答处理语音呼叫,有寻呼,有对寻呼的应答12000处理语音
10、呼叫,有寻呼,无对寻呼的应答处理语音呼叫,有寻呼,无对寻呼的应答10000处理传真呼叫处理传真呼叫15000审计电话号码数据库审计电话号码数据库900恢复硬件失效恢复硬件失效0.1操作出现概率操作操作出现概率出现概率电话号码输入电话号码输入0.10增加订户增加订户0.0005删除订户删除订户0.0005处理语音呼叫,无寻呼,有应答处理语音呼叫,无寻呼,有应答0.18处理语音呼叫,无寻呼,无应答处理语音呼叫,无寻呼,无应答0.17处理语音呼叫,有寻呼,有应答处理语音呼叫,有寻呼,有应答0.17处理语音呼叫,有寻呼,有对寻呼的应答处理语音呼叫,有寻呼,有对寻呼的应答0.12处理语音呼叫,有寻呼,无
11、对寻呼的应答处理语音呼叫,有寻呼,无对寻呼的应答0.10处理传真呼叫处理传真呼叫0.15审计电话号码数据库审计电话号码数据库0. 009恢复硬件失效恢复硬件失效0.000001准备测试用例估计当前版本所需新测试用例的数量通过随机选取测试的操作, 为每个操作对应若干个运行 在被测系统之间分配新测试用例的数量在每个系统的操作之间分配新测试用例的数量指定新的测试用例将新测试用例加入测试用例集充分性准则依据可靠性要求和评估的置信度确定的执行数量测试剖面和操作剖面吻合需求的覆盖操作剖面特点优点v通过分解,可以处理规模较大的系统通过分解,可以处理规模较大的系统v测试用例的规模较均匀测试用例的规模较均匀不足
12、v测试执行缺乏连续性测试执行缺乏连续性v高使用概率的功能被重复测试高使用概率的功能被重复测试软件可靠性测试方法基于使用模型的可靠性测试测试v用用Markov链描述软件的使用链描述软件的使用v结构构造和统计分配结构构造和统计分配v依据依据Markov模型上每个状态出边所关联的模型上每个状态出边所关联的迁移概率,通过遍历使用模型的状态可以迁移概率,通过遍历使用模型的状态可以生成测试用例生成测试用例Markov模型未激活未激活终止终止准备准备状态状态1状态状态2状态状态3状态状态4S,1.00G,0.50B,0.30R,0.20G,1.00A,0.50B,0.40R,0.10R,0.30C,0.25
13、D,0.50E,0.25F,0.70建立Markov模型用Markov链描述软件的使用v结构构造结构构造v统计分配统计分配结构构造微波炉空闲全功率开半功率开时间设定不可运行可以运行计时运行烹调完成全功率全功率半功率半功率全功率全功率半功率半功率定时定时定时定时定时定时开门开门关门关门开门开门关门关门开始开始T0超时超时开门开门统计分配微波炉空闲全功率开半功率开时间设定不可运行可以运行计时运行烹调完成全功率全功率,0.50半功率半功率,0.50全功率全功率,0.25半功率半功率,0.25定时定时,0.75定时定时,0.75定时定时,0.45开门开门,0.20关门关门,0.35开门开门,0.10关
14、门关门,1.00开始开始T0,0.90超时超时,0.98开门开门,0.02生成测试用例通过触发当前状态上的事件, 完成期望的动作, 产生状态转移, 来遍历使用模型, 生成测试用例遍历使用模型时, 依据当前状态上每个出边所关联的迁移概率, 来确定需要触发的事件确定需要触发的事件时, 需要同时考虑防护的作用充分性准则依据可靠性要求和评估的置信度确定的执行时间测试剖面和操作剖面吻合满足对状态图的覆盖要求状态图覆盖要求所有状态至少访问一次所有事件至少触发一次所有转换至少遍历一次(包括隐含)所有基本路径至少覆盖一次(循环)对防护(Guard)进行测试(MMC/DC、边界)Markov模型特点优点v便于自
15、动化便于自动化v每次测试都是新的每次测试都是新的不足v状态图的空间爆炸问题状态图的空间爆炸问题v以正常测试为主以正常测试为主对使用模型的改进对于操作剖面v采用分类剖面刻画:功能剖面、数据剖面、采用分类剖面刻画:功能剖面、数据剖面、环境剖面环境剖面对于Markov模型v多层状态图多层状态图对使用模型的改进将UML用于刻画使用模型对UML进行改进, 加入统计分布特征用例图与类图、状态图、时序图等相结合, 刻画嵌入式软件的各种运行特性, 用于指导测试设计测试过程控制准则软件的每一个版本必须在唯一的统计实验中进行检测v一个版本的数据只能用于评估该版本的可一个版本的数据只能用于评估该版本的可靠性靠性v不
16、同版本的数据可用于描述测试过程不同版本的数据可用于描述测试过程对不同的测试版本,应保持规格说明、环境状况、性能评估依据的一致性测试用例应该像被生成时那样使用, 不能在测试集合中再挑选测试准备测试用例准备v估计当前版本所需新测试用例的数量估计当前版本所需新测试用例的数量v在被测系统之间分配新测试用例的数量在被测系统之间分配新测试用例的数量v在每个系统的操作之间分配新测试用例的在每个系统的操作之间分配新测试用例的数量数量v指定新的测试用例指定新的测试用例v将新测试用例加入测试用例集将新测试用例加入测试用例集测试过程准备测试执行分配测试时间按次序执行测试标识系统失效v分析测试输出的偏离分析测试输出的
17、偏离v确定哪些偏离是失败确定哪些偏离是失败v估计失效出现的时间估计失效出现的时间测试记录的考虑测试决策可靠性验证测试可靠性增长测试特殊情况v失效数据计算失效数据计算v缺陷掩盖问题缺陷掩盖问题加速测试有效测试与无效测试v通过测试分类优化测试用例集通过测试分类优化测试用例集稀有操作和关键操作v非稀有关键操作非稀有关键操作v稀有非关键操作稀有非关键操作v稀有关键操作稀有关键操作稀有关键操作处理基于功能重要度等级分类测试v重要功能具有高的可靠性要求重要功能具有高的可靠性要求, 需要提升需要提升测试量测试量混合测试的解决方法v组合或缩减稀有操作组合或缩减稀有操作v根据操作的关键程度加权处理操作剖面根据操
18、作的关键程度加权处理操作剖面v按照关键类别将操作分类按照关键类别将操作分类v为稀有关键操作分配指定数量的测试用例为稀有关键操作分配指定数量的测试用例提要软件可靠性建模软件可靠性测试软件可靠性评估32133软件可靠性建模基本情况基于对软件失效特征的理解, 建立软件可靠性模型, 试图量化软件可靠性自1970年代以来, 已经开发了超过200种模型, 但是在软件可靠性定量评价方面仍然遗留着大量未解决的问题没有一个适应所有情况的单一模型, 也没有任何模型是完备的, 甚至是典型的建模的目的预测达到规定目标还需要多少测试时间预测测试结束时软件的期望可靠性建模的基本思想测试时间失效强度目标值预计完成时间当前时
19、间当前值说明失效过程对影响它的主要因素的通用依赖形式影响失效的主要因素缺陷引入缺陷消除操作环境失效的随机性变量的值不确定, 有许多可能的值, 每个值都有相应的发生概率精确值不可预知, 平均值和离差是可知的不与特定的概率分布相联系受测试强度和使用剖面等因素的影响软件失效的统计特性时间时间失效率失效率硬件硬件软件软件(理论理论)软件软件(实际实际)模型的应用预计模型估计模型使用时机开发早期开发早期测试运行期测试运行期使用目的初始可靠性和失效率初始可靠性和失效率连续可靠性评价连续可靠性评价失效数据不依赖不依赖依赖依赖输入数据过程或产品数据过程或产品数据失效数据失效数据输出数据缺陷密度,总缺陷数缺陷密
20、度,总缺陷数全部可靠性相关度量全部可靠性相关度量模型性质静态静态动态动态推断方法直接换算直接换算直接可测直接可测实 时 性早期早期晚期晚期精 确 度不确定不确定更好更好模型的典型构成模型假设模型因素数学函数v描述可靠性与因素之间的关系描述可靠性与因素之间的关系v通常为高阶指数或对数通常为高阶指数或对数模型参数估计方式参数评估v通过系统失效数据进行统计推导通过系统失效数据进行统计推导参数预计v根据软件产品属性和开发过程确定参数根据软件产品属性和开发过程确定参数值值模型参数估计方法估计类别v点估计点估计v区间估计区间估计估计方法v最大似然法最大似然法v最小二乘法最小二乘法v贝叶斯法贝叶斯法Limi
21、tLimit模型的评价论断的有效性v基于当前数据基于当前数据, 预测失效行为的能力预测失效行为的能力能力v模型预测精确度能达到管理者、工程师、模型预测精确度能达到管理者、工程师、用户要求的能力用户要求的能力模型假设的质量可应用性简单性模型的一般特性随机过程有缺陷清除和无缺陷清除确定参数模型分类时间域(Time domain)v日历时间日历时间v执行时间执行时间类型(Type)v到指定时间发生的失效数分布到指定时间发生的失效数分布模型分类类别(Category)v在无限时间内发生的失效数量是有限的还在无限时间内发生的失效数量是有限的还是无限的是无限的v对于有限失效,用类对于有限失效,用类(Cla
22、ss)表示,是失表示,是失效强度的时间函数形式效强度的时间函数形式v对于无限失效,用族对于无限失效,用族(Family)表示,是失表示,是失效强度的预期出现失效数的函数形式效强度的预期出现失效数的函数形式有限失效模型举例 类型类泊松二项式其他指数Musa(1975)Moranda (1975)Schneidewind (1975)Goel-Okumoto (1979)Jelinski-Moranda (1972)Shooman (1972)Goel-Okumoto(1978) Musa(1979)Keiller等等(1983)WeibullSchick-Wolverton(1973)Wagon
23、er (1973)C1Schick-Wlverton(1978)ParetoLittlewood (1981)GammaYamada-Ohba-Osaki(1983)无限失效模型举例 类型族T1T2T3泊松几何Moranda (1975)Musa-Okumoto (1984)线性倒数Littlewood-Verrall (1973)多项式倒数(二次)Littlewood-Verrall (1973)幂Crow(1974)模型应用的考虑没有普遍适用的可靠性增长模型可靠性增长与具体应用相关使用多个增长模型拟合观测数据, 选取与数据最匹配的模型提要软件可靠性建模软件可靠性测试软件可靠性评估32133
24、评估过程 检查数据 用模型拟合数据 预测模型参数 确定拟合模型 评价模型的合理性 进行可靠性评估检查数据研究数据特征v数据类型数据类型(失效数、失效间隔失效数、失效间隔)v时间单位时间单位(小时、天、周、月等小时、天、周、月等)v数据跟踪系统数据跟踪系统v数据可靠性数据可靠性利用散点图(Scatter Diagram)分析数据统计规律调整时间单位, 减小数据噪声的影响用模型拟合数据基于对测试过程、数据、模型假设的理解来选择拟合的模型基于对数据统计趋势的分析选择拟合模型尽量选择多个模型观察在不同时间周期模型的拟合程度预测模型参数根据数据的性质确定使用的方法v点估计点估计v区间估计区间估计考虑使用
25、软件工具辅助确定拟合模型使用预测参数, 替换选择模型的参数值进行反复拟合试验得到针对数据集的拟合模型评价模型的合理性进行拟合程度检验vKolmogorov-Smirnov拟合度检验拟合度检验D(n)=Maxx(|F*(x)-F(x)|)进行可靠性评估根据选择的模型进行可靠性评估根据其他可得到的信息, 评价预测的合理性v类似产品的真实情况类似产品的真实情况v相同产品的前一个版本实际情况相同产品的前一个版本实际情况v开发团队的主观评价开发团队的主观评价推荐模型基本执行时间模型(Musa, 简称: 基本模型)对数泊松执行时间模型(Musa-Okumoto, 简称: 对数模型)推荐模型的基本假设 失效
26、是独立的, 并且被遇到的概率是均匀分布 测试空间覆盖了使用空间(测试从完整的使用输入集中选取) 每个运行的输入集是随机选取的 所有的失效有明确的定义并易于观察 导致失效的缺陷立即被修正, 否则重复出现的失效不计算在内基本模型001)(0vev()010()0e00R(|) e0e001e00对数泊松模型1ln1)(0()0e1)(00R(|) 010()11/两种模型失效强度比较()00平均预期失效数 失效强度 ()对数泊松模型基本模型: 失效强度0: 初始失效强度: 在给定时间点上失效的总平均数v0: 在无限时间范围内总失效数两种模型失效强度比较()00执行时间 失效强度 ()基本模型对数泊
27、松模型: 失效强度0: 初始失效强度: 执行时间v0: 在无限时间范围内总失效数两种模型平均失效数比较()v0基本模型基本模型对数泊松模型对数泊松模型: 执行时间: 在给定时间点上失效的总平均数v0: 在无限时间范围内总失效数模型参数参 数模 型基本模型 对数模型初始失效强度初始失效强度00失效强度变化失效强度变化总失效数总失效数0失效强度衰减率失效强度衰减率模型参数预测(1/3) 初始失效强度0 v0 K0 总失效数0 v0 0 /B 失效强度衰减率模型参数预测(2/3) 程序的线性执行频率 v 程序的平均执行率程序的平均执行率/ 目标指令数目标指令数I 缺陷暴露率Kv导致失效的导致失效的“
28、程序段程序段”所占的时间比所占的时间比模型参数预测(3/3) 固有缺陷数0 v缺陷播种缺陷播种v通过测试确定缺陷密度,参照软件规模、通过测试确定缺陷密度,参照软件规模、复杂度,根据经验公式推算复杂度,根据经验公式推算v利用过程质量水平数据利用过程质量水平数据 缺陷衰减因子Bv缺陷减少数缺陷减少数/出现的失效数出现的失效数数据处理示例 总失效数: 136 失效时间(CPU秒)数据v3, 33, 146, 227, 342, 351, 353,444, 556, 571, 709, 759, 836 ., 88682 处理v将失效数每将失效数每5个分为一组,获得失效强度、个分为一组,获得失效强度、
29、累计累计失效分布和平均失效时间累计累计失效分布和平均失效时间v制表制表v绘图绘图数据表累计失效数累计失效数累计时间累计时间失效强度失效强度时间时间53420.014620171.00105710.021834456.50159680.012594769.502019840.0049211476.002530980.0044882541.003050490.0025634073.503553240.0181825186.504063800.0047355852.004576440.0039567012.0050100890.0020458866.5055109820.00559910535.5060125590.00317111770.50失效强度图示()评估实例1(基本模型)题:假定程序在无限的执行时间里将经历100次失效, 在最近的 t 时间单位期间, 发生50次失效。初始失效强度为10 次失效/CPU小时。计算当前(在t) 的失效强度:解:HourCPUfailuresv51005
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 不锈钢家具合同标准文本
- 个人门窗装修合同样本
- 货物运输保险合同条款二零二五年
- 远期买卖合同
- 二零二五民间借贷居间人的法律责任
- 电商培训合同范例二零二五年
- 东莞买卖土地合同标准文本
- 人教版四年级语文上册第六单元语文园地指导方案
- 公司合作拍摄合同标准文本
- 探究式教学【教学设计】《勾股定理》
- 浙江省医疗机构麻醉药品、精神药品管理实施细则
- 《中国近现代史纲要》 课件 第十一章 中国特色社会主义进入新时代
- 机关单位申请要人的请示范文
- 铀矿冶安全规程
- 国标热镀锌钢管规格尺寸理论重量表
- 设计方案投标技术标文件
- 圆来如此简单公开课优质课件获奖
- (本科)审计(第五版)全套教学课件完整版PPT
- GB∕T 3639-2021 冷拔或冷轧精密无缝钢管
- 西师版六年级下册数学第五单元 总复习 教案
- 拖欠货款合同纠纷起诉状范本
评论
0/150
提交评论