51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2947|回复: 0
打印 上一主题 下一主题

[讨论] 如何丈量软件的质量

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-11-26 17:11:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主要通过对代码,测试代码进行自动的分析,获得一系列相应的数据指标来说明软件的质量。主要做两个分析:

1.  静态分析Static Metrics Analysis

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

1)  文件总数

2)  代码总行数

3)  对象类的总数

4)  方法的总数

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

6)  注释的行数

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

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

9)  条件语句的行数

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

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

2.  覆盖分析 (Coverage Analysis)

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

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

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

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

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

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

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

        通过上面两个方面的分析产生的数据综合反映软件的质量。有了这些数据我们就可以丈量软件的质量。而且我们可以随时知道软件开发的质量并做出调整,而不是等到交付的时候才发现问题(管理学中的风险提前)。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-23 11:50 , Processed in 0.067380 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表