关闭

使用iTest2重构自动化功能测试脚本(上)

发表于:2009-9-07 13:42

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

 作者:Zhimin Zhan    来源:InfoQ

  介绍

  众所周知,自动测试脚本很难维护。随着敏捷方法学在企业软件项目中的广泛应用,其核心实践之一——自动化功能测试已经证明了它的价值,同时却也对项目提出了挑战。传统的“录制-回播”类型的测试工具也许能帮助测试人员很快地创建一系列的测试脚本,但这些测试代码最后却很难维护。原因就是:应用程序在不断变化。

  在编程的世界中,“重构”(在不影响软件外在行为的前提下,改善软件内部结构的一种方法)已经成为程序员之间频繁使用的词汇。简而言之,通过重构,程序员让代码变得更易于理解、设计也更灵活。经验丰富的敏捷项目经理会给程序员分配一定的时间来重构代码,或者把重构作为完成用户故事的一部分。大部分的集成开发环境(IDE)已经对多种重构方式提供了内置支持。

  开发或者维护自动测试脚本的测试人员就没有这份惬意了,虽然他们也有使自动测试脚本变得可读和可维护的要求。软件发布新版本,会伴随新特性、bug修复和软件变更,要想跟踪与之对应的测试脚本,这很难(而且,测试脚本越多,这项工作就越困难)。

  测试重构

  对功能测试的重构目标和流程与代码重构一样,但有自己的特点:

  • 目标受众

  测试工具的最终用户包括测试人员、业务分析师,甚至还有客户。事实是测试人员、业务分析师和客户一般都不掌握编程技能,整个范式因此而改变。

  • 脚本语法

  代码重构主要是在编译型语言(比如Java和C#)上得到支持。函数式测试脚本,可能是XML、厂商专有脚本、编译型语言或者脚本语言(比如Ruby)。根据测试框架不同,重构的使用形式也不同。

  • 功能测试专属重构

  很多通用的代码重构技巧,比如“重命名”,可以用在功能测试脚本里面,它们特定于测试意图,比如“Move the scripts to run each test case”。

  iTest2 IDE

  iTest2 IDE是一款新的功能测试工具,专为测试人员设计,让他们能够很轻松地开发和维护自动测试脚本。iTest2完全致力于web测试的自动化,它支持的测试框架是使用RSpec语法的rWebUnit(是广为流行的Watir的一款开源插件)。

  iTest2背后的哲学是:容易、简单。试用显示:没有编程经验的测试人员在指导下,平均只需要少于10分钟的时间就能编写他们第一个自动化测试脚本。借助于iTest2,测试人员可以开发、维护和验证功能需求的测试脚本;开发人员可以验证特性可用;业务分析师/客户通过查看测试运行结果(在真实的浏览器下,比如IE或者Firefox)来验证功能需求。

  由iTest2创建的测试脚本可以从命令行运行,也能集成在持续构建服务器上。

  演练

  事实胜于雄辩。下面我们就来看看如何使用iTest2提供的重构工具创建两个测试用例,使它们变得更易理解和维护。

  测试计划

  为了练习,我们给Mecury's NewTour网站开发了一些典型但是简单的web测试脚本。

站点URLhttp://newtours.demoaut.com
测试数据:用户登录:agileway / agileway
测试用例001:一个注册客户可以选择单程航行方式,从纽约前往悉尼。
测试用例002:一个注册客户可以选择往返方式,从纽约前往悉尼

自动化测试 
测试脚本框架:rWebUnit(开源的Watir扩展)
测试执行方法:通过命令行或iTest2 IDE
测试编辑器/工具:iTest2 IDE

31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号