如同代码是程序员的成果之,测试报告是测试人员的丰要成果之一。一个好的测试试报告建立在测试结果的基础之上,不仅要提供必要测试结果的实际数据,同时要对结果进行分析,发现产品中问题的本质,对产品质量进行准确的评估。
分析的对象和内容:测试的覆盖率、缺陷分析、产品总体质量分析、过程分析等。
1测试的覆盖率
· 语句覆盖率:检测在软件测试时代码语句执行覆盖率。
· 分支覆盖率:用于分析被测软件在进行软件测试时分支的执行情况。
· 子程序调用覆盖率:判断某一程序是否调用了所有应该调用的子程序,或判断所
有的子程序是台被调用过。此指标杠系统集成测试时很有用。
· 数据值覆盖率:检测程序中变量在测试时是否包含了所有可能值。
· 面向对象覆盖率:多态类的覆盖、模式化的覆盖、继承的覆盖。类的状态决定它的行为,需要确认每一个对象独直状态的代码覆盖率,或测试每一个类或子系统独立线程的覆盖率。例如,通信西议类有很多状态:初始化状态、正在连接状态、已连接状态和出错状态等。
· Mc/Dc代码覆盖率:支持RTC‘A DO-178B标准。
2 bug分析
· №分布:在程序模块的横向分布,在时间上的纵向分布。
· 测试的效率:根据丢失的bug数日和发现的总bug数,可以了解测试的效率。也可咀根据执行的总测试用例数,计算H1每发现一个bug所需要的测试用例数、测试时间等,对不同阶段、不唰模块、不同人员等进行对比分析。
· 程序的质量:通过对每千行代码所含的bug数分析,了解程序代码质量。
· 开发解决bug的能力或状态。
3产品总体质量分析
传统的软件测试,只针对软件产品开展,找到缺陷之后冉加以改正和修补,这是一种“亡羊补牢”的质量管理方式。而针对开发全过程所开展的软件测试和过程度量,则注重事先分析,通过对已发生的数据对比、统计、时间序列等分析,来判断软件产品质量的未来趋势,并提前予以控制和预防,属于一种“防忠于末然”的质量管理方式。与传统的软件测试相比,全过程测试管理方式不仅可以有效降低产品的质量风险,而且还可以提前对软件产品缺陷进行规避,这不仅缩短了对缺陷的反馈周期和整个项目的开发周期,而且也会在较大程度七降低软件产品开发用在修正软件缺陷时所支付的成本。对测试的结果进行整理、归纳和分析,一般借助于Excel文件、数据库和_些直方图、圆饼图、趋势图来进行分析和表示。主要的方法有对比分析、根本原因(root cⅫase)查找、问题分类、趋势(时间序列)分析和其他统计分析等。
· 对比分析:用软件执行测试结果与标准输出的对比工作,因为可能有部分的输出内容是不能直接对比的(比如,对运行的时间的记录,对运行的路径记录,以及 测试对象的版本数据等),就要用程序进行处理。
· 根本原因查找:“分析”是找出不吻合的地方并指出错误的可能起因。
· 问题分类:“分类”包括各种统计上的分项,例如,对应的源程序位置,错误的严重级别(提示、警告、非失效性错误、失效性错误或别的分类方法),新发现的还是已有记录的错误。
· 趋势(时间序列)分析:根据所发现的软件缺陷历史数据进行分析.预测未来情况。
· 其他统计分析:通过对缺陷进行分类,然后利用一些成熟的统计方法对已有数据进行分析。因为已了解程序开发中主要问题或产生问题的主要原因,从而比较容易提高软件质量。
4.3 CMM思想和结构体系
cMM(capabil时M蚰Ⅱ时Model)即软件能力成熟度模型,是向软件组织提供如何增
加对其开发和维护软件过程的控制能力。设计并实施cMM是为了指导软件组织达到以下要求。
· 确定当前过程的成熟度等级,识别出对软件质量和过程改进至关重要的问题,选择其过程改进策略。
· 通过关注一组有限的活动,并为实现它们而积极工作,组织能稳步地改善其软件过程,使其软件过程能力持续不断地增长。