QASource最近与合作伙伴共同举办了网络研讨会,“如何通过持续集成获得更快、更可靠的自动化测试结果”,froglogic.
在本次网络研讨会中,自动化架构师Vivek Kumar和QASource的QA总监Anand Ramakrishnan演示了如何将压扁的GUI测试器如何使用内置CI集成将Squish与Jenkins Continuous Integration服务器配对以自动运行测试套件,以及如何使用基于CI的协议增强自动测试工作流。
在现场演示中,与会者有机会提问,但我们无法一一回答。在这里,我们专家工程师他们回答说。我们将他们的回答放在下面。
1.是否可以在Jenkins配置中重新运行失败的测试用例?
是的,您可以从Jenkins执行失败的测试用例。为此,您需要首先安装“Naginator插件”。安装插件后,转到“Jenkins作业”并从生成后操作中添加“失败后重试生成”部分。Naginator提供了各种参数,因此您可以根据需要选择其中的任何参数。您还可以灵活地多次执行失败的测试用例。2.您能分享一些关于如何使用SQUISH进行分布式测试的评论吗?
我们基于组件编排了自动化测试,并使用多个虚拟机并行执行自动化测试。Squish需要在每台机器上的特定端口上运行,并且在启动应用程序时向脚本提供相同的信息。一旦我们在所有机器上完成了脚本的执行,我们就会收集HTML结果,并将其作为单一报告与涉众共享。
3.如果第一个测试套件失败,我们可以配置管道脚本跳过其余的测试套件吗?
是的,如果一个特定的测试套件或第一个测试套件在执行过程中失败,则可以跳过测试套件。如果第一个测试失败,您需要配置管道作业以自动跳过测试套件的其余部分。
4.我们有一个企业级Jenkins服务器,是否需要安装Squish CI插件?
是的,Squish CI插件需要安装在Jenkins服务器上,即使您已经设置了企业级Jenkins服务器。默认情况下未安装Squish CI插件,因此需要在使用Jenkins配置Squish自动化测试之前进行设置。
5.CI管道是在开发团队还是测试团队内部?
CI管道通常由DevOps团队或发布工程师建立,因为他们拥有处理此类任务的适当技能集。首先,Dev团队需要将他们的代码提交到源代码控制存储库中。在Dev团队提交了他们的代码之后,DevOps团队将构建管道作业,这样它就可以从版本控制系统下载代码更改并生成构建。管道作业将能够在Dev或集成环境中执行单元、集成和验收测试,然后在生产环境中执行。
6.什么GUI测试可以用于在MFC上编写的应用程序、图像比较或任何其他应用程序?
有多种因素可以帮助您最终确定使用MFC开发的应用程序的测试方法。我们列出了以下几个因素,它们可以帮助您分析是否应该使用基于图像的测试或基于对象的测试:
- 如果您关心在UI上提供元素,建议使用基于图像的测试方法
- 如果您正在寻找一种能够轻松适应变更或可维护的解决方案,那么推荐使用基于对象的测试方法
7.我们能让Jenkins作业用桌面应用程序运行Squish测试吗?
是的,您可以将Jenkins作业配置为使用桌面应用程序运行挤压测试。配置Jenkins作业的步骤对于任何应用程序都类似,无论是web应用程序还是桌面应用程序。Jenkins的角色是在AUT可用的指定机器上触发测试,Squish toolkit将执行桌面应用程序测试。
8.您建议使用什么测试自动化工具在Linux(Ubuntu)上对我们的应用程序进行GUI测试?
有各种各样的GUI自动化测试工具在市场上提供,可在多种平台上运行,包括Windows、Mac或Linux。其中一些工具是froglogic的Squish, Ranorex和IBM的Rational Functional Tester。
选择正确的测试自动化工具完全取决于应用程序中使用的技术和测试需求。QASource是一家工具不可知的公司,我们可以为您提供更多详细信息,或帮助您找到满足您需求的最佳工具。联系我们的团队,我们很乐意与你联系。
9我们最近开始使用Squish for Windows(6.3),并且在测试中遇到了问题稳定. 我们的对象命名将随着新构建的不同而变化,在手动运行时通过的CI Jenkins上的测试将失败。我们如何才能改进这一点?
如果我们可以访问您的环境,那么我们可以向您提供确切的原因。有多种原因可能导致测试失败,例如应用程序动态对象、CI配置或测试脚本依赖关系。有关如何减少这些问题或误报的策略,请观看减少假阳性,我们之前的一次网络研讨会。
10我们如何使用管道构建多个分支(Sprint分支、Dev分支、Master分支)?
为了为了不同的目的构建多个分支,比如开发票据或特性,您需要创建单独的管道作业,每个作业都指向不同的分支。每个管道都有一个独立的Jenkins文件,其中编写了管道脚本,用于从版本控制系统下载代码,生成构建,然后根据分支类型执行单元、集成或验收测试。
11我们可以通过JENKINS将测试执行分布到各个节点上吗?
是的。为了实现这一点,您需要设置不同的Jenkins节点,并在每个作业的管道脚本中指定远程主机ip和端口。完成之后,就可以并行执行测试了。此外,您还可以通过在设置管道脚本时配置节点来包含或跳过任何特定节点的任何测试用例。
12您能否详细介绍Squish的非qt嵌入式测试功能?一个例子是带有嵌入式winforms的WPF应用程序图形(例如线迹、标记)。
是的,Squish有能力自动化qt和非qt嵌入式应用程序。Squish提供了对WinForms和WPF控件的专门支持,这在自动化Windows Presentation Foundation (WPF)应用程序时非常有益。
Squish支持标准和复杂的.NET WPF(Windows Presentation Foundation)控件(项目视图、菜单、选项卡等)。由于您对自动绘制图形有特殊要求,我们只有在对您的应用进行可行性分析后才能向您提供更多详细信息。与我们的团队联系以获取更多信息。
13使用Squish over TestComplete有好处吗?
这完全取决于您的测试要求。以下是仅在Squish中可用的一些功能:
- Squish的IDE可以在多个操作系统上运行
- Squish支持本地macOS应用程序的自动化。
- Squish还支持Ruby、Perl和Tcl脚本语言,以及TestComplete也支持的其他脚本语言。
对QASource的其他网络研讨会感兴趣吗?浏览我们的收藏在这里.