1、代码对比的初衷
其实这是做代码比对的第二版,第一版是在2019年搞的(当时通过git log统计,后来未推光使用)。
代码统计工具主要的作用是能获取到开发在某个阶段提交代码的真实行数,刨除开发效能这块的考虑。对软件测试而言,拿到这个数据,就可以计算出来缺陷密度的数据(千行代码的bug DI),这个相对指标可以用来描述软件的质量情况。
2、操作思路
前置条件:获取团队代码地址
Ⅰ获取代码
使用Gitpython获取到团队的代码。
Ⅱ 设定对比版本
① 将下载下来的工程在同一级目录copy一份,重命名为XXXcopy。
② 获取项目的tag信息,确定要对比的代码是哪两个版本。
③ 使用GitPython分别在两个工程下设置修改当前tag为V1,V2。
Ⅲ 基于beyond compare对比
①下载安装beyond compare环境。
②编写beyong compare对比脚本。
③动态传参,做对比执行。
Ⅳ 文件复原和结果分析
① 对copy文件进行删除销毁。
② 对单个对比文件进行筛选和分析。
③ 对所有文件的结果进行汇总处理。
④ 后置处理:结合bug情况,计算缺陷密度。
3、实现关键点。
1、代码操作:通过Gitpython 完成更新代码和tag转换的处理。
2、文件操作:文件是否存在,文件读写,文件删除;通过 shutil 和 openpyxl 来处理。
3、命令行操作:通过argparse库来设置命令行,做到用命令行来控制输入。
4、过程经验:
Ⅰ 实现之前先要确定需求的输入输出,比如以yaml文件做输入,excel报表作为输出。
Ⅱ 代码之间要解耦,避免串起来流程,但是改一点动全局的问题。
argparse用法参考//www.greatytc.com/p/fef2d215b91d