51Testing软件测试论坛

标题: 如何丈量软件的质量 [打印本页]

作者: 刘洪鹏    时间: 2007-11-26 17:11
标题: 如何丈量软件的质量
主要通过对代码,测试代码进行自动的分析,获得一系列相应的数据指标来说明软件的质量。主要做两个分析:

1.  静态分析Static Metrics Analysis

        静态分析通过分析代码后获得的基本数据:

1)  文件总数

2)  代码总行数

3)  对象类的总数

4)  方法的总数

5)  平均每个方法的代码行数

6)  注释的行数

7)  每个方法中可执行语句的行数

8)  每个方法中符值语句的行数

9)  条件语句的行数

        每个项目可以根据不同的需要定出需要符合的指标。例如美国国土安全局的软件项目规定每个方法的行数不可以超过62行,可执行语句不超过50行,而符值语句不可以超过12行。

        在此基础上,还可以加入重复代码分析( 防止开发人员简单的拷贝重复代码,重复代码会使软件的可扩展性大大降低),逻辑分析路径分析等智能分析功能,进一步检测软件的质量。

2.  覆盖分析 (Coverage Analysis)

        静态分析的指标能反映质量的一个侧面,而覆盖分析则能展现软件的性能,可维护性,可测试性,也是软件质量最直观的体现。覆盖分析主要是运行各种单元测试,集成测试,并记录测试所覆盖的代码的信息。

        覆盖分析采集的基本数据:

1)  代码行覆盖率。即多少代码行确实被测试所运行和测试。

2)  方法覆盖率。即多少方法确实被测试所运行和测试。

3)  条件语句覆盖率。即多少条件语句的分支是否被覆盖。

        同样的每个项目可以根据需要定出项目合格的标准。例如军方项目的条件语句/方法覆盖率必须是100%的。

        在此基础上,还可以添加更加智能/复杂的逻辑路径覆盖分析。

        通过上面两个方面的分析产生的数据综合反映软件的质量。有了这些数据我们就可以丈量软件的质量。而且我们可以随时知道软件开发的质量并做出调整,而不是等到交付的时候才发现问题(管理学中的风险提前)。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2