摘自《软件测试之魂》
早在20世纪60年代初,被誉为“全球质量管理大师”的菲利浦· 克劳斯比(Crosbyism)提出了“零缺陷”(Zero Defect)思想,并在美国推行零缺陷运动。后来,零缺陷的思想传至日本,在日本制造业中得到了全面推广,使日本制造业的产品质量得到迅速提高,并且领先于世界水平,继而进一步扩大到工商业所有领域。如今,“零缺陷”已经成为国际卓越企业的工作标准。
零缺陷,对软件来说,是神话还是另有其意呢?在大多数人的印象中,软件常常是有一堆堆Bug存在的,而迫于市场竞争的压力,又不得不面市,然后通过不断发补丁包升级来解决不同的漏洞。一些业界朋友还常自嘲“国际软件巨头微软的软件尚且如此,何况我们这些小兵开发的无名软件了”。实际上,克劳斯比的“零缺陷”并不是说绝对没有缺点,或缺点绝对要等于零,而是指要以“缺点等于零为最终目标,每个人都要在自己工作职责范围内努力做到无缺点”。它要求生产工作者从一开始就本着严肃认真的态度把工作做得准确无误,在生产中对产品的质量、成本与消耗、交货期等方面进行合理安排,而不是依靠事后的检验来纠正,它特别强调预防系统的控制和过程的控制。
我们总是在默默地埋头苦干,想着找到更多的Bug,认为找到更多的Bug就是胜利在望。然而,常言道“饮水思源”,必须找到Bug的源头,如果不从源头上控制,就像一个多病的孩子,即使把所有Bug找出来(实际上不可能),也是治标不治本,说不准哪一天加入一个新需求点,在实现后又带出一拨新的Bug。就这样,软件改了测,测了又改,周而复始,版本发布的时间拖了又拖。下面的小故事就是一个关于追本溯源的典型事例。
【小故事】
有一天,一个村民在村边的一条河边上走,看到有个人在河里快要淹死了,他跳进河里,把这个人救了上来。还没等休息,他看到河里还有一个人,他一边喊着,一边又回去接着救人。河里出现了更多的溺水者,更多的村民也都被召集来加入救人的行列。在一团混乱中,有个人走开了,沿着河边的一条小道朝上游走去。一个村民叫住他问:“你去哪儿啊?我们需要你的帮助。”他说道:“我要找出是谁在把这些人扔进河里。”
在软件开发的周期里,是谁把Bug扔了进来?同样地,我们需要追本溯源,找出问题的根源,分析后提出防范措施,并加以执行。你也许会说这已超出测试的工作范围,应由公司的专门质量管理团队来负责,但是质量管理团队也需我们的协助。从测试技术的角度出发,测试可以提出更多、更实际的软件设计质量防控的措施,所以,通常测试团队会承担着管理质量的某些方面工作。
“零缺陷”是一个体系,不是依赖于某个人、某个团队就能做好,需要围绕产品的整个开发链的所有团队、所有人都参加进来,同时需要有高层领导充当质量的倡导者。
-- End --
文末寄语:人到一定年龄对生活的要求会从平面升华为一种立体,曾经注重外在的华丽度,现在更计较内在细节上的精致度。虽然有时候难免会力不从心,但这磨灭不了精益求精的生活决心。