常用的自动化测试框架
1 录制/回放测试框架
录制/回放测试框架所采用的原理是通过录制应用程序产生的线性脚本进行回放从而达到自动化测试的目的。
其优点是简单,通过录制就可以得到所需脚本。但同时也有很大的缺点,它不具有逻辑判断的能力,可维护性差,效率低下。
2 数据驱动的自动化测试框架
该种框架的原理是采用了数据驱动脚本进行测试,数据驱动脚本是将数据输入存储在独立的数据文件中,脚本只存放控制信息,测试时输入直接从文件中读取,这样同一脚本可以运行于不同的测试用例中,实现了脚本与数据的分离。其优点是可以快速增加相似测试,测试者增加新的测试不必掌握测试工具语言,对此后的类似测试无额外维护开销;缺点是初始建立测试脚本的开销较大,进行数据扩展的脚本需要针对相同的测试内容并具有相同的测试逻辑。
3 关键字驱动的自动化测试框架
关键字驱动(表驱动)是对数据驱动的逻辑扩展,它的核心思想可以概括为三个分离。
1)界面元素名与测试内部对象名的分离 在被测应用程序和录制生成的测试脚本之间增加一个抽象层,它可以将界面上的所有元素映射成相对应的一个逻辑对象,测试针对这些逻辑对象进行,界面元素的改变只会影响映射表,而不会影响测试。
2)测试描述与具体实现细节的分离把测试描述和测试的具体实现细节分离开来。测试描述只说明软件测试要做什么以及期待什么样的结果,而不管怎样执行测试或怎样证实结果。这样做是因为测试的实现细节通常与特定的平台以及特定的测试执行工具有着密切的联系。这种分离使得测试描述对于应用实现细节是不敏感的,而且有利于测试在工具和平台间的移植。
3)脚本与数据的分离 最后,可以把测试执行过程中所需的测试数据从脚本中提取出来,在运行时测试脚本再从数据存放处读取预先定制好的数据,这样脚本和数据可以独立维护。
以上这三个分离各司其职、互相独立,最大程度地减少相互之间的影响。从关键字驱动的思想可以看出,该种测试框架不仅实现了将数据和脚本相分离,而且实现了测试逻辑和数据的分离,大大提高了脚本的复用度和维护性,从而更大限度地实现了测试工具的自动化。