我发现,许多测试人员和测试经理将测试自动化等同于测试用例自动化执行。在他们的词汇中,“自动化”是“测试自动化”的缩写,而“测试自动化”就是自动地运行被测试对象、检查测试结果并生成测试报告。
如果仅仅运行计算机可执行的测试用例就可以保证软件质量,那么测试人员的生活将轻松许多。但是,在绝大多数项目中,测试者都必须完成一系列任务来提供优质的测试服务。
以上幻灯片来自Doug Hoffman和Cem Kaner的报告“Exploratory Test Automation”。他们列举了典型的测试任务,并强调这只是测试人员日常工作的一部分。
● 分析产品和它的风险
● 开发测试策略
● 设计测试用例
● 执行测试用例(测试用例的首次运行通常是手动执行)
● 评估测试结果(包括错误分析和调试)
● 管理测试环境
● 测试结果管理与追踪
● 回归测试
测试用例自动执行对回归测试很有帮助,但是对其他活动支持有限。为了更好地测试,测试者需要放宽测试自动化的视野,在测试全程合理地利用计算机的强大能力。
如果自动化能促成测试使命的完成,就利用自动化。评估利用自动化是否成功的标准,是看它多大程度上帮助测试人员完成自己的使命。(摘自《软件测试经验与教训》第5章“测试自动化”)
在探索式测试中,探索式测试自动化(exploratory test automation)是帮助测试人员完成探索式测试使命的开发与测试活动。Doug和Cem认为:
探索式测试自动化是计算机辅助测试,它支持学习被测试软件质量的新信息。
Exploratory test automation is computer-assisted testing that supports learning of new information about the quality of the software under test.