James Whittaker的软件测试戒律(一)
摘录自《探索式软件测试》(注:作者模仿了圣经十诫的语气和内容编写了软件测试戒律)
1.汝应用大量输入反复锤炼汝之应用程序
2.汝应贪图汝之邻居的应用程序
3.汝应亲自寻找睿智的预言家
4.汝不应崇拜无法重现的失效
5.汝应尊重汝的模型和自动化测试
6.汝应利用开发人员的过错与他们作对
7.汝应醉心于谋杀应用程序(庆祝蓝屏吧)
8.汝应保持安息日(指产品发布时刻)的圣洁
9.汝应贪图开发人员的源代码
这里只有9戒,原因后面如果找得到的话我会说明一下。今天先解释下前两诫。
1.汝应用大量输入反复锤炼汝之应用程序
对任何一个不算太小的程序来说,它的输入的取值基本上是无穷的,这是一个哪怕是入门级测试人员都知道的事情。于是,我们通常会使用等价类、边界值等方法来减少我们测试的输入值,避免面对无穷的测试。这是值得提倡的。
但是,除此之外呢?大规模的随机测试也是非常有必要的,当然要进行大规模的随机测试就必须要实现自动化,否则你会累死的。大规模随机测试是对我们其他测试设计方法的一个很好补充。它可能不会发现很多问题,但如果他发现了大量问题,就说明你有可能在等价类、边界值等测试设计方法中设计的用例并不是很好,你需要反思一下。有时候它也确实会发现一些很重要的问题。
另外,要写这样的大规模随机测试的自动化代码,测试人员就必须对程序的输入域以及输入输出之间的关系非常了解,因此,在这个设计分析的过程中,我们经常就能找到一些错误或者想到一些非常好的点子。
2.汝应贪图汝之邻居的应用程序
这并不是叫你去剽窃别人的代码或是像某只南极动物那样山寨别人的产品。这里的意思你不应该把你的程序(或特性)孤立起来测试,否则你可能会陷入“兼容性噩梦”。从一开始就考虑应用程序(或特性)间的兼容性与交互,总是有益的。