7.5 多个应用程序版本的测试

    第 3 章中介绍了灵活运用版本管理系统是顺利进行团队开发所必不可少的要素。当然不仅是代码,测试用例也应该进行版本管理。这样就可以对系统的多个版本进行测试,其优点有如下这些。

    • 在发布后的版本中发现 bug,需要紧急发布的情况下,如果能够实施自动化测试,就能够安心地发布

    • 能够和紧急发布的测试并行进行下一次发布的开发工作

    • 每个开发团队在不同的分支上开发的情况下,可以在该分支上执行其对应的测试用例,在向主代码库提交之前实施自动测试

    这里介绍一下对多个版本进行 Selenium 测试的方法(图 7.25)。首先,用 Jenkins 的“Parameterized Trigger pluguin”来指定对哪个版本执行测试。假设这里设置的变量名字为 APP_VERSION ,那么在 Jenkins 的任务配置中,用名为 ${APP_VERSION} 的变量就能在构建时取得指定的版本。

    7.5 多个应用程序版本的测试 - 图1

    图 7.25 对多个版本进行 Selenium 测试

    7.5.1 应用的部署

    通常,对应用程序的多个版本进行单元测试时,只需要将代码变更为特定的版本就可以进行测试了。而 Selenium 测试则需要从部署应用程序的特定版本开始着手。因此,测试的整体流程可分为“部署应用程序”和“用 Selenium 测试”。可以使用 Jenkins 的构建流水线或任务关联等来构筑这样的流程。

    7.5.2 从版本管理系统下载测试用例

    接着从版本管理系统上下载测试用例。当然前提是测试用例和代码一样都进行了版本管理。

    在 Jenkins 的测试任务的工作目录下,以各版本为目录名保存测试用例(图 7.26)。使用 Git 管理代码的情况下,可以将 Git 插件的“高级”下的“Local subdirectory for repo(optional)”设置为“TestSuite/${APP_VERSION} ”。如果忘记进行上述配置,各版本的测试用例就会被直接下载到测试任务的工作目录下,和其他版本的测试用例混在一起,因此需要特别注意。

    7.5 多个应用程序版本的测试 - 图2

    图 7.26 保存各版本的测试用例

    7.5.3 用 Selenium 测试

    正如 7.3 节中讲解的那样,只需在“seleniumhq Plugin”的 suiteFile 中设置刚才下载的测试套件,即可执行测试。可以将 suiteFile 设置为“${WORKSPACE}/TestSuite/${APP_VERSION}/login.html ”,这样就可以对多个版本进行测试了。