软件测试自动化之路(6)----建立自动化测试中的Central Window

在软件GUI自动化测试中通常会要求启动一次,就能批量运行完多条test cases.。为了能完成批量运行这一任务,每条test caseGUI的操作上应该是不相互依赖的。比如:在test suite中的第二条test cases,就不能依赖于第一条test caseGUI结果,同理第三条test case与第二条test case也没有依赖关系。我们最好能做到打破test cases之间在GUI方面的上下文关系。但如何能真正做到这一点? 方法之一是可以采取central window。每一条test case都要从某一central window开始运行,运行完成后一定要(如果不能,应该中止test suite的执行,throw exception…)回到这一central window。这样,每一条test case的初始GUI场景都是固定的,从而打破了test case GUI的上下文关系。

选择和划分central window? 从一个AUT要能选择正确的central window应该遵循以下几个原则:1)它是一个公共的入口 2)它可以快速进入3)从它也可以快速进入到别的测试场景中去。如程序的主界面。Central window可能会有多个。在实际中,所有的test cases只对应一个central window是最简单的情况,但也需要不同的test cases对应的是不同的central window

 

如何控制central window?事实上,在这儿我们要完成两件事情就可以了。首先要使所有的test case知道如何从central window出发,其次test case也要知道在运行完毕或者在中途发生执行意外,如何返回central window。问题是这两种工作应该放在test case中去完成?还是应该有一个叫central window controller 来完成呢?我认为不应该把前者放在test case中去完成,而应该把它们独立到test case之外来完成。Test case中只应包含属于这条test case业务领域的逻辑。一旦进入test case,测试的GUI场景就应该被建立好了。返回central window 可以认为是恢复现场。要确保都能恢复到最初的样子,对test case来说有点近乎苛刻了,特别是对测试过程发生如找不到GUI对象等情况下。一个叫central window controller应该能帮助它 restore to central window.

 

你可能感兴趣的:(工作,exception,测试,软件测试,任务)