彩票走势图

通过AI和自动化加速Salesforce测试

原创|使用教程|编辑:郑恭琳|2021-03-10 14:03:26.407|阅读 125 次

概述:在上一篇文章中,我提供了一些使用Selenium测试Salesforce应用程序的技巧。 Salesforce提供了一个灵活的开发环境,允许开发人员以抽象的方式定义其业务逻辑和UI元素,以便Salesforce可以在页面上实现这些元素。 这种灵活性是以牺牲UI测试自动化为代价的,因为开发人员无法直接控制浏览器中的最终内容。众所周知,使用诸如Selenium之类的开源自动化框架很难测试Salesforce企业应用程序。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:


上一篇文章中,我提供了一些使用Selenium测试Salesforce应用程序的技巧。 Salesforce提供了一个灵活的开发环境,允许开发人员以抽象的方式定义其业务逻辑和UI元素,以便Salesforce可以在页面上实现这些元素。

这种灵活性是以牺牲UI测试自动化为代价的,因为开发人员无法直接控制浏览器中的最终内容。众所周知,使用诸如Selenium之类的开源自动化框架很难测试Salesforce企业应用程序。


为什么很难用Selenium测试Salesforce

总结一下我在上一篇文章中讨论的问题,这是测试Salesforce应用程序难以使用Selenium自动化的一些原因。

动态元素标识符

Salesforce应用程序中的元素标识符看起来很奇怪,例如id=940:1376;a”。更糟糕的是,标识符在页面访问之间随机变化。这使得标识符对于测试自动化毫无用处。

慢速云托管企业应用程序

尽管名称为Lightning”,但是Salesforce的云托管企业应用程序有时可能会非常慢。测试自动化工程师熟悉响应速度可能很慢的应用程序所带来的挑战。如果测试脚本尝试在应用程序准备就绪之前执行下一步,则它将失败。

记住并重新初始化Lightning UI组件

UI测试自动化方面的另一个棘手问题是,Salesforce会记住上次打开哪个Lightning UI组件,并在登录时重新初始化上一个已知状态。这意味着可用于测试的初始页面布局可能会根据保存的历史记录进行更改。

Salesforce软件频繁更新

Salesforce Lightning UI每年都有多个更新。每次更新都可能导致UI测试自动化中断。在这种情况下,需要使用AI驱动的自我修复功能,以使测试自动化在如此频繁的更新时间表上正常工作。

我提供了技巧和窍门来应对这些挑战。尽管它们有助于让SeleniumSalesforce应用程序一起使用,但仍然需要大量工作。幸运的是,有工具可以提供帮助。


使用AI技术增强Selenium自动化的UI测试

有效地自动化了Selenium测试的创建,并简化了测试维护。使用,您可以在浏览器中记录与Salesforce企业应用程序的交互。然后轻松创建利用所有这些相同技术的Selenium测试类。

的集成Recorder提供了一个应用程序选择,因此您可以选择在记录UI操作时收集Salesforce特定的属性。然后,在创建Selenium UI测试时会合并这些属性,并使用AI技术对由于定位器或等待条件的更改而损坏的测试进行自我修复观看视频

可是等等。还有更多!

您还可以利用API测试和服务虚拟化来帮助您更好,更快和更便宜地进行Salesforce测试。让我们看看Parasoft如何帮助您实现这三个目标。


更好地测试您的Salesforce应用程序

通常,在Salesforce应用程序中使用自动化的困难可能会导致测试不佳。测试覆盖率可能很低,要增加测试覆盖率,则需要进行大量工作。为了更好地测试这些应用程序,测试自动化解决方案需要使测试更易于创建和维护。

记录应用程序执行期间的UI交互,并因此创建可重复使用的Selenium测试。通过使用Chrome的录制插件,可以在应用程序执行过程中拦截所有UI交互,并使用Selenium页面对象模型来标识元素,从而提高了唯一标识定位器的能力,尽管在Salesforce应用程序中使用了非典型标识符。

下面说明了使用创建测试的工作流程。应用程序交互与关联的API调用一起记录在浏览器中(稍后会详细介绍),并在您的IDE中转换为Selenium Java项目。

通过现有的测试场景可以快速轻松地创建测试,并在您的IDE中将其转换为Selenium测试。

当事情改变时会发生什么?

Selenium测试有些脆弱,在更改应用程序后会很快停止工作。通过为这些损坏的测试提供自我修复功能来提供帮助。

会继续记录后续测试运行期间的交互,以检测自先前测试版本以来的更改,并根据检测到的差异(例如定位器失败和等待条件)更新测试。

还在录制过程中跟踪性能指标,这可以帮助对性能问题进行基准测试和调试。自我修复的一般工作流程如下所示。

AI启发式技术可诊断测试失败并自动调整缺失的元素以“修复”测试。如此处所示,它可以直接在IDE中工作,并且在CI/CD管道中也可以工作。可以将观察到的测试中提出的建议导入到IDE中,然后单击即可更新。

自动化生成与自我修复相结合,确保针对Salesforce应用程序的Selenium测试不那么脆弱,并且更易于维护。这应该可以帮助团队显着改善自动化测试,因为他们可以可靠地记录整个测试套件并重用它们,而不会遇到困扰Selenium测试的传统问题。这些测试不太可能由于UI的更改而中断,并且在整个开发生命周期中都易于维护。

加速UI测试非常有用,并且在UI级别进行Selenium测试方面的投资回报率很有价值。即使有了这些改进,在UI上的测试仍然是瓶颈,并且在API级别上测试业务逻辑更加有效。


更快地测试您的Salesforce应用程序

幸运的是,在使用记录UI测试场景时,还可以记录使用Parasoft SOAtest进行的API交互。与UI交互一样,这些记录也被重用,参数化和修改以创建API测试方案。

SOAtest使用AI技术来分析复杂的数据流量模式和定位器,并将它们合并为有组织的API测试。然后可以将这些API测试应用于应用程序以测试相同的逻辑,但无需UI交互。这大大减少了测试的开销,并且通过一些调整,可以将API测试缩减为测试特定用例所需的最少交互。下面显示了将SOAtestSalesforce应用程序API测试结合使用的典型工作流程。

测试API级别以与原始UI测试用例相同的方式验证业务逻辑,但是执行时间大大减少。高达97%。这意味着测试套件所花费的时间要少得多,并且还为扩展测试以验证在UI级别上遗漏的部分业务逻辑提供了可能性。

SOAtest API测试旨在根据需要进行重用和参数化。根据原始记录创建新方案,并添加测试人员创建的数据集和根据需要自动生成的数据。现在,通过扩展测试数据集,可以通过一次简单的记录就可以进行一整套API测试。

通过利用这些灵活的API测试,可以测试更多的应用程序,因为我们已经在很多测试中有效地消除了对UI的依赖。这种独立性意味着测试可以在开发计划中更快,更迅速地扩展。

当然,API测试很棒,但是仍然存在测试执行环境的问题。没有任何企业系统不依赖于外部服务和旧系统。这些通常是测试人员的祸根,因为他们要么完全排除了生产系统测试(需要在实验室中提供合理的传真),要么使集成测试极具风险。在这里,服务虚拟化对于分离这些生产系统上的依赖关系至关重要。


便宜地测试您的Salesforce应用程序

由诸如Parasoft Virtualize之类的工具提供的虚拟化服务对于将被测应用程序与复杂的生产环境脱钩至关重要。模拟依赖关系意味着被测应用程序已与生产环境分离。

这提供了对数据的完全控制,按需部署以及极大地并行化和加速测试的能力,而无需付费使用的API,测试实验室或干扰生产系统的成本。

借助的环境管理器,可以为被测应用程序绘制测试环境,并根据需要设置模拟服务。这些服务可以提供逼真的响应并支持模拟现实世界服务的数据模型。

为虚拟化服务提供了数据模型,并提供了管理与数据模型关联的数据集的能力。虚拟化服务的复杂性取决于要测试的应用程序的需求。

服务虚拟化使集成测试更容易,更便宜。而且还意味着要更快地进行测试。您可以将API和集成测试比以往任何时候都更向左移动。


最重要的是:改善跨团队合作

测试自动化的主要好处是能够在测试执行期间收集数据和结果。 Parasoft DTP会汇总和分析团队使用的各种测试实践中的数据,以创建质量的集中视图。此外,它可以在需求管理工具(例如Jira)中将这些测试结果与您的用户案例相关联。

在用例,测试结果,代码覆盖率和总体状态之间“连接各个点”的能力对于做出明智的决定至关重要。团队协作得到了改善,因为每个人都可以在应用程序状态上看到相同的事实来源,并且可以根据需要对相同的信息采取行动。


概括

Salesforce应用程序的测试自动化可能很麻烦。使用Selenium进行UI测试是可能的,但是如果没有其他工具帮助,则很耗时。提供所需的正确协助,以使Salesforce应用程序的Selenium测试切实可行并改善基于UI的测试结果。

基于UI的测试很重要,但这是测试应用程序所有业务逻辑的低效率方法。API测试加快了应用程序测试的速度,同时还提高了测试范围。

UI测试相比,可以在更短的时间内进行更多测试。服务测试虚拟化进一步改善了API测试的影响,该服务虚拟化使您的Salesforce应用程序与其复杂而昂贵的生产环境脱钩。Parasoft SOAtestVirtualize的强大组合意味着测试更加全面,可以在开发周期的早期开始。

最后,团队协作可以通过集中化质量视图来改善,这些视图来自应用程序各个级别的测试自动化。Parasoft DTP为合理的决策提供了有意义的见解,并提高了组织专注于创新的能力。


标签:软件测试技术自动化测试

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP