做了几年的测试工作了,手动自动白盒都经历过,有些关于测试工作的一些猜想,在此记载一下。
在测试工作中,很多人都是自己随机的录入一些测试数据。有时候难免会导致测试数据在实际运用中完全不存在的情况。这个时候得到的测试结果也许是毫无意义的。
所以我觉得作为一个测试工程师,在软件需求建立初期,就应该和需求设计人员紧密合作,制定出黑盒测试中每个输入数据的输入范围和数据类型(such as:int,float,string and so on),以及白盒测试中的输入变量的输入范围和输入类型。然后再根据robust测试原理建立起自己的测试数据库。每次测试过程中,从该数据库里面取出一定数据进行测试,可以有效避免无意义数据的输入。
其实在实际运用中,不可能出现的数据一旦出现即意味着灾难的发生。曾经看过一部空难纪实片,当飞行仪表上的数据出现了以前根本不可能出现的数据时,机组以为是仪表出现了错误,但是实际上是飞机的飞行角度出现了严重的错误。因此我们认为在设计阶段,就应该考虑到超出正常范围的数据,并且在此数据出现时给予严重警告。这一次空难,看似是机组操作失误,但是实际上飞机操作系统的设计失误也是一个重要原因。
那么我们在设计测试数据库时,也应该将正常范围外的数据列在其中,并且和设计人员紧密合作,讨论出出现非正常数据时系统应该有的正确表现。