本书为James Whittaker编写。本书写的是一种比其他任何缺陷都重要的特殊缺陷:即逃过所有各种检测手段而最终存在于发布产品中的缺陷。本书是作者设计“漫游”这个隐喻来指导软件测试。写本书对作者本人来说是一种享受,对读者来说也是一种享受。希望大家仔细品读。
漫游测试
本章的作者都是在有发布压力的真正软件项目中首批有意使用漫游隐喻的测试工程师。
使用漫游测试法来测试的项目涉及到很多产品线,这里选择其中很有特色的五个项目进行展示。
Dynamics AX 客户端的漫游
Dynamics AX是企业资源规划(ERP)解决方案。这里我们通过图形界面(GUI)来测试,之前我们团队主要是测试公共应用程序接口(API),所以这对我们是一种思维方式的转变。
学到了如下几件事情:
1、我们发现的很多缺陷都不是通过测试设计中所定义的测试用例找到的;
2、GUI测试引入的场景和复杂的用户交互似乎无穷尽,不容易使用自动化测试;
3、不管测试是自动的还是手动的,都必须放在回归测试中加以维护,必须不断考虑每一个新的测试用例所带来的投资回报率;
4、Dynamics AX是一个大型的应用程序,我们并不清楚其中的每一部分,更不用说应该如何对它进行测试。
探索式测试有助于我们解决以上所有的问题。最终我们使用下面的方法把它融入到我们的流程中。
1、在每个功能签入之前,测试人员对代码执行探索式测试;
2、探索式测试用于帮助我们在测试设计中开发出测试用例,它也可以帮助我们发现在规范说明书中可能漏掉的用户场景;
3、未经改动的手工测试很少能检测到新问题,但是对现有测试做哪怕是最细微的改动都可能发现许多缺陷;
4、在缺陷大扫除时,我们采取了探索式测试,以引导我们到当前功能以外的地方发现相关的缺陷。
有用的探索漫游
漫游测试方法使探索式测试更加具体、容易理解和可重复使用。
出租车测试法
同样的概念也适用于测试应用软件。要到达所需的屏幕、对话框或一些其他功能组件,用户通常有大量的路线可以选择。因此,测试人员的责任和出租车司机一样,他们必须熟悉到达指定位置的每条可能的路径。然后测试人员可以利用这方面的知识验证每条路径是否能安稳地将用户送至目的地。该测试方法的最终目标是要重复执行某项特定的操作。但是,不是重复执行完全相同的测试路径,重点是执行不同的测试路径。这是它和强迫症测试法的关键区别。
与前面的测试法相反,还有一种出租车禁区测试法。这种漫游的目的是要验证无论选择哪一条路径用户始终都无法到达目的地。
多元文化测试法
多元文化漫游适用于测试,因为要为全世界不同国家提供软件,测试人员就必须考虑本地化测试。语言、货币、日期格式、日历类型等必须适当地修改以适用于最终用户的地域。
虽然产品的本地化测试可以非常复杂,但可以从几个基本思路开始。
-
本地化的一个基本要求是没有硬编码的文本。测试本地化的一种极佳方式是更改应用程序和操作系统的语言,然后验证静态文本、异常消息、工具提示、菜单项、窗口标题等是否已经不再提示为英语。此外,很可能有些特定的词语不应该被翻译成其它语言,例如作为品牌名称中的部分单词。
-
尝试在从右往左写的语言(如阿拉伯语)环境下启动应用程序,验证控件和窗口可以正常运行。此外,要测试控件,尤其是自定义控件,并确保它们就像