测试和测试自动化是管理风险和按时交付高质量Salesforce版本的重要组成部分。正确处理需要细致入微的方法,而Context是选择正确路径的关键。因为Salesforce是一个非常动态的平台,其变化是由平台扩展和自定义以满足业务需求所驱动的,所以测试自动化是一个持续过程。
什么是Salesforce测试?
Salesforce测试是为了确保新自定义功能按要求运行,并且Salesforce组织中的任何内容(包括与其他应用程序的集成)都不会因新的内部版本而损坏。
此外,Salesforce测试还是为了保障与版本更新节奏相匹配,确保Salesforce更新或补丁中的内容都不会导致现有或新功能出现任何问题。
Salesforce测试包括单元测试、功能测试、集成测试、用户验收测试和回归测试。
测试Salesforce主要版本
Salesforce是一家规模庞大的创新公司,大多数Salesforce客户面临的挑战是跟上其发布新功能的速度,并跟踪影响业务的领域。
Salesforce在测试版本方面做得很好,所以不必测试所有内容。可以重点从以下方面着手:
定位对业务很重要的功能。
确定受自动更新影响的区域。
计划一个不断扩展的回归测试,测试之前构建的内容,以及刚构建的内容。
测试与Salesforce生态系统中应用程序的集成。
测试自定义和新的应用程序
在测试Salesforce自定义(包括构建在Salesforce上的自定义应用程序)时,情况变得更加复杂。以下是其与Salesforce主要版本测试的区别。
不只是QA团队 :所涉及的团队已经扩展到架构师、开发人员和业务分析师,通常都有自己的测试工具和方法。最终目标是让每个人都在同一页面上,在整个开发生命周期中实现测试自动化。Context非常重要,员工技能、工具、devops的相关阶段都是考虑因素。
全生命周期测试:早期发现的错误修复成本较低,Salesforce应用程序尤其如此。这意味着需要更多类型的测试。
持续测试:与Salesforce版本的回归测试不同,测试新开发不是一个线性过程。作为完整SDLC的一部分,持续测试和缩小测试反馈循环是避免测试债务增加、风险增加以及Salesforce应用程序出现严重故障的可能性的最佳方法。
测试自动化如何提供帮助?
测试自动化是整体质量测试计划的重要组成部分。
测试必须是可重复的,并且有一个已知的自动化结果。
自动化手动测试执行失败的领域:高度重复、高度复杂、在太短的时间内进行太多测试。
测试自动化最有帮助的地方:
经常使用的Processes和Flows
任何复杂或有许多排列的内容
mvp或mvq需要大范围或大量测试的地方
测试自动化的好处
如果能够从无测试或手动测试执行转变为测试自动化,发布质量和业务成果将得到改善。主要有以下好处:
减少测试债务并降低风险。
提高回归测试执行的速度、覆盖率和准确性。
支持重新调整资源的用途以提高覆盖率,增加新功能的测试并优化测试过程(执行时间、覆盖率、准确性,例如风险/覆盖率/测试/复杂性)。
添加探索性测试。实现自动化后,可以创造时间来探索产品/服务中的未知数,以更好地了解整个产品。
不同的测试解决方案
本地Salesforce测试
Salesforce本地测试侧重于开发人员,主要是单元测试。Salesforce在开发人员控制台中包含用于创建和管理测试、测试类、创建和存储数据的方法、代码覆盖率等的工具。
手动测试执行
大多数组织从手动测试执行开始,因为它设很容易,只需简单培训就可以参与其中。手动测试执行的问题在于它不能扩展,可能是重复的,容易出错,并且随着时间的推移通常会导致测试债务和未管理的风险。
探索性测试
区分手动测试执行和探索性测试很重要。尽管探索性测试是一个手动过程,但它比脚本更具创造性和技术性。
开源工具
Selenium是用于Web应用程序测试的首选开源框架。它被广泛使用,并且拥有一个组织良好的社区。但是,由于Salesforce平台的更新频率,熟练程度和测试需要相对较高的技能水平,尤其是在Salesforce环境中,需要的维护次数超过平均水平。
商业测试工具
可用的商业工具多种多样,具体选择取决于组织。商业测试工具主要分为:
通用Web应用程序测试;
具有Salesforce功能的通用Web应用程序测试;
为Salesforce定制的测试工具。
充分利用测试资源
当组织开始测试自动化之旅时,需要充分利用测试资源:
在制定测试自动化计划时,需要注意Context。测试技能、工具、DevOps流程水平和发布质量都将发挥作用。
收集需求,确定业务风险领域,选择目标。
制定、记录和社会化测试计划,根据需要更新和重复测试。
注意测试工作量和业务风险比率。不要在低业务风险的领域开发和维护测试上花费过多时间。
避免测试孤岛。让整个团队在一开始就参与进来,QA、开发人员和业务分析师之间共享测试文化。
- END -