墨测,全自动化接口测试平台

1. 自动化测试面临的挑战

在软件开发周期中,测试是保障产品质量至关重要的一环,但也是往往容易被忽视的一环,测试的工期置后、重复回归执行等各种因素都影响着测试的效率,影响着高质量的产品发布。

自动化测试被认为是提高测试质量和效率的法宝,通过自动化测试平台,可以实现用例的编写、数据的准备、测试执行、结果验证,将测试工作通过脚本的方式重复执行,但是仅仅如此是不够的,测试还面临着如下的挑战,

  1. 用例的编写:测试在软件开发周期中,由于处于项目排期偏后,经常导致测试只有时间来了解新功能,却没有足够的时间来写自动化用例脚本,工期紧,自动化只能等下一次排期,进而一拖再拖。
  2. 用例的维护:软件产品的功能繁多、变化频繁,用例不是写一次就结束,用例的维护也需要花费测试人员相当多的时间,即使对一个资深软件测试工程师,也难以记住所有需要测试的功能接口,上个月刚测完的功能接口,本月再看,估计又需要大半天来上手的时间。
  3. 问题的定位:在微服务系统中,一不小心就会拆分出上百个应用,每个功能接口涉及的应用多、调用链路长。自动化测试跑完后,需要对失败的用例进行查看,其到底是不是软件bug?是用例的数据问题、或环境应用部署问题?面对失败的用例一个个调查时,查看运行日志,有时候还得需要开发人员的加入,一起来定位问题。自动化测试执行容易,用例失败问题定位困难重重。
  4. 环境的稳定性:测试环境本身就是不稳定的,每天需要测试的产品部署配置频繁,加上团队对测试环境的共享,会造成很多由于测试环境的不稳定导致的无效测试,很多时候等到测试到一半的时候,才发现环境不对。

一个统计Git代码仓库签入代码行数的批量统计脚本

图片来自pixabay.com的hansbenn会员

本文介绍一个统计Git代码仓库签入代码行数的批量统计脚本。

1. 单个Git代码仓库

对单个Git代码仓库,按提交者进行归类统计代码提交行数。

git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --numstat --author="$name" | awk 'BEGIN{add=0;subs=0;loc=0} {if($1~/^[0-9]+/){add += $1; subs += $2; loc += $1 + $2 }} END {printf "%s\t%s\t%s\n", add, subs, loc }'; done;

请cd到指定代码仓库目录下,然后运行上面的命令,可以看到如下输出,

peipeihh    13594   275 13869

每列的数字意义如下,

  1. 第一列:代码提交人
  2. 第二列:提交的新增代码行数
  3. 第三列:提交的删除代码行数
  4. 第四列:所有提交的代码行数