不少介绍微软测试过程的文章都强调大量运用自动化测试,给人一个只要有了自动化测试,整个测试过程得到保证的印象。不可否认自动化测试的作用,但是对于下面两个问题:

“自动化测试总是任何时间内、任何条件下、任何项目阶段中的佳选择吗?”

“进行/不进行自动化测试的决策是怎样做出来的?”

答案会是什么?

为了回答这两个问题,我想分享一个真实的微软测试项目的经验。

在这个项目中需要关注两件事情:设置向导和客户体验改进计划。

设置向导,或者安装向导,相信安装过软件的朋友都知道,是引导用户完成一系列操作的一种界面,具有连续出现的窗口,每个呈现不同的内容,使用户每次只关注特定的项目从而容易完成复杂的全部操作。

客户体验改进计划(Customer Experience Improvement Program,简称CEIP)不是那么为大众所了解。实际上Windows系统中有这么一个缺省关闭的选项,如果用户打开了,关于用户如何使用微软软件的信息,例如常点击的菜单项有哪些、缺省选项被改动为哪些值等等,会被Windows系统自动记录下来并定期发送到微软的服务器。专业分析师会解读这些数据,从中发现微软软件设计上的潜在缺陷:它们会导致用户迷惑、误解,以致无法正确使用某些功能。

这里要测试的功能,是为某处设置向导添加CEIP的记录动作。第一次接触这个新事物,不少测试工程师的通常反应是,模拟用户在设置向导中的操作,然后观察CEIP的记录数据对不对,完事。

自动化测试更是小菜一碟:驱动用户界面操作本不是难事,何况测试设置向导本身功能的工程师已经做好了一切,借花献佛好了;CEIP的记录数据也是拿已经做好的函数读一下记录,然后跟预期数据比较好了。

表面看是如此,但如果这是故事的全部,那没有说的必要了。实际上,这只是冰山一角。