持续集成是将所有开发人员的工作副本合并到共享的主线上。这个过程使软件开发对开发人员来说更容易访问、更快、风险更小。
阅读这篇文章,让我们了解如何配置Parasoft SOAtest作为持续集成过程的一部分,来执行功能测试和回归测试。我们将介绍如何使用主流的自动化平台Jenkins配置Parasoft SOAtest,并使用Docker进行部署。
它是如何运作的?
下图显示了本文中描述的工作流程。按照从左到右的步骤操作。
1.开发人员或测试人员将他们的测试用例检入源代码控制存储库中。在这个例子中,我们使用的GitHub。
2.Jenkins将从GitHub查看存储库,其中包含名为“Parabank”的SOAtest项目,该项目包含我们的功能测试用例。Jenkins还将从Docker Hub中提取一个名为parasoft/parabank的Docker镜像。此镜像不仅包含Parabank,还包含运行应用程序所需的应用服务器和依赖项。
3.Jenkins将启动Parabank镜像(称为“容器”),并根据测试环境的具体情况配置受测应用程序(AUT)。
4.Jenkins将触发Parasoft SOAtest运行从GitHub提取的功能测试,这样就可以验证我们的Parabank应用程序并实现需要的错误修复。
因为我们是从预构建的Docker镜像开始的。但这为我们省去了使用Maven构建Parabank以及安装和配置Tomcat/Java的麻烦。
配置SOAtest和Jenkins
先决条件
1. 一台能够运行Docker且可以连接到互联网的机器。(本教程使用Windows,所以本文中的一些命令可能具有不同的语法。)
2. 在机器上创建一个localsettings.properties文件。将这个示例文件的内容复制进去。(如果您有锁定许可证,请将其添加到第5行。如果您使用服务器许可证,请将第6行设置为true,并在第3行添加您的许可服务器主机名。我们稍后需要这个文件的路径。)
3. 在同一台机器上安装Jenkins 2.387.1或更新版本。
4. 安装了Parasoft SOAtest 2022.1或更新版本,并在PATH上从任何目录调用soatestcli。
5. 在同一台机器的PATH上安装了Docker。
6. 安装Git。
步骤
1. 在浏览器中登录Jenkins。Jenkins通常部署在http://:8080/jenkins这样的URL上。
2.我们将从安装一些Jenkins插件开始。选择左侧的Manage Jenkins,然后在出现的新菜单中选择Manage Plugins。
3. 在Available选项卡下,选择并安装Parasoft Findings插件。
4. 选择“Install without Restart”,然后在“Installation”页面上选中复选框,在安装完成后重新启动Jenkins。
5. 从步骤1返回Jenkins主菜单。在左侧,选择新项目。
6. 提供名称Parabank Deploy and Test,选择Freestyle项目,然后点击OK。
7. 在配置菜单中,向下滚动到源代码管理,并选择Git。将此URL添加到Repo URL字段:https://github.com/sdebrosse/soatest-automation-example.git。所有其他字段都可以保留其默认值。
8. 滚动到页面底部,在“构建”下添加执行Windows批处理命令构建步骤。如果您使用的是Linux,请选择Execute shell。
9. 将这里的脚本内容复制并粘贴到新的构建步骤字段中。您需要更改脚本顶部的两个变量的值,来反映您的localsettings.properties文件的路径以及您希望创建临时工作区的位置。SOAtest将在测试过程中创建这个工作区。脚本中的注释解释了每行发生的事情。
10. 现在,我们已经准备好执行我们的Jenkins工作了!确保首先关闭所有打开的SOAtest实例。然后在配置菜单底部选择保存,然后点击左侧的立即构建。
11. 您可以点击左侧的运行作业,然后查看实时控制台输出。
12. 如果一切正常,日志将在工作结束时输出成功状态。这意味着您已成功从GitHub中提取SOAtest测试项目,使用Parabank部署了Docker容器,并针对此Parabank应用程序执行了测试。在流程结束时,我们自动终止了Parabank容器,并删除了我们的temp_workspace以清理构建环境。您可能从查看日志中注意到,我们有一些测试失败。
如果我们希望Jenkins构建因SOAtest测试失败而失败,我们会在调用soatestcli时添加-fail标志。例如以下,您会发现这次测试失败主要是测试数据和测试环境配置问题。
总结
将持续集成实施到您的软件开发过程中显著提高了应用交付的速度。像SOAtest这样的自动化解决方案提供了一个可扩展和高效的回归测试策略,能够执行测试用例,验证软件功能,整理和分析结果,并报告任何回归问题。这种组合有助于团队达到更高的发布速度,提高测试生产力,并确保高测试覆盖率。
您可以访问我们的知识库平台,在此找到关于产品的详细使用说明、常见问题解答(FAQ)以及技术文档。
邮件支持:如果您在知识库平台中未能找到答案,或有其他技术问题需要咨询,请随时通过邮件联系我们。我们的技术支持团队会尽快回复您的邮件。