●Anutthara 的缺陷

有一个缺陷让我铭记了四年,至今不能忘却。我们进行的工作是本地化测试,为了使用户可以在不同语言的操作系统中安装我们的产品。当我在对一产品进行 Beta 版测试时,我将该产品安装在了日语 Windows 2003 (W2K3) 操作系统上,并测试了其基本功能,完全没有碰到问题。当然,它在英语 W2K3 系统上也运行得非常好。所以我们对这次测试的整个感觉非常不错。

接着我们即进入循环测试,我将该产品安装在了一台德语系统的机器上,并试图开始运行某一版本。在此时,机器突然崩溃了!代码开始比对硬编码“Administrator”用于确认用户是否拥有管理者权限。这个缺陷之所以没有在日语系统测试中出现,是因为在日语系统中用户组未进行本地化翻译,仍旧保留为“Administrator”,而德语系统中则被翻译为“Administrat?n”。我从中了解到对于硬编码检查的重要性,不能因为单单在一个平台上通过本地化测试,即认为其他平台也能正常运行。尽管我们现在已经发现了一箩筐的问题,但仍不能确保是否会有落网之鱼。

●Bruce Shankle 的缺陷

在 Windows 95 的年代,我还是一个 beta 测试人员。这是我第一次在微软的平台上看到回收站。出于好奇,我想尝试一下它的恢复功能(在 DOS 环境中存在一些恢复功能,但要求您记得 FAT 文件系统中需要恢复的文件名的第一个字母。有时这个功能很好用,但是我不常用),于是开始拖动桌面上的回收站,然后把它放进了自己的图标内。在此时,系统突然奔溃了。

●Vamshidar Rawal 的缺陷

现象:

Office 在线主页的 RTW 版本总是会出现有些功能无缘无故失灵的情况。尽管多次调试,仍不明问题所在。

原因:

RTW 版本发布前的功能测试阶段,测试人员未能发现问题,且测试环境也没有模拟产品的实际运行环境。所有的功能都被作为单元进行了单元测试,尽管他们每个功能独立工作都没有问题,但一起工作时说不定了。

问题:

问题出现在实际运行环境中。由于硬件平衡器(H/W)会识别所有的需求,然后将其传送给服务器运行,包括我们为每个功能所设置的 Cookie/Header,且平衡器对于 cookie 的尺寸存在限制条件,不能超过 4KB,而当我们所有的功能都同时运行时,则超出了这一限制。平衡器为了保持正常工作会对 Cookie 进行截断,使其尺寸小于 4KB。所以会出现有些功能由于缺少 Cookie 需求而不能正常运行的情况。

结果:

我们立即修复了这一问题,对原先的 Cookie 进行了修改,使其大小不再超标。

经验总结:

1、测试环境需模拟产品的实际运行环境,特别要注意平衡器的环境要求。

2、功能测试时,不仅要对单个功能进行测试,也要将功能整体连同整个产品一起测试。

这个缺陷的发生,让我们对于如何编写和使用 Cookie 有了更深入的了解,同时也帮助我们在随后的两个版本测试中发现了更多的潜在问题。

● 减小 Cookie 的尺寸可以提高产品的性能,同时提升终用户的体验。

● 削减不必要的 Cookie 内容,使其尺寸控制在合理的范围内。