《软件质量管理》PPT课件.ppt

上传人:za****8 文档编号:12725988 上传时间:2020-05-19 格式:PPT 页数:49 大小:359.56KB
返回 下载 相关 举报
《软件质量管理》PPT课件.ppt_第1页
第1页 / 共49页
《软件质量管理》PPT课件.ppt_第2页
第2页 / 共49页
《软件质量管理》PPT课件.ppt_第3页
第3页 / 共49页
点击查看更多>>
资源描述
23:35:23,1,8.1软件质量概念8.2软件可靠性,第八章软件质量管理,23:35:23,2,8.1软件质量概念,8.1.1软件质量的定义8.1.2软件质量特性8.1.3软件质量模型8.1.4软件质量的度量和评价,23:35:23,3,8.1.1软件质量的定义,ANSI/IEEEStd729-1983定义软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。M.J.Fisher定义软件质量为“所有描述计算机软件优秀程度的特性的组合”。,23:35:23,4,软件质量的三个一致性:与所确定的功能和性能一致性,即需求一致性。与成文的开发标准一致性。与所有专业开发的软件所期望了隐含性的一致性。,23:35:23,5,8.1.2软件质量特性,软件质量特性,反映了软件的本质。讨论一个软件的质量,问题最终要归结到定义软件的质量特性。定义一个软件的质量,就等价于为该软件定义一系列质量特性。人们通常把影响软件质量的特性用软件质量模型来描述。,23:35:23,6,8.1.3软件质量模型,软件质量特性定义成分层模型最基本的叫做基本质量特性,它可以由一些子质量特性定义和度量。1976年Boehm质量模型1979年McCall质量模型1985年ISO质量模型,23:35:23,7,23:35:23,8,ISO的软件质量评价模型,按照ISO/TC97/SC7/WG3/1985-1-30/N382,软件质量度量模型由三层组成软件质量需求评价准则(SQRC)软件质量设计评价准则(SQDC)软件质量度量评价准则(SQMC)高层和中层建立国际标准,低层可由各使用单位视实际情况制定,23:35:23,9,23:35:23,10,1991年ISO质量特性国际标准(ISO/IEC9126),质量特性:功能性、可靠性、可维护性、效率、可使用性、可移植性推荐21个子特性:适合性准确性互用性依从性安全性成熟性容错性可恢复性可理解性易学习性操作性时间特性资源特性可分析性稳定性可变更性可测试性可安装性可替换性适应性一致性,23:35:23,11,McCall质量模型,23:35:23,12,23:35:23,13,8.2软件可靠性,软件生存期与软件寿命的关系在软件工程中常用的定义软件可靠性定义测试中的可靠性分析测试精确度和测试覆盖度的评价,23:35:23,14,软件生存期与软件寿命的关系,一切有生命的东西都有一个“寿命”这个概念也可以延伸到对非生命产品的质量评价上来。例如一个电子产品的寿命就是指该产品从出厂直到丧失使用价值的持续时间。从软件工程的角度来说,软件产品的寿命是指软件的整个生存期。,23:35:23,15,从软件用户的角度来看,更关心的是软件在交付使用后的情况如何。希望用一个指标平均失效间隔时间MTBF(MeanTimeBetweenFailure)来表明,在规定的要求和条件下,能在多大的程度上依赖这个软件来完成任务。我们把在使用期间软件能够正常工作的持续时间叫做软件的使用寿命。,23:35:23,16,软件的使用寿命与输入环境有关。例如,有一个存在缺陷的编译程序,当用于学生做简单练习时,MTBF可能很长。而做一个大的课题时,由于程序连续出错,MTBF就会变得很短。MTBF可以看做是对软件可靠性做估计的样本数据,但不能看做是依据。,23:35:23,17,“错误”这一术语。在没有特别加以说明的情况下,这是一个泛用的、模糊的概念。它指的可能是bug(设计中的差错)、fault(故障)、error(错误)、failure(失效)、crash(重大事故)、problem(疑问)等。在汉译中,这些术语的使用更加混乱。,23:35:23,18,在软件工程中常用的定义,故障(fault):软件的内在缺陷。这些缺陷可在生存期各个阶段被引入。错误(error):故障在一定的环境条件下的暴露,导致系统在运行中出现了不正常、不正确、不按规范执行的状态,称为软件出错。失效(failure):对错误不做任何修正和恢复,导致系统的输出不满足用户要求,称为软件的一次失效。,23:35:23,19,以上定义的故障、错误和失效,分别代表了广义的“错误”在不同的条件下所对应的术语。它们可以理解为:设计者的失误导致系统中留有错误的设计缺陷或“故障”(fault),这些故障导致系统的错误执行错误(error),由于错误导致系统的错误输出失效(failure)。,23:35:23,20,故障是物理地或静态地存在的失误、错误和失效都是系统的一种动态的转瞬即逝的现象软件发生失效标志着软件一次使用寿命的结束发生过失效的软件通常仍然是可用的。只有当软件频繁失效,或者公认已经“过时”了的时侯,软件才被废弃,意味着当前这一版本软件使用寿命的终结。,23:35:23,21,软件故障产生原因,支持软件工作的基本条件(除硬件外的操作系统、数据库管理系统、编译程序、微代码等)的缺陷软件设计不当加入了允许范围之外的输入,23:35:23,22,软件可靠性的定义,软件可靠性是软件在给定的时间间隔及给定的环境条件下,按设计要求,成功地运行程序的概率。环境条件指的是软件的使用环境。无论是什么软件,如果不对它的使用环境加以限制,都是会失效的。这种失效的数据,不能用来度量软件的可靠性。,23:35:23,23,规定的时间在定义中,一般采用“运行时间”t作为时间的尺度。因具体要处理的问题是多种多样的其对应的输入环境是随机程序中相应程序路径的选取也是随机的软件的失效也是随机的应当把运行时间t当作随机变量来考虑。,23:35:23,24,规定的功能在考虑软件可靠性时,首先应当明确软件的功能是什么,哪些功能是主要的,哪些功能是次要的。一般从软件需求分析说明书和设计说明书中可以了解这些情况。由于功能不同,失效带来的损失就不一样。因此,还要明确哪些失效是致命的,哪些失效是非致命的,哪些又是容易修复的。此外,还要明确,怎样才算是完成了一个规定的功能。,23:35:23,25,成功地运行程序是指不仅程序能正确地运行,满足用户对它的功能要求,而且当程序一旦受到意外的伤害,或系统故障时,能尽快恢复,仍能正常地运行。,23:35:23,26,测试中的可靠性分析,在软件开发的过程中,利用测试的统计数据,估算软件的可靠性,以控制软件的质量是至关重要的。可以做如下分析:推测错误的产生频度,即推测错误产生的时间间隔(平均失效等待时间MTTF)推测残留在程序中的错误数ET评价测试的精确度和覆盖率,23:35:23,27,推测错误的产生频度,估算错误产生频度的一种方法是估算平均失效等待时间MTTF(MeanTimeToFailure)MTTF估算公式(Shooman模型),23:35:23,28,故障累积指数曲线模型,23:35:23,29,估算软件中故障总数ET的方法,利用Shooman模型估算程序中原来错误总量ET瞬间估算,23:35:23,30,解此方程组,23:35:23,31,利用最小二乘法进行程序原有错误数ET及K的估算,由失效率整理得若对程序进行若干次不同的功能测试,可得到一系列实验数据,23:35:23,32,Ec(ti),(ti),i=1,2,n令有,23:35:23,33,用最小二乘法解此方程组,可解出a、b的估计值最后得到K,ET的估计值,23:35:23,34,利用植入故障法估算程序中原有故障总数ET捕获再捕获抽样法,设Ns是在测试前人为地向程序中植入的故障数(称播种故障),ns是经过一段时间测试后发现的播种故障的数目,n是在测试中又发现的程序原有故障数。设测试用例发现植入故障和原有故障的能力相同,则程序中原有故障总数N(=ET)估算值为,23:35:23,35,Hyman分别测试法,由两个测试员同时互相独立地测试同一程序的两个副本,用t表示测试时间,记t0时,程序中原有故障总数是B0;tt1时,测试员甲发现的故障总数是B1;测试员乙发现的故障总数是B2;其中两人发现的相同故障数目是bc;两人发现的不同故障数目是bi。,23:35:23,36,在大程序测试时,头几个月两个测试员测试的结果应当比较接近,bi不是很大。这时有如果bi比较显著,应当每隔一段时间,由两个测试员再进行分别测试,分析测试结果,估算B0。如果bi减小,或几次估算值的结果相差不多,则B0作为原有错误总数的估算值。,23:35:23,37,测试精确度和测试覆盖度的评价,在软件测试过程中累积发现的故障数,可用带有平均值函数m(t)的非齐次泊松过程(NHPP)来描述:其中,N是在测试中可能发现的故障总数,b是故障发现率。当N一定时,b越大,在短期内发现的故障越多。,23:35:23,38,23:35:23,39,N可以认为是当测试时间无限延长时估计可能发现的故障总数。由于测试的不完全,在某些很难发现的故障未发现前就可能结束测试若程序中潜在的故障较少,则参数N的估计误差较大因此,只用测试中累积发现的故障数来评价测试是不够的。需要从测试的量的方面和质的方面,全面地评价测试。,23:35:23,40,SPQL(SoftwareProductQualityLevel)用如下公式度量:SPQLAcCv其中,Ac(TestAccuracy)是测试的精确度,它反映了测试的质量;Cv(TestCoveragy)是测试的覆盖度,它反映了测试的数量。,测试结束时软件产品质量水准,23:35:23,41,测试质量的度量可以靠测试的故障捕捉率和遗漏率来衡量。测试数量的度量指标是执行的测试用例数、确认的程序路径数等等;,23:35:23,42,测试精确度Ac,表明在测试的过程中以多大的把握捕捉了软件中潜在的故障。测定Ac,需要预先植入播种故障,然后通过测试,根据播种故障的捕捉率来推测原有故障的捕获率。,23:35:23,43,用ns表示经过相当长时间测试可能发现的播种故障数,用Ns表示测试对象软件内预先埋设的播种故障总数,用平均值为m(t)的NHPP模型描述测试时发现播种故障的过程m(t)的收敛值m()N测试精确度Ac的推测值:,23:35:23,44,若设测试过程中到时刻ti能发现的累积播种故障总数为yi,则在测试期间可得到一连串数据(t0,0),(t1,y1),(tm,ym)可得到一组方程:应用最小二乘法可得到参数N与b的估计值,并得到测试精确度Ac。,23:35:23,45,测试覆盖率Cv,表明在整个测试期间发现软件内潜在故障的可能性有多大。可通过被测试对象软件内潜在的原有故障的捕捉率来测定的。,23:35:23,46,测试过程中已发现原有故障总数为n0(实测值),经过相当长时间测试后可能发现的原有故障总数为N0,采用平均值函数m(t)的NHPP模型描述测试发现原有故障的过程m(t)的收敛值m()Nc测试覆盖率Cv的推测值:,23:35:23,47,测试开始后,由于测试员对程序和测试环境不熟悉,造成拖期。为描述这种情形,对原来NHPP的指数型平均值函数加以改造:它是把原来的指数型平均值函数在时间轴上平移而得到的结果,是具有时间延迟的NHPP模型。,23:35:23,48,23:35:23,49,测试员从发现错误征兆到确认错误,需要反复执行程序,以再现错误,造成时间拖延。因此,在使用测试结果进行软件质量评价时,只用指数型的NHPP的平均值曲线(A)是不够的。实测结果多是如(B)所示的S型曲线。,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!