Salesforce 测试教程(什么是 Salesforce 测试、流程、最佳实践、工具)
Salesforce
Salesforce 是第一个基于云的客户关系管理系统 (CRM 系统)。它于 1999 年由 Marc Benioff 和 Parker Harris 首次开发。开发此系统的目的是帮助用户轻松且经济地销售、服务、营销、分析并与客户建立联系。
Salesforce 为我们提供了从想法到实际应用程序或软件的最快途径。它帮助我们专注于我们的产品,使用 Salesforce 工具,而不是自己构建工具和其他基础设施。因此,它节省了我们多年的时间和大量的金钱。
传统的 CRM 系统通常需要整整一年甚至更长时间才能部署,而 Salesforce 则只需几个月甚至几周时间。它易于使用,我们可以花更多时间使用它,而花更少时间去了解它。由于易于使用并且可以定制以满足业务需求,Salesforce 变得非常有效。
只要我们有互联网访问权限,就可以在任何地方使用 Salesforce,因为它位于云端。此外,它可以轻松地与第三方应用程序集成。例如,我们可以将 Salesforce 与 Gmail 集成,可以将其与我们的会计软件集成等。而对于传统的 CRM 系统,集成则变得困难。考虑到其广泛的功能,它是经济实惠的。
Salesforce.com (SFDC) 为其用户提供各种标准功能,有助于管理与客户的关系。它还有助于与员工、业务合作伙伴和其他利益相关者互动和协作,以安全地将数据存储在云中。
Salesforce 测试
使用 Salesforce,我们可以自定义许多开箱即用的功能以满足公司的需求。我们执行 Salesforce 测试以验证在 Vanilla SFDC 中执行的配置和自定义。它确保增强功能和功能更新不会使 Salesforce 环境的其他元素失效。
我们在 Salesforce 测试中面临的挑战之一是确保测试团队正在检查已自定义的软件代码,而不是内置的 Salesforce 功能。Salesforce CRM 是在称为 APEX(高级编程体验)的平台开发语言上开发的,它为开发人员提供了各种内置单元测试用例来验证软件代码。
Salesforce 测试的必要性
它允许我们检查配置和软件代码是否正常工作。
它有助于验证已完成的系统是否支持客户的业务流程。
它有助于确保系统的初始构建满足指定的 requirements。
它有助于尽早发现缺陷或错误,以便可以轻松修复。
它根据测试用例的状态提供功能流程报告。这有助于我们创建功能流程以确定软件的功能。
流程构建器功能有助于检查软件的工作和行为。
工作流能够确定基于时间的事件的功能。
Salesforce 测试的类型
手动测试 - 这包括使用传统方法测试 Salesforce.com 应用程序。在 Salesforce 测试中,测试团队执行功能测试、集成测试、回归测试和系统测试。
自动化测试 - 这涉及使用计算机程序测试 salesforce.com 或 force.com 应用程序。自动化测试工具包括 Selenium、Assure Click、Cucumber、UFT(统一功能测试)等。
Salesforce 中的测试级别
单元测试 - 此测试由 APEX 开发人员执行。它涉及编写自动测试其覆盖范围的子句。它有助于确定有多少记录受到影响,以便软件代码可以在该环境中成功运行。为了能够将 APEX 代码部署到生产环境,代码覆盖率至少应为 78%。
系统测试 - 它由 Salesforce 顾问团队执行。它涉及测试系统的技术流程。测试脚本基于特定输出。它帮助我们解决系统中自动化规则的问题,例如工作流、验证、分配等。
UAT(用户验收测试)测试 - 它由应用程序或软件的用户执行。它允许测试系统支持各种业务流程的能力。它涉及基于业务中发生事件的测试脚本。客户必须确认所需的输出,以便系统适合其用途。
生产测试 - 它类似于在生产环境中执行的系统测试。此测试允许我们测试配置和软件代码是否已从沙盒正确部署到生产环境。如果在发布产品之前有时间,客户应在部署后重新运行 UAT 脚本。
回归测试 - 执行此测试是为了确定软件代码和配置版本是否会影响系统的现有用户流程。它在增强功能或修复程序部署到生产环境后执行。用户提供可能影响当前流程的所有更改的列表。
Salesforce 测试流程
Salesforce 的测试流程与任何其他普通 Web 应用程序非常相似。测试团队必须清楚地了解在测试期间构建的可自定义功能。这有助于我们强调自定义代码而不是内置的 Salesforce 功能。
开发人员和测试人员出于各自的目的使用沙盒环境。经过测试的代码从沙盒环境部署到生产环境。在 Salesforce 测试中,通常假设测试团队对 Salesforce 中涉及的常用术语具有基本知识和理解。
Salesforce 测试中的挑战
Salesforce 测试过程并非易事。测试团队在过程中面临许多挑战。其中一些是 -
测试高级功能并不容易,例如 Visualforce、Salesforce 或 Service Cloud Console 等。
我们必须为 Lightning UI 重新创建所有传统测试。
即使某些标准功能未使用,也不能删除。
切换到测试环境时,GUI(图形用户界面)测试不起作用。
自动化测试必须在所有测试环境中都能运行。
由于组织方面字段 ID 的差异,我们在为 Salesforce 屏幕创建字段定位器时会遇到问题。
Salesforce 测试的最佳实践
像真实用户一样运行测试。
准备测试数据以验证功能报告。
确保测试方法包括功能测试、UI 测试、回归测试和集成测试。
更多关注 Visualforce 页面的动态特性,因为网页的所有元素可能不会同时加载。
应使用 Selenium 和 UFT(统一功能测试)等工具进行自动化测试。
测试人员应定义包含正向流程和负向流程的内容。
借助工作流构建和测试用户角色。
Salesforce 测试人员的职责
他们应该能够执行冒烟测试,以确保所有主要功能都按规范运行。
他们必须创建正面和负面的测试场景。
他们必须执行等价划分分析以及边界值分析。
他们必须研究软件并了解其功能,以便创建功能映射。
测试团队必须与开发团队建立沟通渠道。
他们必须清楚地了解可以为 Salesforce 软件构建的可自定义功能。
他们必须执行基于角色的测试,以确保数据一致。
如果Salesforce测试与第三方应用程序集成,则必须执行兼容性测试。
他们应该具备负载测试工具的基本概念和理解,这些工具用于验证复杂的流程,这些流程可能会在Salesforce中产生不一致的结果。
他们必须具备APEX的知识。
Salesforce测试自动化工具
在Salesforce中执行自动化的功能测试非常具有挑战性,因为大多数网页都是动态的。这就是为什么我们需要创建一个强大且未来可用的自动化框架。
一些广泛使用的Salesforce测试工具包括:
- UFT
- Cucumber
- Force.com IDE
- 变更集 (Change sets)
- Ant/Force.com迁移工具
- Workday
使用Salesforce测试工具的好处
节省75%的时间和25%的成本。
提供更好的APEX测试执行,以及详细的测试覆盖率和覆盖率报告。
行业领先的自动化工具,如Selenium和JMeter,可以带来优势。
我们可以为各种环境和浏览器自动生成测试。
我们可以轻松地录制和回放录制的测试。
这些工具有助于自动化部署前和部署后的任务。
我们可以将数据与测试脚本分离,并改进多个数据集。
结论
Salesforce是第一个基于美国旧金山的云端CRM系统。它用于验证在Vanilla SDFC中执行的配置和定制。此测试验证最终产品是否满足客户的业务流程。
Salesforce拥有一个专门的开发人员和测试人员社区。它可以与Web浏览器一起使用,无需安装额外的硬件或软件,因此成为组织的理想选择。
执行Salesforce测试的主要挑战是确保我们检查的是定制内容,而不是内置的SDFC功能。Salesforce测试的不同级别包括:单元测试、系统测试、UAT测试、生产测试和回归测试。Salesforce测试的另一个挑战是,我们必须为Lightning UI重新创建所有经典测试。