摘录自《探索式软件測试》(注:作者模仿了圣经十诫的语气和内容编写了软件測试戒律)
1.汝应用大量输入重复锤炼汝之应用程序
2.汝应贪图汝之邻居的应用程序
3.汝应亲自寻找睿智的预言家
4.汝不应崇拜无法重现的失效
5.汝应尊重汝的模型和自己主动化測试
6.汝应利用开发者的过错与他们作对
7.汝应醉心于谋杀应用程序(庆祝蓝屏吧)
8.汝应保持安息日(指产品公布时刻)的圣洁
9.汝应贪图开发者的源码
下面内容主要来自《探索式软件測试》。本人依据自己的理解对部分内容稍作了改动
3.汝应亲自寻找睿智的预言家
我们都知道,測试至少存在两个部分。
首先我们使用输入数据,然后对结果进行检查。
我们将数据输入到软件中。然后測试该软件是否依照既定的方式回应这些输入。
假设我们无法对结果进行验证,測试就无法有效进行。
关于所谓睿智的预言家。我们有兴趣的是“应用某些測试后,该应用程序是否依照既定的方式执行?”。这就须要我们的预言家(也就是測试的基准)清楚的了解在给定特定的输入和环境条件组合的情况下,程序应有的行为。
(博主的理解:即要事先知道你要执行的測试会有如何的预期结果。博主更愿意把这个预言家叫做预期结果。假设不知道预期结果,你也就无法推断程序返回的结果是不是正确。)
将測试基准进行自己主动化是一件非常困难的事,可是非常值得去最求,由于这不只能够创建一个非常有价值的測试工具,其本身也是一个启迪智慧的追求过程。即通过自己主动化的活动,你得到了一个更加聪明的測试者。不管你终于是否能成功地将測试基准自己主动化,强迫自己像它一样思考。经常比你可能选择做的其它不论什么事情更有工作效率。
4.汝不应崇拜无法重现的失效
我们都曾遇到这样的情况。不是吗?你遇到一个缺陷,一般是非常好的缺陷,可是却无法重现。
缺陷越好,你的感觉越不好。
我以前见过很多优秀的測试人员,花了数小时甚至数天的时间试图重现一个他们仅仅见过一次的缺陷。
为了重现这样一个缺陷的尝试一般是英勇的,可是没有合适的工具,这些尝试仅仅能是浪费时间。而我看到的情况是时间被白白浪费了,而測试人员却没有意识到这点。
我以前看到一个測试人员花了一整天的时间试图记起一个崩溃缺陷的重现步骤,可是没有成功。
我更愿意那个測试人员把他的时间用在其他更好的地方。和其他不论什么一个測试人员一样,我全然理解那种挫败的感觉。可是最求一个这种缺陷的结果往往是无法充分利用时间。
这条戒律的教育意义是双重的。第一、尽你最大努力注意并记住(或记录下来)对软件採取的測试步骤。同一时候记住应用程序的响应。
第二、考虑使用调试器之类能追踪动作和软件状态的工具。这将去除重现缺陷时不少推測成分,并防止优秀的測试人员违背这条戒律。
博主理解:纵观全文,这条戒律的教育意义应该是有三重的,最后一条作者在前面提到了,但并没有在最后的归纳中写下
1、努力记录步骤和结果
2、尽量使用工具辅助
3、假设重现太困难,不要在它上面浪费太多时间,将你的时间投入到其他更有效率的測试中。这样对项目整体是更好的选择。