背景交待:

1、为什么要做这个东西?
答:在实际测试管理中,有的项目 (人数众多) 需要精细化的管理项目时间,并收集项目中的数据,
数据包括但不限于:执行用例/探索测试的时间,花费在 BUG 方面的时间,各种交流花费的时间,用例设计的时间等。
这时就需要项目中的人员配合进行时间的收集。所以衍生了这种以工作量收集和成果物汇报为主辅助管理工具。

2、数据收集上来怎么用?
答:第一是为了总结项目工时投入、确定改善方向。如:通过工作量分配比例发现项目沟通时间占比超过 40%,说明沟通环节上存在问题,
需要改善,实际可能的原因包括但不限于:需求不明确,BUG 描述不清晰,偶发性 BUG 较多等。第二是为了作为今后项目的参考。如 A 项目本期为后台方面的功能迭代,本周期结束后,测试工时为 50H,发现 25 件 BUG,换算到检出率就是 50H/25 件 = 1H/2 件 这样的程度,今后 A 项目再有类似的功能迭代的话,给出大约工期即可得出本次大概的 BUG 数,或者根据研发给出的大概 BUG 预估,即可得出周期的参照等。第三是为了度量,如设计工作量投入 5H,产出 200 条用例,设计效率为 200 条/5H = 40 条/H,作为度量项。(当然,这个数据也是今后项目的参考)

3、为什么选 Python,如何想到用现行的方式做?
答:正好最近在学 Python,所以就顺手写了个工具。当做笔记。说说个人的技术情况吧,写过 java,python 刚刚学,php/js 基本不太会,写的时候问了问自家的开发弄清了大概原理就上路了。全套东西只有一个人写,断断续续写了 1 个星期,写的很烂,轻拍。

引个潮流词:技术无罪。。

系统构成:

客户端:
python + pyqt4 + pyinstaller(打包)

成品:

Python 源码。Github 地址

python 源码打包成 exe,方便其他人直接使用。
这里使用的是 pyinstaller
使用命令:pyinstaller -F -w test.py (-F 打包为一个文件 -w 窗口文件,没有控制台)

数据端:
mysql

数据可视化端:
php + js + echarts

成品:

源码:(摘录关键部分)
php 页面作用为与数据库交互,并返回前台,前台部分 ajax 更新数据显示。
用 switch 来接收前台具体的请求是什么。

前台页面,没什么特别说的了,看看 echarts 的资料,基本都能鼓捣出来。


↙↙↙阅读原文可查看相关链接,并与作者交流