简介:本文随着回归测试的自动化程度不同,而结合 Rational Functional Tester (RFT) 展开如下回归测试:手工回归测试 -> 自动化回归测试 -> 无需人工干预的自动化回归测试 -> 无需人工干预的跨平台并发自动化回归测试。
回归测试是指修改了旧代码之后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。回归测试作为软件生命周期的一个重要组成部分,在整个软件测试过程中占有很大的比重,并且伴随着渐进和快速迭代开发的广泛应用,新版本的连续发布对回归测试的频率和效率都有了更高的要求。因此自动化回归测试无论是从时间、效率还是成本的角度考虑,都是解决这一问题的不二选择。本文随着回归测试的自动化程度不同而展开如下:手工回归测试 -> 自动化回归测试 -> 无需人工干预的自动化回归测试 -> 无需人工干预的跨平台并发自动化回归测试。
1. 手工回归测试
手工回归测试软件一般由以下步骤组成:
● 监测并下载最新版本的被测软件
● 准备测试环境
● 安装被测软件
● 手工执行测试用例
● 记录执行结果
2. 自动化回归测试
2.1 自动化回归测试工具
回归测试的步骤以及回归测试用例本身相对固定的特点,保证了自动化回归测试的可行性。除了利用 Java,ANT 等直接开发自动化脚本以外,各种自动化测试的软件和工具也保证了自动化回归测试的可行性:
● IBM Rational Functional Tester(RFT)是一个面向对象的自动化测试工具,用于测试 Windows 2000、Windows XP 和 Linux 平台上的基于 Java、HTML、VB.NET、Microsoft Windows 的应用软件。
● Software Test Automation Framework (STAF) 是一个开源的、跨平台、支持多语言的自动化测试框架,它是基于可重用的组件来构建的。
2.2 自动化回归测试的可行性
将手工测试自动化,首先需要考虑的是手工测试的每一步(见章节 1)是否可以实现自动化。换而言之,也就是是否可以利用命令行操作或者脚本语言来代替手工测试中需要人机交互的部分:
● (自动)监测并下载最新版本的被测软件
根据被测软件存放的服务器类型、协议的不同,可以利用相应的命令行操作工具,实现自动监测并下载最新版本的被测软件。例如:wget,mget。
● (自动)准备测试环境
目前被广泛使用的 VMware 虚拟机,不但支持多种操作系统,可以通过 revert to snapshot 恢复到任何环境,还提供了命令行工具 vmrun 。因此,我们可以利用命令行操作实现自动将虚拟机还原到最初的干净的测试环境,并且开启虚拟机。举例如下 :
<VMware Install Path>\VMware VIX\vmrun revertToSnapshot <your-VM> <some-snapshot> <VMware Install Path>\VMware VIX\vmrun start <your-VM> |
● (自动)安装被测软件
大部分的软件都会提供命令行安装方式,也就是所谓的“ Silent Installation ”。利用提前设置好的安装配置信息,实现无需用户输入的自动安装软件并不是一件难事。
● (自动)执行测试用例
Rational Functional Tester 是目前非常流行的一个面向对象的自动化测试工具。通过编写 RFT 脚本,可以实现对 Java、.Net 以及基于 Web 的各种应用程序的自动测试。