版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件可靠性测评,提要,软件可靠性测试 软件可靠性模型 软件可靠性评估,测试统计规则,IBM关于缺陷与故障的统计研究数据 客户所看到的57%以上的故障是由占缺陷总数2%以下的缺陷引起的; 超过总数61%的缺陷只引起低于3%的客户将会经历的故障; 不同的缺陷在所引发的故障率上存在高达4个数量级的巨大差异,测试定义,一种为了满足用户对软件的可靠性要求,通过对软件进行测试,发现并纠正软件中的缺陷,提高软件的可靠性水平,并验证它能否达到用户可靠性要求的软件测试方法,测试优点,需求确认 资源和进度预测 有效并高效地测试 量化测试管理 可靠性预测,测试目的,验证软件可靠性满足给定的要求 评估软件可靠性水平
2、预计软件可靠性水平 实现软件可靠性增长,测试时机,软件系统测试后期 软件可靠性测试与系统测试的关系,测试类别,软件可靠性增长测试(Software Reliability Growth Testing) 在软件交付前进行,通过可靠性测试暴露软件缺陷,采取有效地措施排除失效率较大的缺陷,以提高交付软件的可靠性 软件可靠性验证测试(Software Reliability Demonstration Testing) 在软件确认阶段进行,验证软件需求规范中软件可靠性目标的满足情况,在测试过程中不进行软件缺陷消除,测试验证方案,无失效运行时间间隔测试 (Failure-Free Execution
3、Interval Test) 要求在指定时间内测试给定数量的样品。如果在测试期间没有失效发生,则认为软件或系统满足可靠性要求 定时截尾可靠性验证测试 (Fixed-Length Reliability Demonstration Test) 序贯可靠性验证测试(Probability-Ration Sequential Reliability Demonstration Test,测试演示图,12,测试特征,用系统的预期使用域作为模型来指导测试用例的选择或生成 根据故障率的等级、功能使用频度和重要性来检测软件产品错误 可靠性测试是面向故障的测试方法 可靠性测试既有助于软件可靠性增长也可用于软件
4、可靠性评价,测试方法,基于统计模型的可靠性测试测试 用Markov链描述软件的使用 结构构造和统计分配 依据Markov模型上每个状态出边所关联的迁移概率,通过遍历使用模型的状态可以生成测试用例,测试方法,基于操作剖面的可靠性测试方法 用操作剖面描述软件的使用 分层建立操作剖面:客户剖面、用户剖面、系统模式剖面、功能剖面和操作剖面 每个操作对应若干个运行,测试过程,定义“必要的”可靠性,开发测试模型,准备测试,执行测试,应用失效数据 得到结论,需求分析,设计与实现,集成与测试,测试定义指标,失效严重程度分类 一组单个出现时对用户产生相同影响的失效 对失效指定严重程度,主要是为了结合失效频率来解
5、决失效的优先级 失效强度,测试失效分类举例1,测试失效分类举例2,测试操作剖面开发,操作剖面是二维向量的集合,定义为:profile = (item1,p1),(item2,p2), (itemn,pn) itemi代表操作剖面中所包含的互不相交的元素中的一个,item1item2itemn pi代表第i个元素的权值或是发生的概率,测试建立操作剖面,用操作剖面描述软件的使用 分层建立操作剖面 客户剖面(CP,Customer Profile) 用户剖面(UP,User Profile) 系统模式剖面(SP,System mode Profile) 功能剖面(FP,Function Profil
6、e) 操作剖面(OP,Operational Profile,测试建立操作剖面,建立客户剖面 CP = (c1,pc1 ),(c2, pc2 ),(cn,pcn ) 为客户剖面中的客户构建用户剖面 UPc1=(u1,pc1_u1),(u2,pc1_u2),(um,pc1_um) UPc2=(u1,pc2_u1),(u2,pc2_u2),(um,pc2_um) Upcn=(u1,pcn_u1),(u2,pcn_u2),(um,pcn_um,测试建立操作剖面,对相同类型的用户进行合并,若用户ui有m个同类,则用户ui出现的概率为: 得到用户剖面 UP = (u1,pu1),(u2 pu2),(um
7、 pum,测试建立操作剖面,同理,可以得到系统模式剖面、功能剖面和操作剖面 SP = (s1,ps1),(s2,ps2),(sn,psn) FP = (f1,pf1),(f2,pf2),(fn,pfn) OP = (o1,po1),(o2 po2),(on,pon,测试操作剖面实例,确定操作模式 确定操作的发起者 选择表示方法(表格/图形) 创建操作表 确定出现率 确定出现概率 考虑特殊情况,测试操作表例子,测试操作出现率,测试出现概率,测试准备测试用例,估计当前版本所需新测试用例的数量 通过随机选取测试的操作,为每个操作对应若干个运行 在被测系统之间分配新测试用例的数量 在每个系统的操作之间
8、分配新测试用例的数量 指定新的测试用例 将新测试用例加入测试用例集,测试充分性准则,依据可靠性要求和评估的置信度确定的执行时间 测试剖面和操作剖面吻合 需求的覆盖,测试操作剖面特点,优点 通过分解,可以处理规模较大的系统 测试用例的规模较均匀 不足 测试执行缺乏连续性 高使用概率的功能被重复测试,测试Markov模型,测试建立Markov模型,用Markov链描述软件的使用 结构构造 统计分配,测试结构构造,空,装载,满,Pop/ EmptyStackException,Pop n1 / return top(x,Popn=1/ return top(x,push(x,push(x) nmax
9、-1,Push/ FullStackException,push(x) n=max-1,Pop/ return top(x,测试统计分配,空,装载,满,Pop/ EmptyStackException, 0.05,Pop n1 / return top(x), 0.40,Popn=1/ return top(x), 0.10,push(x), 0.95,push(x) nmax-1, 0.40,Push/ FullStackException, 0.05,push(x) n=max-1, 0.10,Pop/ return top(x), 0.95,测试生成测试用例,通过触发当前状态上的事件,完
10、成期望的动作,产生状态转移,来遍历使用模型,生成测试用例 遍历使用模型时,依据当前状态上每个出边所关联的迁移概率,来确定需要触发的事件 确定需要触发的事件时,需要同时考虑防护的作用,测试充分性准则,依据可靠性要求和评估的置信度确定的执行时间 测试剖面和操作剖面吻合 满足对状态图的覆盖要求,测试状态图覆盖要求,所有状态至少访问一次 所有事件至少触发一次 所有转换至少遍历一次(包括隐含) 所有基本路径至少覆盖一次(循环) 对防护(guard)进行测试(MMC/DC、边界,测试Markov模型特点,优点 便于自动化 每次测试都是新的 不足 状态图的空间爆炸问题 以正常测试为主,测试对模型的改进,对于
11、操作剖面 分类剖面:功能剖面、数据剖面、环境剖面 对于Markov模型 多层状态图,测试对模型的改进,将UML用于刻画使用模型 对UML进行改进,加入统计分布特征 用例图与类图、状态图、时序图等相结合,刻画嵌入式软件的各种运行特性,用于指导测试设计,测试测试准备,测试用例准备 估计当前版本所需新测试用例的数量 在被测系统之间分配新测试用例的数量 在每个系统的操作之间分配新测试用例的数量 指定新的测试用例 将新测试用例加入测试用例集 测试过程准备,测试测试执行,分配测试时间 按次序执行测试 标识系统失效 分析测试输出的偏离 确定哪些偏离是失败 估计失效出现的时间 测试记录的考虑,测试决策,可靠性
12、验证测试 可靠性增长测试 特殊情况 失效数据计算 缺陷掩盖问题,2021/2/1,43,可编辑,测试加速测试,有效测试与无效测试 通过测试分类优化测试用例集 稀有操作和关键操作 非稀有关键操作 稀有非关键操作 稀有关键操作,测试稀有关键操作,组合或缩减稀有操作 根据操作的关键程度加权处理操作剖面 按照关键类别将操作分类 为稀有关键操作分配指定数量的测试用例,测试几个问题,测试记录 重复抽样 充分性准则,模型基本情况,基于对软件失效特征的理解,建立软件可靠性模型,试图量化软件可靠性 自1970年代以来,已经开发了超过200种模型,但是在软件可靠性定量评价方面仍然遗留着大量未解决的问题 没有一个适
13、应所有情况的单一模型,也没有任何模型是完备的,甚至是典型的,模型建模的基本思想,测试 时间,失效强度,失效率 目标值,计划完成时间,当前时间,当前 失效率,说明失效过程对影响它的 主要因素的通用依赖形式,模型影响失效的因素,错误引入 错误消除 操作环境,模型软件失效的统计特性,模型失效的随机性,随机性的含义 变量的值不确定,有许多可能的值,每个值都有相应的发生概率 精确值不可预知,平均值和离差时可知的 不与特定的概率分布相联系 受测试强度和使用剖面等因素的影响,模型对不同类别失效处理,分别评估每类失效的强度和其他参数 根据失效的严重程度对各类失效间的时间间隔加权,然后对数据集中处理 评估总失效
14、强度时不考虑各类失效的严重程度,用总失效强度乘以每类失效出现的比例来确定每类失效的失效强度,模型建模的目的,预测达到规定目标还需要多少测试时间 预测测试结束时软件的期望可靠性,模型用途,模型模型的典型构成,模型假设 模型因素 数学函数 描述可靠性与因素之间的关系 通常为高阶指数或对数,模型参数估计方式,评估 通过系统失效数据进行统计推导 预计 根据软件产品属性和开发过程确定参数值,模型参数估计方法,估计类别 点估计 区间估计 估计方法 最大似然法 最小二乘法 贝叶斯法,模型模型的评价,论断的有效性能给出未来失效行为的良好预测 能力计算出的量值是有用的 测量参数的简易性 基于合理的假设 简单性
15、被广泛使用 对噪音的不敏感性,模型一般特性,随机过程 有错误清除和无错误清除 确定参数,模型分类,时间域(Time domain) 日历或执行时间 类别(Category) 在无限时间内发生的失效是有限的还是无限的 类型(Type) 到指定时间发生的失效数分布 类(Class, 仅适应于有限失效) 失效强度的时间函数形式 族(Family, 仅适应于无限失效) 失效强度的预期出现失效数的函数形式,模型有限失效模型举例,模型无限失效模型举例,模型应用的考虑,没有普遍适用的可靠性增长模型 可靠性增长与具体应用相关 使用多个增长模型拟合观测数据,选取与数据最匹配的模型,模型推荐模型,基本执行时间模型
16、(Musa)(简称:基本模型) 对数泊松执行时间模型(Musa-Okumoto) (简称:对数模型,评估模型基本假设,故障是独立的,并且被遇到的概率是均匀分布 测试空间覆盖了使用空间(测试从完整的使用输入集中选取) 每个运行的输入集是随机选取的 所有的失效有明确的定义并易于观察 导致失效的错误立即被修正, 否则重复出现的失效不计算在内,评估基本模型,评估对数泊松模型,评估失效强度比较(m,l0,l0,平均预期失效数 m,失效强度 l(m,对数泊松模型,基本模型,失效强度 0: 初始失效强度 : 在给定时间点上失效的总平均数 v0: 在无限时间范围内总失效数,评估失效强度比较(t,失效强度 0:
17、 初始失效强度 t : 执行时间 v0: 在无限时间范围内总失效数,评估平均失效数比较(t,t : 执行时间 : 在给定时间点上失效的总平均数 v0: 在无限时间范围内总失效数,评估模型参数,评估模型参数预测(1/3,初始失效强度0 0 K0 总失效数0 0 0 /B 失效强度衰减率,评估模型参数预测(2/3,程序的线性执行频率 程序的平均执行率/ 目标指令数I 错误暴露率K 导致失效的“程序段”所占的时间比,评估模型参数预测(3/3,固有错误数0 错误播种 通过测试确定错误密度,参照软件规模、复杂度,根据经验公式推算 错误衰减因子B 错误将减少数/出现的失效数,评估例1(基本模型,题:假定程
18、序在无限的执行时间里将经历100次失效,在最近的 t 时间单位期间,发生50次失效。初始失效强度为10 次失效/CPU小时。计算当前(在t) 的失效强度: 解,评估例2 (基本模型,题: 设0 = 10 次失效/CPU小时,v0 = 100 (在无限的执行时间里的失效数),求当 = 10 CPU 小时和 = 100 CPU小时的失效数? 解,评估例3 (基本模型,题: 设0 = 10 次失效/CPU小时,v0 = 100 (在无限的执行时间里的失效数),求 = 10 CPU 小时和 = 100 CPU小时时的失效强度。 解,评估例4(对数模型,题: 设0 = 10 次失效/CPU小时, =0.02/失效, 已经经历了50 次失效( = 50),求当前失效强度? 解,评估例5 (对数模型,题: 设0 = 10 次失效/CPU小时, = 0.02 / 失效。求 = 10 CPU 小时和 = 100 CPU小时两个时刻的失
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿教师培训工作计划汇编
- 中学语文教学的工作计划
- 岭南师范学院《现代文学与语文教学》2021-2022学年第一学期期末试卷
- 临沂大学《文创产品设计》2021-2022学年第一学期期末试卷
- 临沂大学《面向对象程序设计》2022-2023学年第一学期期末试卷
- 小学期初中中考试总结计划
- 聊城大学《用户体验与交互设计》2022-2023学年第一学期期末试卷
- 幼儿园第二学期小班教研计划
- 聊城大学《日本文学概论二》2022-2023学年第一学期期末试卷
- 甘薯淀粉项目可行性计划
- 教学课件:《新时代新征程》
- 2023年整车NVH分析工程师年度总结及来年计划
- 废气治理设施运行管理规程、制度
- 闲置铺面招租经营方案
- 2023年版劳动合同法全文
- 质量保证体系评价-评价表(ASES-ver.1.6)
- 【教学创新大赛】《数字电子技术》教学创新成果报告
- 办事依法,遇事找法,解决问题用法
- 销售管理系统程序设计-C语言
- 2023年-2024年物业管理员理论考试题库(含答案)
- 医疗机构安全检查表
评论
0/150
提交评论