最近作了一些关于程序开发中质量控制的问题。
在公司中,一个项目开发小组往往由一个PM(Program Manager) , 四五个开发人员和七八个测试人员,一两个文本写作人员组成。开发者负责写程序而测试者负责质量控制。程序源码由开发者存放到源码仓库中,测试者定期测试整个软件的质量。开发者在更新程序源码时也要执行一些简单的进库测试(我们叫它Check-in Suite)。这些测试往往是由开发者负责,有时会重点不清。我最近的工作就是对我们组的进库测试进行一番分析并和测试人员一起理清测试的重点和覆盖率。

首先我认识到开发者的进库测试是为了保护测试者的整体测试。这样什么是重点保护的功能就比较明确了。

我将所有的功能块都列出来,又把所有的依赖的功能部门也列出来。画了一个关系的树状图,树根是最终功能块,往上是它依赖的各个功能块。用单向箭头表示依赖关系。

我给功能块定义了一个依赖值(表示别的块对它的依赖性强度,值越大,依赖性越强)。我给最终功能块赋值为1。

我又定义了一个量化的依赖关系如下:
          2: 强的依赖关系(缺之不可)
          1:  一般依赖关系(缺之亦可)

按这个公式从最终功能块往上赋值就可将所有的功能块赋值
         依赖值 = Max (子块 依赖值 * 依赖关系)

最后来看看谁的依赖值高谁就是要保护的重点了。

再把已有的进库测试点填入图中的功能快。测试的覆盖情况就一目了然了,相应地
做些调整就好了。

 

当然了,这些分析只是一种辅助手段,别的因素还要考虑的。

贴子现状提供且没有任何担保,同时也没有授予任何权利