相信很多团队都有这个问题:编码人员和测试人员经常争论。测试人员说编码人员做的东西太烂,问题太多,缺乏规范,开发文档也没有;编码人员说测试人员责任心有问题,测完了还是令自己不放心;还有很多人认为“如果发布出去的软件有问题,是测试人员的责任”,理由是“测试人员应该在发布之前把所有问题都找出来”【1】。

为什么会这样?我们来简单剖析。

首先,我们先要叙述一条“公理”:任何人都不能保证其工作成果总是100%完美的。即任何人都不能做到“0缺陷”。

因此,任何一个开发团队做完了都必须经过测试,尽可能的发现潜在问题并修复后才能发布出去。所以,测试人员必须竭尽所能发现缺陷。注意了,基于上述“公理”,任何测试人员都不能保证把软件中的潜在问题100%的找出来[参见《体检报告中的“未见异常”和软件测试》]。这样说来,上述【1】的说法是有失公允的。

那为什么会争吵呢?第一,出了问题的时候编码人员和测试人员是直接责任人,并且要负责解决问题,因此很容易引起情绪上的冲动;而且多数人遇到责任归咎的时候会本能的为自己开脱。第二、大家都忽略了“任何人都不能0缺陷”的公理。

但是,这并不表示有了这个“公理”,所有人可以心安理得的面对所有缺陷了。任何产品的主要竞争力终来自质量。因此对质量的无限追求,是任何团队的要求。也是说,虽然我们不能要求每个团队的工作成果100%完美、0缺陷,但是我们总期望我们的成果能够尽量趋于完美,比如99.9997%,所谓的“六西格玛”。

怎么样做到尽量趋近于完美?这可能受到多种因素的影响,比如团队的工作能力、工作态度以及项目客观因素;还有管理、过程、工具,等等;可能会有很多!但是,我们可以简单归结为所有参与者工作成果的近乎100%的完美!所以,不要争论,从自己这里开始找原因,去改进!