Salesforce 测试入门教程
⚡ 智能摘要
Salesforce 测试解释了 QA 团队如何在世界领先的云 CRM 中验证自定义 Apex 代码、Lightning UI 流程、集成和 Einstein AI 功能,同时避免在沙箱中测试内置平台行为的陷阱。

什么是Salesforce?
Salesforce是全球首个基于云的客户关系管理系统。它由马克·贝尼奥夫和帕克·哈里斯于1999年3月创立。该CRM平台的目的是帮助用户以经济高效的方式,通过各种渠道向客户进行销售、服务、营销、分析和联系。
Salesforce (SFDC) 提供一系列标准功能,可帮助您管理与潜在客户和现有客户的关系。它还支持您与员工和合作伙伴互动协作,同时将数据安全地存储在多租户云环境中。如今,SFDC 涵盖销售云、服务云、营销云、数据云以及为生成式人工智能功能提供支持的 Einstein 1 平台。
Salesforce CRM 是基于一种名为 APEX 的平台开发语言构建的。Salesforce 测试允许您检查配置和代码是否正常运行。这款 CRM 让我能够提高客户忠诚度、保留率和满意度,旨在建立持久的联系。
什么是 Salesforce 测试?
Salesforce 的一大优势在于,大多数开箱即用的功能都可以根据公司的需求进行定制。Salesforce 测试是对在原生 Salesforce 环境中进行的配置和定制进行验证,包括 Apex 类、Lightning Web 组件、流程、流程构建器和集成。
挑战在于确保测试人员检查的是自定义代码,而不是 Salesforce 在其信任和发布流程中已经涵盖的内置 Salesforce 功能。
Salesforce CRM 构建于一种名为平台语言的平台上。 顶点前端部分则采用了 Lightning Web Components (LWC)。该平台内置单元测试框架,方便开发者在部署前验证代码。
为什么要进行 Salesforce 测试?
以下是我认为Salesforce测试必不可少的主要原因:
- 每次沙箱刷新后,它都会检查配置和 Apex 代码是否正常运行。
- 它验证了最终系统是否能够端到端地支持客户的业务流程。
- 它确认初始版本符合上线前商定的要求。
- 它能及早发现问题,在问题容易且成本低廉的时候进行修复。
- 基于测试用例状态的功能流程报告有助于团队绘制应用程序功能图。
- 可以验证流程构建器和流程构建器功能的工作条件和行为。
- 工作流允许您验证基于时间的事件(例如升级规则)的功能。
Salesforce 术语
- 闪电体验: 当前默认的 Salesforce 用户界面基于 Lightning Web Components 构建;Salesforce Classic 正在逐步淘汰,大多数组织正在迁移到 Lightning。
- 视觉力量: 一个用于构建自定义 UI 的旧版框架,它使用类似于 HTML 的基于标签的标记语言,仍然支持旧版自定义。
- AppExchange: Salesforce 的在线市场,用户可以在这里发现和安装自定义应用程序和扩展程序。
- 顶尖: 一种强类型、面向对象的语言,用于在 Salesforce 平台上执行流程和事务控制语句。
- Einstein 1 平台 / Agentforce: Salesforce 的 AI 层用于预测和生成功能以及自主代理,这些功能也必须经过质量保证部门的验证。
Salesforce 测试的类型
手动测试
手动软件测试涵盖使用传统方法对 Salesforce.com 应用程序进行测试。质量保证团队可以使用手动测试来执行 Lightning Experience 和 Salesforce Mobile 的功能测试、正常流程测试、集成测试、回归测试和系统测试。
自动化测试
自动化测试使用程序来测试 Salesforce.com 或 Force.com 应用程序。常用的自动化工具包括: Selenium、Provar、Copado 机器人测试、 Tricentis Salesforce 的测试自动化以及 Testsigma。现代技术栈越来越多地添加 AI 驱动的自愈定位器,以吸收 Lightning DOM 的变化。
Salesforce 中的测试级别
在本 Salesforce 测试教程中,通常适用以下几个级别:
单元测试
- 由 Apex 开发人员执行,他们编写测试方法来测试他们的类和触发器。
- 它会评估有多少数据记录受到影响,以确保代码在目标环境中可靠运行。
- 要将 Apex 代码部署到生产环境中,您的整体代码覆盖率必须至少达到 75%,并且每个触发器必须至少有 1% 的覆盖率。
系统测试:
- 由 Salesforce 顾问团队执行。
- 从头到尾测试系统的技术流程。
- 使用基于特定预期输出的测试脚本。
- 排查自动化规则(例如工作流、验证、分配和审批流程)的问题。
UAT 测试:
- 由每天使用该应用程序的业务用户进行调查。
- 测试系统支持业务流程的能力。
- 遵循基于真实业务场景的测试脚本。
- 期望获得客户的签字确认,证明该系统符合预期用途。
生产测试:
- 在生产环境中重复进行系统测试。
- 验证配置和代码是否已从沙箱正确部署到生产环境。
- 如果上线前时间允许,客户应在部署后再次运行 UAT 脚本。
回归测试:
- 的主要目标 回归测试 目的是确定新版本是否会影响现有用户进程。
- 每次功能增强、修复或 Salesforce 季节性版本(春季、夏季、冬季)发布后都会运行。
- 用户提供一份可能影响当前流程的变更列表,以便重新验证受影响的流程。
Salesforce 测试流程
Salesforce 的测试流程与任何基于 Web 的应用程序的测试流程类似。测试人员需要清楚地了解项目期间构建的可定制功能,以便将重点放在定制代码上,而不是 Salesforce 的内置功能上。
开发人员和测试人员应使用沙盒环境(开发人员、开发人员专业版、部分副本、完整版)进行各自的测试。沙盒环境中经过测试的代码将通过变更集、Salesforce DX 或 Copado 和 Gearset 等 DevOps 工具部署到生产环境。我们假定 QA 测试人员在加入项目之前已了解 Salesforce 的核心术语。
Salesforce 测试挑战
Salesforce 测试并非易事。测试人员面临诸多挑战,包括:
- 测试 Lightning Web Components、Visualforce、Service Cloud Console 和 Experience Cloud 站点等高级功能非常复杂。
- 团队经常需要为 Lightning Experience 和 Salesforce 移动应用程序重新创建或重构旧版 Classic 测试。
- 即使不使用某些标准功能,也无法将其移除。
- 当沙盒环境刷新或季节性版本发布时,UI 测试可能会失败。
- 自动化测试必须在所有沙箱环境中保持一致的运行方式。
- 构建稳定的字段定位器很困难,因为 Salesforce 元素 ID 在各个组织之间不同,并且每次发布都会发生变化。
- 验证人工智能功能(例如 Einstein 预测和 Agentforce 代理)需要新的数据驱动和提示驱动的方法。
Salesforce 测试的最佳实践
- 使用真实用户配置文件和权限集运行测试。
- 准备测试数据,以验证报告和仪表盘的功能。
- 在每个版本发布周期中,都要结合功能测试、用户界面测试、回归测试和系统集成测试。
- 请特别注意 Lightning 和 Visualforce 页面的动态特性,因为元素可能不会同时加载;请使用显式等待。
- 自动化应该使用诸如此类的工具来完成。 Selenium普罗瓦尔 Tricentis或者 Testsigma,与自愈定位器配合使用。
- 在每个测试场景中都要涵盖正向和负向流量。
- 在测试数据中构建用户角色、配置文件和权限集,以便可以针对每个角色验证工作流程。
Salesforce 测试员的角色和职责
Salesforce测试人员的重要角色和职责包括:
- 进行冒烟测试,以确认所有主要功能均按要求运行。
- 创建阳性和阴性测试场景。
- 进行等价类划分和边界值分析。
- 使用应用程序了解其功能并构建功能图。
- 与开发团队保持畅通的沟通渠道。
- 了解 Salesforce 组织内置的可自定义功能。
- 执行基于角色的测试用例,以确保数据一致性。
- 在 Salesforce 与第三方应用程序集成时执行兼容性测试。
- 熟悉负载测试工具,例如 JMeter 验证可能产生不一致结果的复杂流程。
- 熟悉 Apex、SOQL 和 Lightning 组件。
Salesforce 测试自动化工具
在 Salesforce 中执行自动化功能测试极具挑战性,因为大多数测试页面都是动态的。测试人员需要构建一个强大的自动化框架,既能满足当前需求,又能适应未来的版本更新。
下面,我列出了我推荐的广泛使用的 Salesforce 测试工具。
1) Tricentis Salesforce 的测试自动化
我特别欣赏 Tricentis Salesforce 的测试自动化 它加速了 Salesforce 环境中弹性 UI 测试的开发。其智能定位器由 AI 驱动,能够自动自我修复和改进,从而最大限度地减少维护工作,并确保 Lightning 版本间的测试稳定性。
特色:
- 端到端场景验证: 客户可以验证从其 Web 应用程序到 Salesforce 再返回的完整端到端场景。
- 敏捷团队可扩展性: 技能组合各异的敏捷团队可以通过各种功能高效地扩展测试操作,这些功能可以帮助他们控制和管理测试和团队的增长。
- 顶点 Code 执行验证: 在测试步骤中运行 Apex 代码来验证查询结果。
- API 测试集成: 将 API 测试与 UI 流程无缝集成。
2) 测试sigma
测试sigma 是一个无需编写代码的测试自动化平台,它简化了 Salesforce 测试,而无需深入学习 Apex 或其他技术。 Selenium 专业性。我发现它直观的测试设计方法对于在变更或部署后验证标准和自定义 Salesforce 配置的团队来说尤其有效,消除了传统脚本框架的复杂性。
特色:
- CodeSalesforce UI 流程自动化程度较低: 使用类似英语的简单步骤构建 Salesforce 测试,无需编写 Apex 代码。 Selenium 代码。我曾用它来帮助团队成员快速上手,这些成员的技术背景各不相同。
- 自定义对象和工作流测试: 对自定义对象、工作流和集成测试提供全面支持。这帮助我确保平台更新后,组织特定的配置能够正常运行。
- 数据驱动测试能力: 系统地测试不同的用户角色、配置文件和数据集。我发现这对于验证不同权限级别下的行为至关重要。
- 端到端场景覆盖: 支持包含 Salesforce 以及外部应用程序或 API 的全面端到端场景。
- 详细报告和调试日志: 生成全面的报告和日志,以便快速识别 Salesforce 变更引入的问题。
14天免费试用
为什么要使用 Salesforce 测试工具
- 它们可以帮助您节省高达 75% 的测试时间和相当一部分自动化成本。
- 它们提供更好的 Apex 测试执行、详细的测试覆盖率和类覆盖率报告。
- 您可以利用行业领先的自动化工具,例如 Selenium 和 JMeter.
- 自动生成适用于不同环境和多种浏览器的测试场景。
- 无缝录制和回放测试用例。
- 实现所有类型的部署前和部署后任务的自动化。
- 从测试脚本中提取数据,并用多个数据集对其进行增强。
Salesforce 测试场景示例
- 测试用例 01: 收集潜在客户或现有客户的联系信息。
- 测试用例 02: 联系人可以标记为活跃或不活跃。
- 测试用例 03: 可以将公司标记为客户或潜在客户。
- 测试用例 04: 可以通过网页表单获取销售线索。
- 测试用例 05: 报价单上的价格不能为零。
- 测试用例 06: 交易完成后会发送电子邮件;退回的电子邮件会进行处理。
- 测试用例 07: 与第三方软件集成运行正常。
- 测试用例 08: Billing 服务运行正常。
- 测试用例 09: 联系人、机会和销售线索管理中没有重复的记录。
- 测试用例 10: 移动工作流程在 Salesforce 移动应用上运行正常。
- 测试用例 11: 未经授权的用户无法访问文件或受限记录。
人工智能和爱因斯坦是如何成为雷沙的ping 销售团队测试
如今,人工智能已成为 Salesforce 内部一项至关重要的测试议题。Einstein 1 平台将预测评分、生成式回复和 Agentforce 自主代理引入 Sales Cloud 和 Service Cloud,而这些功能都需要各自的验证策略。测试人员应设计数据驱动的测试用例,以检验预测准确性、提示依据和防护机制,并结合传统的 UI 流程进行测试。
在工具方面,现代 Salesforce 自动化框架依赖于 AI 驱动的自愈定位器,它可以检测版本之间的 Lightning DOM 变化并自动修复选择器。 TricentisProvar、Copado Robotic Testing 和 Testsigma 都提供类似功能的解决方案。将它们与合成测试数据和视觉回归检查相结合,可以在不增加维护成本的情况下保持高覆盖率。
Salesforce 测试:客户挑战
客户往往对 Salesforce 测试感到紧张,因为他们可能不知道如何正确进行测试,这导致了一些与现实不符的误解。
这里是其中的一些:
| 客户端问题 | 解决方案 |
|---|---|
| 我不知道如何使用Salesforce系统。 | 客户需要测试他们的流程,而不是系统的功能。 |
| 如果系统里没有所有数据,我们就无法进行测试。 | 只需少量样本记录即可进行测试。 |
| 我没有空闲时间来测试,还要兼顾日常工作。 | 在设计和建造阶段,与项目经理保持联系,并定期参加进度汇报电话会议。 |




