一种关键字驱动的自动化测试框架

发表于:2010-5-12 16:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:接卉/兰雨晴/骆沛    来源:计算机应用研究

分享:

  2 常用的自动化测试框架

  2.1 录制/回放测试框架

  录制/回放测试框架所采用的原理是通过录制应用程序产生的线性脚本进行回放从而达到自动化测试的目的。

  其优点是简单,通过录制就可以得到所需脚本。但同时也有很大的缺点,它不具有逻辑判断的能力,可维护性差,效率低下。

  2.2 数据驱动的自动化测试框架

  该种框架的原理是采用了数据驱动脚本进行测试,数据驱动脚本是将数据输入存储在独立的数据文件中,脚本只存放控制信息,测试时输入直接从文件中读取,这样同一脚本可以运行于不同的测试用例中,实现了脚本与数据的分离。其优点是可以快速增加相似测试,测试者增加新的测试不必掌握测试工具语言,对此后的类似测试无额外维护开销;缺点是初始建立测试脚本的开销较大,进行数据扩展的脚本需要针对相同的测试内容并具有相同的测试逻辑。

  2.3 关键字驱动的自动化测试框架

  关键字驱动(表驱动)是对数据驱动的逻辑扩展,它的核心思想可以概括为三个分离。

  1)界面元素名与测试内部对象名的分离 在被测应用程序和录制生成的测试脚本之间增加一个抽象层,它可以将界面上的所有元素映射成相对应的一个逻辑对象,测试针对这些逻辑对象进行,界面元素的改变只会影响映射表,而不会影响测试。

  2)测试描述与具体实现细节的分离把测试描述和测试的具体实现细节分离开来。测试描述只说明软件测试要做什么以及期待什么样的结果,而不管怎样执行测试或怎样证实结果。这样做是因为测试的实现细节通常与特定的平台以及特定的测试执行工具有着密切的联系。这种分离使得测试描述对于应用实现细节是不敏感的,而且有利于测试在工具和平台间的移植。

  3)脚本与数据的分离 最后,可以把测试执行过程中所需的测试数据从脚本中提取出来,在运行时测试脚本再从数据存放处读取预先定制好的数据,这样脚本和数据可以独立维护。

  以上这三个分离各司其职、互相独立,最大程度地减少相互之间的影响。从关键字驱动的思想可以看出,该种测试框架不仅实现了将数据和脚本相分离,而且实现了测试逻辑和数据的分离,大大提高了脚本的复用度和维护性,从而更大限度地实现了测试工具的自动化。

  3 用于Linux下桌面应用程序的关键字驱动的自动化测试框架

  当前Linux下的测试工具主要是针对内核和服务器方面进行测试,对桌面应用程序的测试基本不支持,开发一个支持Linux下桌面应用程序测试的测试框架对于解决Linux下应用程序的发展与成熟具有积极的促进和保障作用。本文根据测试自动化框架开发原则,结合软件测试的实际需求,提出一个可行的自动化测试框架:LKDT(an automated testing framework of keyword driven for Linux)。

  3.1 LKDT总体架构

  LKDT主要由测试用例管理、测试计划、测试脚本编写、测试执行和测试结果收集等组件构成。

  测试用例管理组件采用与测试用例管理工具,如目前常用的test runner管理工具集成的办法,提供对test runner中已有测试用例的导入、导出功能,从而方便测试人员对于测试用例的统一管理。

  测试脚本编写组件允许采用两种脚本编写方式:a)测试人员通过录制工具产生测试脚本,即测试人员根据测试用例中的步骤,对应用程序进行操作, 录制工具将这些动作捕获下来,存成脚本文件;b)测试人员通过关键字的方式手动进行编写,即在该框架中测试人员可以通过拖放关键字来进行脚本的编写。

  测试计划组件的主要作用即允许测试人员对测试用例的执行方式(顺序、并行、条件、分支、循环、分布式等)、执行时间、日志级别等进行定制。

  测试执行组件是对测试用例或者测试计划所关联的测试用例按照要求进行执行,该过程为自动执行过程,无须人工进行干预;如果需要手动控制测试脚本执行,需以debug的方式执行。

  测试结果组件收集测试结果信息,包括一个测试结果总结,如测试执行了几个测试用例、执行时间以及成功、失败的用例数;还包括一个失败的测试用例执行的详细信息,包括失败的测试脚本所属的测试计划、所属的测试用例、在测试脚本中的位置以及出错过程中的截图。

32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号