介绍
持续集成能够使开发人员和测试人员在同一个最新的版本上工作。CruiseControl 是现在流行的持续集成的软件。自动化测试能够大大减轻测试人员的工作量,减少测试过程中人为出现的错误。STAF (STAX) 是一个轻量级的自动化测试框架。
本文结合 CruiseControl 和 STAF (STAX) 来介绍一个复杂环境下的自动化测试方案。我们使用 CruiseControl 作为自动化测试的入口和调度器,用它来控制 STAX 任务的执行。STAX 通过 STAX 复杂对测试代码进行分发、编译、部署和测试。在整个测试过程中,我们不仅可以使用 JUnit 测试用例来测试代码,而且可以使用其他方式的测试用例来测试,比如 Rational Functional Tester 脚本,Robot 脚本等。
场景介绍
本文使用一个简化了的复杂应用场景作为运行自动测试解决方案的环境。 该应用由一个提供简单 Echo Service 的 WebService 和一个 Web 界面的 WebService 客户端组成。 用户既可以使用程序来直接访问该 WebService 也以通过在浏览器中操作该客户端来访问 WebService 提供的服务。在访问 WebService 和客户端之前,用户都需要经过身份验证来声明自己的身份。
WebService 和客户端分别运行于 Windows 和 Linux 平台上的 WebSphere 应用服务器之上。在 WebSphere 应用服务器上需要配置登录认证模块来实现用户访问前的身份认证。
在这一应用场景中,测试团队经过分析,对自动化功能测试提出了以下需求:
WebService 和客户端需要分别进行功能测试。
开发团队提供了用于配置应用程序登录模块 (LoginModule) 的自动配置部署脚本,该脚本被发布到一个 FTP 服务器上。
WebService 和客户端的源代码以及测试脚本的源代码都存放在 CVS 上,需要在测试执行前进行自动更新。
自动化测试执行需要每天自动定时运行。
测试执行的结果包括执行日志需要被测试团队和开发团队及时访问到。
自动化测试方案的设计
部署脚本库是指发布配置登录模块的脚本的服务器。在本文中,是一个 FTP 服务器。
源代码库是指发布被测试应用程序源代码以及测试相关源代码的服务器。在本文中,WebService 和客户端的源代码以及测试脚本的源代码都被发布在一个 CVS 服务器上。
定时器设置每天特定时间触发,本文中,定时器的功能是 CruiseControl 提供的。
自动编译工具将从源代码库中获取的测试代码和被测试代码进行编译。本文中,使用CruiseControl 结合 Ant 作为自动编译工具。
测试自动化框架负责将编译完成的被测试代码和测试代码部署到测试环境中,并调用测试自动化执行工具来执行测试。在测试执行介绍后,框架还需要收集相应的执行日志,并将执行结果和日志交由 CruiseControl 进行发布,以供测试和开发人员参考。在本文中,测试框架采用了开源的 STAF、STAX 框架。
测试执行工具是指进行测试的各种测试工具,本文中,测试工具使用了 JUnit,RFT 等。
文章来源于领测软件测试网 https://www.ltesting.net/