软件质量与结构化测试已读版修正版

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

信息技术培训中心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)一个系统、组件或过程满足客户或用户的需求的程度,或满足期望值的程度信息技术培训中心7ISO9126SoftwareQuality:软件质量Thetotalityoffeaturesandcharacteristicsofasoftwareproductthatbearonitsabilitytosatisfystatedorimpliedneeds.与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体SoftwareQualityCharacteristics:软件质量特性Asetofattributesofasoftwareproductbywhichitsabilityisdescribedandevaluated.Asoftwarequalitycharacteristicmayberefinedintomultiplelevelsofsub-characteristics.软件质量特性是软件产品的一组属性,用来对软件的能力进行描述和评估。软件质量特性可细分为多层次的子特性。SoftwareQualityMetric:软件质量度量Aquantitativescaleandmethodwhichcanbeusedtodeterminethevalueafeaturetakesforaspecificsoftwareproduct.用于确定软件产品质量特性的定量的衡量和分析方法信息技术培训中心8用户角度供应商的角度QualityinSoftware软件过程商业价值易于修改可实现性可靠性更少的bug多功能性特征的多少信息技术培训中心9缩短时间表“Qualitydoesnothappenbymistake!”为什么质量差?压缩的预算人员的变化用户需求的改变提高或增加功能或性能BugFixing无效的测试信息技术培训中心10软件质量保证(QA)原则质量不必是“最好”的质量是用户想要的和愿意购买的范围QAismorethantestingQAnotonlyattheendoftheprojectQAofproductandprocess格言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圈复杂度DataMetricsSystemLevelMetricsOOMetricsDerivedMetrics信息技术培训中心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优势:可以应用到几个领域:维护的风险分

1 / 102
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功