您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 软件质量保证和管理sukv-Ch2软件质量
软件质量保证和管理-Ch.7软件可靠性度量和测试gang901@hotmail.com第6章回顾6.1测量基础测量原理、标准、度量过程及原则6.2软件度量软件周期度量活动、项目度量、软件规模度量、代码行度量法、功能点分析法、对象点度量法6.3软件质量的度量方法分类、模型、基于时间的缺陷到达模式、PRT、Rayleigh模型6.4软件产品的质量度量6.5软件过程质量度量6.6软件质量度量的执行第7章软件可靠性度量和测试7.1软件可靠性7.2可靠性模型及其评价标准7.3软件可靠性测试和评估7.1软件可靠性7.1.1软件失效的过程与类别7.1.2可靠性定义7.1软件可靠性硬件系统故障率与可靠性7.1软件可靠性软件系统故障率与可靠性7.1.1软件失效过程与类别软件不能完成规定的功能即“软件失效”(failure)或称“软件故障”。如果软件存在缺陷,它将永远的潜伏在软件中,直到它被发现并得到正确修正。反过来如果软件在一定的环境下运行正确,它也将继续保持这种正确性,除非环境发生变化。软件失效过程7.1.1软件失效过程与类别系统失效,主要是指由于软件故障的发生而导致系统死机、系统无法启动、系统挂起及系统运行完全失去应有运行轨迹等。比如:计算器无法正确的计算了或只要执行计算系统就出错等。局部失效,主要是指系统当中的某一个或几个模块的功能失效,但并不影响其它模块的正常使用。比如:一个基于网络的分布式软件,由于网络连接模块的功能失效使得系统无法与服务器进行数据同步,但由于该系统支持离线工作,一旦网络连接故障排除便可与服务器进行数据同步,这种情形我们可以视之为软件系统的局部失效。软件失效类别7.1.2可靠性定义规定的时间“运行时间”包括软件系统运行后工作与挂起(开启但空闲)的累计时间。规定的环境条件环境条件指软件的运行环境。可靠性是产品在规定的条件下和规定的时间内完成规定功能的能力,对其无故障的概率度量称为可靠度。7.2可靠性模型及评价标准7.2.1可靠性模型7.2.2可靠性模型评价标准7.2.3可靠性增长模型和指数模型7.2.1可靠性模型软件可靠性模型是用来指导我们对软件可靠性进行评估和预测的。正确的选择与运用可靠性模型对于指导软件可靠性设计与测试至关重要。错误的或不恰当的选择不适合的可靠性模型将会带来错误的预测值,从而错误地指导软件过程。模型分类动态模型和静态模型动态:统计数据的来源是缺陷数统计分布。例:软件生命周期中被发现的缺陷数变化趋势用来预测可能潜伏在软件中的缺陷数参考依据。静态:统计数据的来源是项目其他属性或程序与模块的分析数据。例:模块的复杂性,项目的规模模型建立确定预测参数、数据搜集与分析、模型选择、模型测试与评价、模型的确定7.2.1可靠性模型单元划分建模的影响示例每天产品缺陷数日期(单位:天)缺陷数日期(单位:天)缺陷数3月1日33月8日183月2日183月9日93月3日153月10日123月4日83月11日93月5日103月12日83月6日63月13日43月7日153月14日07.2.1可靠性模型单元划分建模的影响示例对应的趋势图7.2.1可靠性模型单元划分建模的影响示例每两天产品缺陷数日期(单位:2天)缺陷数3/1-3/2213/3-3/4233/5-3/6163/7-3/8333/9-3/10213/11-3/12173/13-3-1487.2.1可靠性模型单元划分建模的影响示例对应的缺陷数变化趋势图7.2.2可靠性模型评价标准基于合理的假设181页预测的有效性模型实现的可操作性预测的及时性预测的覆盖率7.2.3可靠性增长模型和指数模型可靠性增长模型时间间隔模型变量为故障之间的时间间隔故障数目模型以CPU执行的时间或日历时间为一个特定的时间间隔为标准,观察缺陷或故障数目。指数模型指数模型是Weibull系列(见表6-8连续分布数学模型)的一个特例,其形状参数为1。适合于单一衰减速为渐进的统计过程。其累积分布函数CDF和概率分布函数PDF为:CDF:F(t)=1-e-(t/c)=1-eλtPDF:f(t)=(1/c)e-(t/c)Weibull分布,又称韦伯分布、韦氏分布或威布尔分布,由瑞典物理学家WallodiWeibull于1939年引进,是可靠性分析及寿命检验的理论基础。7.2.3可靠性增长模型和指数模型周缺陷数目指数模型—密度分布7.2.3可靠性增长模型和指数模型缺陷数目指数模型—累计分布7.3软件可靠性测试和评估7.3.1影响软件可靠性的因素7.3.2系统运行剖面与可靠性关系7.3.3可靠性测试7.3.4可靠性测试结果分析与评估7.3.1影响软件可靠性的因素软件规模软件规模越大,复杂度自然会增加,隐藏在软件当中的潜在问题可能就会更多,所以软件的规模是影响软件可靠性重要因素之一运行剖面件的运行剖面是用来描述软件的实际可能发生的操作路径的集合。运行剖面越多,潜伏在软件当中遗漏的考虑不周全的问题可能就越多开发方法开发人员素质可靠性设计软件可靠性不完全是通过测试去发现的,也不完全是增强编码能力可以达到的,对软件的项目的前期进行可靠性设计也非常重要结构化、面向对向、形式化…开发的支持环境开发过程中的各阶段的模拟真实使用环境的拟合程度7.3.2系统的运行剖面与可靠性的关系软件的运行剖面是用来描述软件的实际可能发生的操作路径的集合。运行剖面是否能代表、刻画软件的实际使用取决于可靠性工程人员对软件的系统模式、功能、任务需求及相应的输入的分析,也取决于他们对用户使用这些系统模式、功能、任务的概率的了解。运行剖面构造的质量将对测试、分析的结果是否可信产生最直接影响。7.3.3可靠性测试可靠性测试活动构造运行剖面选取测试用例准备测试环境测试执行数据收集数据分析失效纠正7.3.3可靠性测试可靠性增长测试软件可靠性增长测试是为了满足用户对软件的可靠性要求、提高软件可靠性水平而对软件进行的测试。是为了满足软件的可靠性指标要求,对软件进行测试—可靠性分析—修改—再测试—再分析—再修改的循环过程。可靠性验证测试软件可靠性验证测试是为了验证在给定的统计置信度下,软件当前的可靠性水平是否满足用户的要求而进行的测试,即用户在接收软件时,确定它是否满足软件规格说明书中规定的可靠性指标。7.3.4可靠性测试结果分析和评估推测错误的产生频度估算错误产生频度的一种方法是估算平均失效等待时间MTTF(MeanTimeToFailure)。MTTF估算公式(Shooman模型):故障累积曲线与故障检出曲线7.3.4可靠性测试结果分析和评估估算软件中故障总数ET(ErrorTotal)的方法利用Shooman模型估算程序中原来错误总量ET利用植入故障法估算程序中原有故障总数ET─捕获-再捕获抽样法Hyman分别测试法作业第7章1、3Q&A
本文标题:软件质量保证和管理sukv-Ch2软件质量
链接地址:https://www.777doc.com/doc-446542 .html