测试和软件质量分析报告-STMT

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

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

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

资源描述

软件测试方法和技术-Ch.16测试和软件质量分析报告Zhu.Kerry@gmail.comZhu.Kerry@gmail.com朱少民KerryZhu第十六章测试和软件质量分析报告Zhu.Kerry@gmail.com16.1软件产品的质量度量16.2评估系统测试的覆盖程度16.3软件缺陷分析方法16.4基于缺陷分析的产品质量评估16.5测试报告及其模板16.1软件产品的质量度量Zhu.Kerry@gmail.com16.1.1软件度量的内容和分类16.1.2软件度量的分工和过程16.1.3软件质量模型16.1.4软件质量的度量16.1.5质量度量的统计方法软件度量软件度量就是对软件所包含的各种属性的量化表示。软件度量可以提供对软件过程和软件产品的深入了解的衡量指标,使组织能够更好地做出决策以达成目标,软件度量具有如下作用:•用数据指标表明验收标准;•监控项目进度和预见风险;•分配资源时进行量化均衡;•预计和控制产品的过程、成本和质量。Zhu.Kerry@gmail.com软件度量的分类Zhu.Kerry@gmail.com测量(Measurement)、度量(Metric)和指标(Indicator)软件度量的分类软件过程度量软件项目度量产品质量度量软件度量的内容Zhu.Kerry@gmail.com规模度量:代码行数,功能点和对象点等复杂度度量:软件结构复杂度指标。缺陷度量:帮助确定产品缺陷变化的状态,并指示修复缺陷活动所需的工作量,分析产品缺陷分布的情况工作量度量进度度量生产率度量:代码行数/人·月,测试用例数/人·日;风险度量:“风险发生的概率”和“风险发生后所带来的损失”软件度量的分工Zhu.Kerry@gmail.com度量工作小组由专职的度量研究人员和项目协调人员组成,度量研究人员的主要职责是定义度量过程和指导进行度量活动,并对数据进行分析、反馈;项目协调人员的职责是为定义度量过程提供详细的需求信息,并负责度量过程在项目组的推行。数据提供者一般是项目中的研发人员,有时还会包括用户服务人员和最终用户。IT支持者确定数据提供的格式与数据存储方式,提供数据收集工具与数据存储设备软件度量的过程Zhu.Kerry@gmail.com识别目标。分析出度量的工作目标和列表,并由管理者审核确认定义度量过程。定义其收集要素、收集过程、分析、反馈过程、IT支持体系,为具体的收集活动、分析、反馈活动和IT设备、工具开发提供指导。搜集数据。应用IT支持工具进行数据收集工作,并按指定的方式审查和存储。数据分析与反馈。根据数据收集结果,按照已定义的分析方法进行数据分析,完成规定格式的图表,进行反馈。过程改进。根据度量的分析报告,管理者基于度量数据做出决策。软件质量模型Zhu.Kerry@gmail.comBoehm软件质量度量模型McCall三层次的度量模型(图2-1)ISO9126软件质量模型Boehm软件质量度量模型Zhu.Kerry@gmail.comISO9126软件质量模型Zhu.Kerry@gmail.com软件质量的度量Zhu.Kerry@gmail.com软件可靠性度量、复杂度度量、缺陷度量和规模度量Mi=c1×f1+c2×f2+…+cn×fnMi是一个软件质量因素(如SQRC层各项待计算值),fn是影响质量因素的度量值(如SQDC层各项估计值),cn是加权因子。质量度量的统计方法Zhu.Kerry@gmail.com说明不完整或说明错误(IES)与客户交流不够所产生的误解(MCC)故意与说明偏离(IDS)违反编程标准(VPS)数据表示有错(EDR)模块接口不一致(IMI)设计逻辑有错(EDL)不完整或错误的测试(IET)不准确或不完整的文档(IID)将设计翻译成程序设计语言中的错误(PLT)不清晰或不一致的人机界面(HCI)杂项(MIS)质量度量的统计方法(2)Zhu.Kerry@gmail.com总计(Ei)严重(Si)一般(Mi)微小(Ti)错误数量百分比数量百分比数量百分比数量百分比IES29622.3%5528.2%9518.6%14623.4%MCC20415.3%189.2%8717.0%9915.9%IDS644.8%21.0%316.1%315.0%VPS342.6%10.5%193.7%142.2%EDR18213.7%3819.5%9017.6%548.7%IMI826.2%147.2%214.1%477.5%EDL644.8%2010.3%173.3%274.3%IET14010.5%178.7%5110.0%7211.6%IID544.1%31.5%285.5%233.7%PLT876.5%2211.3%265.1%396.3%HCI423.2%42.1%275.3%111.8%MIS816.1%10.5%203.9%609.6%总计1330100%195100%512100%623100%16.2评估系统测试的覆盖程度Zhu.Kerry@gmail.com16.2.1对软件需求的估算16.2.2基于需求的测试覆盖评估16.2.3基于代码的测试覆盖评估测试的评估Zhu.Kerry@gmail.com软件测试评估主要有两个的目的量化测试进程,判断测试进行的状态和进度为测试或质量分析报告生成所需的量化数据,如缺陷清除率、测试覆盖率等。例子:测试覆盖项测试覆盖率指标测试描述测试结果界面覆盖符合需求(界面图标、信息区、状态区)静态功能覆盖功能满足需求动态功能覆盖所有功能的转换功能正确正常测试覆盖所有硬件软件正常时处理异常测试覆盖硬件或软件异常时处理(不允许的操作)测试结束判断对软件需求的估算Zhu.Kerry@gmail.com假设有R个需求,功能需求的数目为F,非功能需求数为N,则:R=F+N.Q1=M/R其中Q1表示需求的确定性,M是所有复审者都有相同解释的需求数目。功能需求的完整性Q2:Q2=Fu/(Ni×Ns)其中Fu是唯一功能需求的数目,Ni是由规格设计说明书定义的输入个数,Ns是被表示的状态的个数。考虑非功能需求:Q3=Fc/(Fc+Fnv)其中Fc是已经确认为正确的需求的个数,Fnv是尚未被确认的需求的个数基于需求的测试覆盖评估Zhu.Kerry@gmail.com假定Tx已执行的测试过程数或测试用例数,Rft是测试需求的总数:已执行的测试覆盖=Tx/Rft假定Ts是已执行的完全成功、没有缺陷的测试过程数或测试用例数。成功的测试覆盖=Ts/Rft基于代码的测试覆盖评估Zhu.Kerry@gmail.com基于代码的测试覆盖评测是对被测试的程序代码语句、路径或条件的覆盖率分析。这种测试覆盖策略对于安全至上的系统来说非常重要。基于代码的测试覆盖通过以下公式计算:已执行的测试覆盖=Tc/Tnc其中Tc是用代码语句、条件分支、代码路径、数据状态判定点或数据元素名表示的已执行项目数,Tnc(Totalnumberofitemsinthecode)是代码中的项目总数。16.3软件缺陷分析方法Zhu.Kerry@gmail.com16.3.1缺陷分布报告16.3.2缺陷趋势报告缺陷报告Zhu.Kerry@gmail.com缺陷分布报告,允许将缺陷计数作为一个或多个缺陷参数的函数来显示,生成缺陷数量与缺陷属性的函数。如测试需求和缺陷状态、严重性的分布情况等。缺陷趋势报告,按各种状态将缺陷计数作为时间的函数显示。趋势报告可以是累计的,也可以是非累计的;缺陷年龄报告,显示缺陷处于活动状态的时间,展示一个缺陷处于某种状态的时间长短,从而了解处理这些缺陷的进度情况。测试结果进度报告,展示测试过程在被测应用的几个版本中的执行结果以及测试周期缺陷分布报告Zhu.Kerry@gmail.com缺陷数05101520253035401234优先级缺陷趋势报告(到达模式)Zhu.Kerry@gmail.com缺陷数量05101520253035403-13-83-153-223-294-5缺陷趋势报告(累积模式)Zhu.Kerry@gmail.com0501001502002503003503-13-83-153-223-294-54-12日期累计缺陷新缺陷累计数修复的缺陷累计数被关闭的缺陷累计数缺陷趋势报告(MS例子)Zhu.Kerry@gmail.com16.4基于缺陷分析的产品质量评估Zhu.Kerry@gmail.com16.4.1经典的种子公式16.4.2基于缺陷清除率的估算方法16.4.3软件产品性能评估16.4.4借助工具的方法已测试出的种子Bug(s)已测试出的非种子Bug(n)所有的种子Bug(S)全部的非种子Bug(N)则可以推出程序的总Bug数为:N=S*n/s其中n是所进行实际测试时发现的Bug总数。如果n=N,说明所有的Bug已找出来,说明做的测试足够充分。这种测试是否充分,可以用一个信心指数来表示,即用一个百分比表示,值越大,说明对产品质量的信心越高,最大值为1。=1ifnNC=S/(S-N+1),ifn=N经典的种子公式Zhu.Kerry@gmail.com=基于缺陷清除率的估算方法Zhu.Kerry@gmail.comF为描述软件规模用的功能点;D1为在软件开发过程中发现的所有缺陷数;D2为软件发布后发现的缺陷数;D为发现的总缺陷数。因此,D=D1+D2。质量=D2/F;缺陷注入率=D/F;整体缺陷清除率=D1/D;缺陷源潜在缺陷清除效率(%)被交付的缺陷需求报告1.00770.23设计1.25850.19编码1.75950.09文档0.60800.12错误修改0.40700.12合计5.00850.75软件产品性能评估Zhu.Kerry@gmail.com软件产品性能评估其技术性相对比较强,方法的基础是获取与性能表现相关的数据。性能评测一般和测试的执行结合起来做,或者是在执行测试时记录、保存各种数据,然后在评估测试活动中进行计算结果。主要的性能评测包括:动态监测响应时间/吞吐量百分比报告比较报告追踪报告16.5测试报告及其模板Zhu.Kerry@gmail.com在国家标准GB/T17544-1998(附录C)对测试报告有了具体要求,对测试纪录、测试结果如实汇总分析,报告出来。测试报告应具有如下结构:产品标识;用于测试的计算机系统使用的文档及其标识产品描述、用户文档、程序和数据的测试结果;与要求不符的清单;针对建议的要求不符的清单,产品未作符合性测试的说明;测试结束日期。作业Zhu.Kerry@gmail.com第十六章3、5、6Q&AZhu.Kerry@gmail.com

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

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

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

×
保存成功