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

发表于:2010-06-30来源:作者:点击数: 标签:自动化框架驱动关键
一种关键字驱动的 自动化测试 框架 软件测试 摘要:为了提高软件自动化 测试脚本 的可复用性,提出了一种基于关键字驱动的 自动化测试框架 (LKDT)。首先对目前现有自动化测试框架进行了归纳分析;然后提出了LKDT的系统架构,给出了其中所包含的关键技术;最后

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

  摘要:为了提高软件自动化测试脚本的可复用性,提出了一种基于关键字驱动的自动化测试框架(LKDT)。首先对目前现有自动化测试框架进行了归纳分析;然后提出了LKDT的系统架构,给出了其中所包含的关键技术;最后以实际的Linux桌面应用程序为例对LKDT框架与现有框架进行实际对比验证,结果表明该框架具有降低测试脚本规模、提高整体测试效率等优越性。

  关键词:关键字驱动; 自动化测试; Linux GUI测试

  0 引言?

  软件测试是保障和提高软件质量的重要手段[1]。软件开发者和使用者必须对软件进行充分的测试,以确保其正常工作。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上[2,3]。因此提高软件测试过程的效率至关重要。?

  为了提高测试效率,越来越多的测试工作引入了自动化测试的思想和方法。实践证明,软件自动化测试技术提高了软件测试的速度和效率,节省了软件测试成本,缩短了产品发布周期。同时,自动化测试技术也完成了许多手工测试无法实现的工作。所以,采用自动化测试方法和相应的测试框架成为了软件开发组织测试工作的重要支撑手段。例如,采用自动化测试工具能在测试活动中减少一部分开销,同时,有些测试活动是靠手工方式难以实现和度量的;自动化测试框架能够提高测试效率,快速定位测试软件各版本中的功能、性能缺陷。?

  目前的自动化测试框架主要可以分为三种:录制/回放测试框架、数据驱动的自动化测试框架、关键字驱动的自动化测试框架。通过比较,发现关键字驱动的测试框架较前两者具有更好的可复用性,而且随着测试量的增加,测试代码的不断累积,其优越性愈加明显。但当前基于关键字驱动的测试框架研究尚未给出直接可用于Linux桌面测试的框架。而 Linux下支持GUI自动化测试的测试框架对于Linux的应用程序的丰富与成熟具有至关重要的保障作用。因此为了弥补理论和实践的差距,本文给出了一种实用、有效的关键字驱动的测试框架 LKDT,并验证了LKDT在自动化测试领域的实用性和优越性。?

  1 自动化测试框架概述?

  1.1 自动化测试框架定义

  一个自动化测试框架就是一个由假设、概念以及为自动化测试提供支持的实践的集合[4]。自动化测试框架可以减少测试脚本实现和维护的成本,使测试人员把精力集中在测试用例的设计上。自动化测试框架的好坏直接影响到自动化测试的成功与否[2]。

  1.2 自动化测试框架开发原则

  一个优秀的自动化测试框架应该满足以下特点:?

  a) 测试框架与被测应用程序独立。虽然测试的应用程序不一样,但被测应用程序之间却会有相同的地方,测试框架应聚焦在不同测试应用程序中共同的部分,把与具体应用程序有关的部分从框架中移除。?

  b) 测试框架应易于扩展、维护。测试框架应被高度模块化,这样可以提高框架的维护性。各个模块之间相互独立,对模块内部的修改不应该影响其他模块。除此之外,系统应该有充足、详细的文档,与软件开发一样,这也是必不可少的。设计文档可以帮助开发人员扩展、维护测试框架,而使用文档则可以告诉用户要怎么使用该框架。

  c) 测试脚本所使用的测试语言应该是与框架独立的。不同的测试框架可能在不同的应用领域有不同的表现,有些适用于Java应用程序的测试, 有些可能适用于Web应用程序的测试,如果测试脚本所采用的语言是私有的、与测试框架绑定的,那么当需要从一个测试框架迁移到另外一个测试框架时,所有的测试脚本都需要重写。

  d) 测试框架不应该让框架的复杂性影响到测试人员。在大多数情况下,测试人员就是测试人员而不是开发人员,甚至有的时候,他们不是专业的测试人员,可能只是具有很少软件开发经验的某个应用领域的专家。对于这些使用者来说,测试框架的使用要简单、测试语言要易于理解,这样可以使他们专注于业务相关内容的编写。

原文转自:http://www.ltesting.net