谈到自动化测试,首先我们要明确什么情况下需要自动化。自动化测试的目的是通过自动执行测试脚本,使测试人员在更短的时间内能够更快地完成更多的软件测试,并提供以更高的频率执行测试的能力,从而有效降低测试成本、提高测试效率。从软件测试的成本来看,使用测试工具进行软件自动化测试的成本可以以下公式表示:
自动化测试的成本=软件测试工具成本+测试脚本的创建成本+测试脚本的维护成本
既然自动化测试的目的在于降低测试成本、提高测试效率,因此,测试团队在选择自动化测试工具时,必须在提高测试效率的同时,尽量做到自动化测试的总体成本小于手工测试成本。因此,自动化测试工具的脚本自动化创建能力和可维护性,就成了衡量自动化测试工具的重要因素。
在实际的测试工作中,一般说来,我们选择自动化的功能测试工具无外乎要解决以下三个问题:
自动化的功能回归测试
大批量数据驱动的软件测试 整个软件测试生命周期的管理 在选择自动化测试工具解决这些问题的过程中,人们主要关心的问题是使用自动化测试工具创建测试脚本的能力、工具的易用性、测试脚本的编程和扩展能力、测试脚本的参数化技术以及作为软件开发重要环节的测试工作和其它软件生命周期管理工具的集成能力。因此,摆脱自动化测试困惑的根本途径,就是理解自动化测试的本质,明确自己的自动化测试需求,选择合适的自动化测试工具,帮助测试团队提高效率、降低成本,最终实现软件开发过程的全过程质量保证。
二、 IBM最新自动化功能测试解决方案:Rational Functional Tester
IBM Rational Functional Tester(简称RFT)是一款先进的、自动化的功能和回归测试工具,它适用于测试人员和GUI开发人员。使用它,测试新手可以简化复杂的测试任务,很快上手;测试专家能够通过选择工业标准化的脚本语言,实现各种高级定制功能。通过IBM的最新专利技术,例如基于Wizard的智能数据驱动的软件测试技术、提高测试脚本重用的ScriptAssurance技术等等,大大提高了脚本的易用性和可维护能力。同时,它第一次为Java和Web测试人员,提供了和开发人员同样的操作平台(Eclipse),并通过提供与IBM Rational整个测试生命周期软件的完美集成,真正实现了一个平台统一整个软件开发团队的能力。三、 使用IBM RFT轻松完成自动化功能测试
3.1 基于与开发人员同一开发平台的功能测试
IBM RFT的最大特色就是基于开发人员的同一开发平台(Eclipse),为Java和Web测试人员提供了自动化测试能力。如图一所示,使用RFT进行软件测试时,我们只要在开发人员工作的Eclipse环境中打开Functional Test透视图,就会马上拥有专业的自动化功能测试工具所拥有的全部功能。图一、IBM Rational Functional Test工作界面
在RFT中实现测试脚本的过程和大部分的自动化测试工具一样,是基于录制的脚本生成技术。当我们完成测试用例后,只要在功能测试工具条上选择测试脚本录制按钮,就会启动测试用例的脚本实现过程。
如图二所示,在脚本录制的"选择脚本资产"对话框中,用户可以选择预定义好的公用测试对象图和公用测试数据池,也可以选择在脚本录制过程中生成私有测试对象图和数据池。测试对象图是IBM用来解决测试脚本在不同被测版本间,成功回放的关键技术,它为测试脚本的重用提供了重要保证;而测试数据池是IBM用来实现数据驱动的自动化功能测试的重要手段,使用智能化的数据驱动测试向导,测试脚本的参数化几乎变得易如反掌。
图二、"选择脚本资产"对话框