变更代码行统计方案:基于Beyond Compare扩展实现

上一篇 / 下一篇  2011-08-26 10:55:10 / 个人分类:测试工具

为了有效度量缺陷密度,精确的统计变更代码行比不可少的。统计代码总行数的比较容易,统计变更行数却困难的多。
之前也看过一些方案,都不能满足我们的需求:
1、不依赖严格的研发管理过程、最好不要依赖研发、测试、QA团队之间的合作;
2、支持多种编程语言,能识别代码注释;
3、能定义include、exclude正则表达式;
4、对删除、新增、修改都能分别精确统计;
5、对比规则智能一些,比如,多空格、空行等情况不要算作变更;
6、支持自定义权重,如,以Java为基准(权重为1)、JSP权重为0.5、HTML权重为0.3等
7、生成报告格式灵活,支持按照文件类型、增删改等查询过滤
8、等等

这里介绍的方案是:
先通过Beyond Compare对两个版本进行对比,并生成HTML格式的差异报告;
然后自己编程解析HTML报告,提取、计算相关内容,最终生成符合需求的Excel格式报告。

Beyond Compare是一款优秀的文件差异比较工具可以非常精确的统计出各种类型文件版本之间的差异,并支持语法定义、规则等。

Beyond Compare的使用方法在此处不做详述,但最后生成报告时要选择“HTML格式的摘要对比报告”(如下图):


该报告格式如下(不同Beyond Compare版本,报告格式可能有所差异):



假设对比时左侧文件夹时新版本、右侧是旧版本,则对上述报告片段解读如下:

“相同行”即未发生改变的行数、
“忽略的不重要差异项”即注释空行等非代码行、
“左侧孤立行”即新增的行数、
“右侧孤立行”即删除的行数、
“差异行”即变更的行数。

然后编程解析上述HTML格式的报告,生成想要的Excel格式(如下图所示):



生成Excel之后,再做统计、过滤等自然就不在话下了。

【注】本文介绍的是一种思路,具体解析HTML报告并生成Excel的代码就不在此深入交流了。

TAG: 缺陷密度 变更代码行统计

 

评分:0

我来说两句

日历

« 2024-05-06  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 17947
  • 日志数: 13
  • 书签数: 4
  • 建立时间: 2011-08-26
  • 更新时间: 2011-09-05

RSS订阅

Open Toolbar