当对自己不认同的观点提出置疑的时候,反例是简单的方式。但要举出反例,必须清楚的了解对方观点的定义。由于所有观点是基于前提(事实)和推理过程的,证明对方的前提的不正确性,或是证明对方的推理过程的不正确性同样奏效。例如,有以下观点:

  例3:

  Google的测试工程师与开发工程师的比例是1:10,因此只需要少数的测试工程师能做好测试工作。

  这里的前提有三个:第一个是显而易见的前提,“Google测试工程师与开发工程师的比例是1:10”;第二个是隐含的“Google的测试工作做的很好”;第三个前提隐藏得更深,“Google的测试工作完全是由测试工程师来做的”。这三个前提中的任何一个不成立都会导致这个结论不成立。在我看来,容易被击倒的是第三个前提(“Google的测试工作完全是由测试工程师来做的”),实际上,这个在Google内完全不成立。但有趣的是,相当多的对这个观点的辩驳都集中在第一个和第二个前提上。

  例4:

  Google的X项目的工程师共有15名,其中测试工程师4名,因此Google所谓的开发与测试人员的比例是1:10是不真实的。

  很显然,这个论断根本偷换了要反驳的结论。“Google的开发与测试工程师比例是1:10”并不等于“在所有Google的项目中开发与测试的比例都是1:10”。因此,要推翻这个前提,其实简单的方法是拿到Google的开发工程师与测试工程师的总人数比例。

  例5:

  Google的产品经常出现bug,因此Google的测试做的并不好。这些不好都是由于Google的测试工程师太少造成的。

  可靠的前提才能建立可靠的结论。说Google的产品经常出现bug,好拿出相应的数据。这方面James A. Whittaker显然老练得多,这哥们在自己blog的为什么要离开google的文章中用了一些他自己的感知数据证明这一点。不过即使这样,Whittaker也没有说“google的测试做的不好”,原因是“好”与“不好”根本没有数字上的标准,bug数多少叫做好?bug的影响范围(人数)与造成的失效成本要不要计算?这个推论的第二个部分则更是“冲动论证”的典型。它同样隐含了两个前提:1,在google中,发现缺陷是测试工程师的职责;2,测试工程师数量的多少与产品中遗留缺陷的数量呈负相关。可惜的是,这两个前提都不能够成立。

  ?嗦了一堆文字,也给出了一些我自己能看到和听到的不合理的论证,不过,这篇文章的用意并不是想在这些例子涉及到的问题上挑起争端,而只是希望大家都能够用更好的论证方式捍卫自己的观点,以及看待别人的观点。

  我经历过和了解到的中国的学校(大学、中学、小学均如此),大多都不太在意对学生论证能力的培养,作为这个体制中被培养出来的一员,我在很长时间内一直没有掌握正确的论证方法。但随着工作中的体验越来越多,接触到了越来越多的同事,才发现自己身上缺少的这种论证方法的确会影响到自己的发展和工作。鉴于此,我希望通过本文,能够让更多的工程师,尤其是测试工程师了解到论证的方法,希望有更多人能从论证中找到棋逢对手的乐趣。