四、随机测试:猴子和大猩猩

  有一类测试工具不是为帮助执行或者自动执行测试用例而设计的,其目标是模拟用户可能的操作,此类自动化工具称为测试猴子(testmonkey)。

  测试猴子的来源:如果让一百万只猴子在一百万只键盘上敲一百万年,从统计的角度上讲,它们终可能写出莎士比亚话剧AdventuresofCuriousGeorge(好奇乔治历险记)等巨著。

  1、笨拙的猴子

  简单直接的测试猴子是笨拙的猴子:只是随机地单击鼠标或者敲击按键。

  不停重复和使用笨拙的猴子可能会暴露内存泄漏等软件缺陷。

  2、半聪明的猴子

  在笨拙的猴子的基础上加上日志记录,将猴子的所有操作记录到一个文件中。

  当猴子发现软件缺陷时,只需查看日志文件,找出在失败前猴子做了些什么。

  技巧:另外一个解决方法时用摄像机录下屏幕上的内容。当发现软件出现故障时,倒回去重新看看。

  3、聪明的猴子

  不于查找崩溃缺陷,同时还查看数据、检查操作结果、找出其与预期结果的差别。

  五、使用测试工具和自动化的实质

  记住,测试自动化不是的。如果正确规划和执行的话,工具和自动化可以使测试效率大大提高并且能发现其它方式不能发现的缺陷。

  然而,如果自动化和工具步入歧途,会导致无数的自动化测试的努力被放弃,并且使项目成本大大增加。

  考虑以下因素:

  1)软件变更;

  2)人眼和自觉是不可替代的;

  3)验证难以实现;

  4)容易过分依赖自动化;

  5)不要花费太多时间使用达不到测试软件目的的测试工具和自动化;

  6)编写宏、开发工具和编制猴子都属于开发工作;

  7)某些工具是入侵式的。