您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 软件质量与结构化测试已读版修正版
信息技术培训中心1ualitySoftware软件质量与结构化测试信息技术培训中心2内容提要什么是软件质量软件质量特性与质量模型软件质量的度量常用软件度量方法McCabe复杂度结构化测试技术信息技术培训中心3TestingMaintenanceDesignCoding软件开发信息技术培训中心4Maintenance软件开发的工作分配DesignCodingTesting信息技术培训中心5什么是软件质量“Thetotalityoffeaturesandcharacteristicsofaproductorservicethatbearonitsabilitytosatisfystatedorimpliedneeds”(ISO8402)与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体Thedegreeofexcellence软件的优秀程度“Theabilityofasoftwareproducttosatisfyitsspecifiedrequirements”(DoD-STD-2168)软件产品满足其规定的需求的能力信息技术培训中心6什么是软件质量“Thedegreetowhichasystem,component,orprocessmeetsspecifiedrequirements.”(IEEEstandard610.12-1990)一个系统、组件或过程满足规定的需求的程度“Thedegreetowhichasystem,component,orprocessmeetscustomeroruserneedsorexpectations.”(IEEEstandard610.12-1990)一个系统、组件或过程满足客户或用户的需求的程度,或满足期望值的程度信息技术培训中心7ISO9126SoftwareQuality:软件质量Thetotalityoffeaturesandcharacteristicsofasoftwareproductthatbearonitsabilitytosatisfystatedorimpliedneeds.与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体SoftwareQualityCharacteristics:软件质量特性Asetofattributesofasoftwareproductbywhichitsabilityisdescribedandevaluated.Asoftwarequalitycharacteristicmayberefinedintomultiplelevelsofsub-characteristics.软件质量特性是软件产品的一组属性,用来对软件的能力进行描述和评估。软件质量特性可细分为多层次的子特性。SoftwareQualityMetric:软件质量度量Aquantitativescaleandmethodwhichcanbeusedtodeterminethevalueafeaturetakesforaspecificsoftwareproduct.用于确定软件产品质量特性的定量的衡量和分析方法信息技术培训中心8用户角度供应商的角度QualityinSoftware软件过程商业价值易于修改可实现性可靠性更少的bug多功能性特征的多少信息技术培训中心9缩短时间表“Qualitydoesnothappenbymistake!”为什么质量差?压缩的预算人员的变化用户需求的改变提高或增加功能或性能BugFixing无效的测试信息技术培训中心10软件质量保证(QA)原则质量不必是“最好”的质量是用户想要的和愿意购买的范围QAismorethantestingQAnotonlyattheendoftheprojectQAofproductandprocess格言Movingfromqualitycontrolling(expost)topreventionbyqualityservice.通过质量服务把质量控制变换到预防信息技术培训中心11QualityCharacteristics质量特征ISO9126信息技术培训中心12SoftwareComplexity软件产品系统体系复杂性模块文本复杂性模块的结构复杂Asoftwareproductisasolutionofaproblem.Thecomplexityofthesolutiongenerallydependsonthecomplexityoftheproblem.信息技术培训中心13QualityModels分配用户需求QualityFactors(质量因素)到开发标准QualityCriteria(质量标准)到可证明的和测量的值Metrics(度量)信息技术培训中心14软件质量的因子-标准-度量关系质量树的概念QUALITYFACTOR1FACTORIFACTORLCRITERIA1CRITERIAJCRITERIAMMETRICKMETRIC1METRICN信息技术培训中心15TheMetricsFACTORSCRITERIAMETRICS可维护性自描述性简单性简明性模块化嵌套级别数行数可执行语句数操作数频率语句平均长度组件级别注释率-----------------信息技术培训中心16Boehm质量模型信息技术培训中心17McCallModel信息技术培训中心18质量与质量管理质量要用需求,可接受性和它们达到的证据来衡量质量是通过解决问题实现的质量管理确保前面解决过的问题不再出现没有质量测量来做质量管理只能是幻想信息技术培训中心19测量工具的好处支持质量管理系统开发工程师可以自己检查支持代码评审评价外部软件支持测试信息技术培训中心20ualitySoftwareMetrics信息技术培训中心21什么是度量(Metric)?任何测量的单位e.g.Cm,Litre,Ohm,Second,Color描述一个实体的属性度量的类型:和项目相关时间表/开支估算测量功能点软件度量信息技术培训中心22´只有当你对你所谈到的东西进行测量,并用数量表示出来时,你就对它有了一定了解,反之,你对它并没有真正的了解.´LordKelvin,1889´Youcan‘tcontrolwhatyoucan‘tmeasure.´DeMarco,1982软件质量度量信息技术培训中心23测量非常有用,但我们必须先解决如下问题:5.1o-1s测量Whatdowewanttomeasure?测量什么Howdowemeasure?如何测n?Whatdothemeasurementsmea测量的意义何在信息技术培训中心24结构可靠性可测量的不可测量的5.2o-2sWhattoMeasure?信息技术培训中心25直观的GoodMetricsshould:和错误出现有直接关系好的度量GoodMetricsmust:客观的语言独立和测试努力直接有关自动化简单信息技术培训中心26提高质量4.1s测量确定质量TimeQuality防止质量退化辅助做出决策理解提高生产力确定变更的影响风险分析测试确保质量提高测试效率信息技术培训中心27Metrics++HalsteadMetrics霍尔斯特德度量可用的软件度量包括:FunctionPoint功能点LineCountMetrics线计数度量McCabeMetrics圈复杂度DataMetricsSystemLevelMetricsOOMetricsDerivedMetrics信息技术培训中心28HalsteadMetrics起源:1977年,由MauriceHalstead开发介绍计算模块的操作数和操作符,直接得出模块的复杂程度的一种定量测试方法通过源代码测量模块的复杂度,重点是复杂性的计算应用于代码,经常作为一种维护性度量自诞生之日起,就充满争议信息技术培训中心29技术Halstead度量主要基于以下四层源自程序代码的统计数值:n1=thenumberofdistinct(独立的)operators操作符n2=thenumberofdistinctoperands操作数N1=thetotalnumberofoperatorsN2=thetotalnumberofoperandsMeasureSymbolFormulaProgramlength长度NN=N1+N2Programvocabulary词汇量nn=n1+n2Volume容量VV=N*(LOG2n)Difficulty难度DD=(n1/2)*(N2/n2)Effort工作量EE=D*Vfromtheabove,fivemeasuresarederived...HalsteadMetrics信息技术培训中心30HalsteadMetrics优势:不必深入分析程序的结构预测错误的数目预测维护的工作量对报告和计划项目的健康程度有帮助对整个程序有帮助计算简单适合任何编程语言经过很多工业研究,都支持使用Halstead来预测开发工作量和平均bugs信息技术培训中心31FunctionPoints起源:1977由A.J.Albrecht开发设计测量软件的大小和生产力技术:将基本功能点分为5组:outputs输出inquiries查询inputs输入files文件interfaces接口功能点就是最终用户的业务功能,比如对输入的查询.和软件完成的功能紧密相关信息技术培训中心32FunctionPoints优势:对以下情况,通常被公认为是一种有效方法:较大的用户群;InternationalFunctionPointGroup(IFPG)多于1,200会员公司建立每小时功能点的生产率评估对需求的支持评估软件工程的大小(以及周期)软件模块比较的标准化评估系统变更的开销IFPG提供功能点实践手册,以及标准化的实践活动Source:SoftwareEngineeringInstituteCarnegieMellon信息技术培训中心33LineCountMetrics表明每个模块的行数,包括代码,注释,空白行,混合代码和注释.技术LOC可分为以下几类:Lines-of-Code(LOC)metrics提供代码的总额,但是对内容的测量不太好blanks-Lineswithonlyspace(eg.spaceandtabs)ornotextcommentcode-Sourcelinesofcodethatcontainonlycodeandwhitespacecomments-SourcelinesofcodethatarepurelycommentsMixed-Linesthatcontainbothcodeandcomments信息技术培训中心34LineCountMetrics优势:测量软件的物理尺寸鉴别特殊行,如注释行和空行帮助查明难以理解的模块.(Commentlinesoftenincreasereadability,althoughanunusuallylargenumberofcommentscanindicatethatthemoduleisdifficulttounderstand.)信息技术培训中心35McCabeMetrics起源:圈复杂度(CyclomaticComplexity)由ThomasMcCabe于1976提出测量贯穿程序模块的独立线性路径数提供了比较两个程序复杂度的一种简单的指标通常被称为程序复杂度或McCabe复杂度信息技术培训中心36McCabeMetrics优势:广泛应用的静态软件度量和其他度量互补独立于开发语言扩展到可以包括设计和结构复杂度基于软件结构的严格的数学分析信息技术培训中心37McCabeMetrics优势:可以应用到几个领域:维护的风险分
本文标题:软件质量与结构化测试已读版修正版
链接地址:https://www.777doc.com/doc-446523 .html