Salesforce 测试教程
什么是 Salesforce?
Salesforce 是世界上第一个基于云的 CRM 系统。它由 Marc Benioff 和 Parker Harris 于 1999 年 3 月创立。开发此 CRM 平台的目的是帮助用户以经济实惠且简单的方式销售、服务、营销、分析并与客户建立联系。
SFDC (Sales Force Dot Com) 具有许多标准功能,可帮助您管理与潜在客户和现有客户的关系。它还允许您与员工和业务合作伙伴互动和协作,将其数据安全地存储在云中。
Salesforce CRM 是基于名为 APEX 的平台开发语言构建的。Salesforce 测试允许您检查配置和代码是否正常运行。这个 CRM 帮助我提高了客户忠诚度、留存率和满意度,旨在建立持久的联系。
什么是 Salesforce 测试?
Salesforce 的一大优点是,许多开箱即用的功能都可以根据公司的需求进行定制。Salesforce 测试是对原生 SFDC 中执行的配置和定制的验证。
挑战在于确保测试人员正在检查已定制的代码,而不是测试内置的 Salesforce 功能。
SalesForce CRM 是基于名为 APEX 的平台开发语言构建的。它还为开发人员提供了许多内置的单元测试用例来验证他们的代码。
为什么要进行 Salesforce 测试?
让我解释一下我认为 Salesforce 测试是必要的几个主要原因
- Salesforce 测试允许您检查配置和代码是否正常运行。
- 它帮助您验证最终系统是否可以支持客户的业务流程。
- 此类测试帮助您确认系统的初始构建符合商定的要求。
- 它帮助您及早发现问题,因为这些问题很容易修复。
- 根据测试用例的状态报告功能流。这允许团队创建功能流以确定应用程序的功能。
- 流程构建器功能可帮助您检查系统的工作状态和行为。
- 工作流允许您检查基于时间的事件的功能。
Salesforce 术语
- VisualForce: 一个框架,允许开发人员使用类似于 HTML 的基于标签的标记语言构建自定义用户界面。
- AppExchange: Salesforce 的在线市场,用户可以在其中发现并安装 Salesforce 环境的自定义应用程序和扩展。
- Apex: 一种强类型、面向对象的编程语言,用于在 Salesforce 平台上执行流和事务控制语句。
Salesforce 测试类型
手动测试
手动软件测试过程包括使用传统方法测试 Salesforce.com 应用程序。QA 团队可以使用手动测试来执行功能测试、正常路径测试、集成测试、回归测试和系统测试。
自动化测试
自动化测试涉及使用计算机程序测试 Salesforce.com 或 Force.com 应用程序。使用 Selenium、Assure Click、QTP 等自动化测试工具。
Salesforce 中的测试级别
在 Salesforce 测试教程中,我们将探讨通常适用于 Salesforce 的以下测试级别
单元测试
- 单元测试过程由 Apex 开发人员执行。它涉及在他们的代码中编写子句,这些子句会自动测试其覆盖率。
- 它帮助您评估有多少数据记录受到影响,以便代码在该环境中成功运行。
- 要将 Apex 代码部署到生产环境,您的代码覆盖率应至少为 78%。
系统测试
- 它由 Salesforce 顾问专家团队执行。
- 涉及从头到尾测试系统的技术流程。
- 涉及基于特定输出的测试脚本。
- 它允许您排除自动化系统规则(例如工作流、验证、分配等)的问题。
UAT 测试
- 由将使用应用程序的用户执行
- 允许测试系统支持业务流程的能力
- UAT 测试遵循基于业务实际情况的测试脚本
- 预期结果应是客户确认系统符合预期目的
生产测试
- 这是生产环境中系统测试的重复
- Salesforce 中的产品测试允许您测试配置和代码是否已从沙盒正确部署到生产环境
- 如果在最终项目启动前还有时间,则客户应在部署后再次运行 UAT 脚本
回归测试
- 回归测试的主要目的是确定代码和配置发布是否会影响系统现有的用户流程。
- 一旦增强或修复部署到生产环境,将执行此操作。
- 用户提供可能影响其当前流程的更改列表。
Salesforce 测试流程
Salesforce 的测试流程与任何普通的基于 Web 的应用程序相同。测试人员应对在测试过程中构建的可定制功能有清晰的认识。这有助于他们专注于定制代码,而不是内置的 Salesforce 功能。
开发人员和测试人员应为各自的目的使用沙盒环境(测试环境)。沙盒环境中测试的代码将从沙盒环境部署到生产环境。假设 QA 测试人员对 Salesforce 中使用的术语有基本的知识和理解。
Salesforce 测试挑战
Salesforce 测试并非易事。测试人员在过程中面临许多挑战。其中一些是
- 测试 Visualforce、Salesforce 或 Service Cloud Console 等高级功能很困难。
- 您需要为 Lightning UI 重新创建所有经典测试。
- 一些标准功能,即使未使用,也无法删除。
- 当我们切换到测试环境时,GUI 测试不起作用。
- 自动化测试应该能够在所有测试环境中运行。
- 在为 Salesforce 屏幕创建字段定位器时出现问题,因为某些字段 ID 在不同的组织之间有所不同。
Salesforce 测试的最佳实践
- 以真实用户配置文件的身份运行测试。
- 应准备测试数据以验证报告功能。
- 测试方法必须包括功能测试、UI 测试、回归测试和系统集成测试。
- 应特别注意 Visualforce 页面的动态特性,因为网页的所有元素可能不会同时加载。
- 应使用 Selenium 和 HP Unified Functional Testing 等工具执行自动化测试。
- Salesforce 测试人员应考虑哪些流包括正面和负面流。
- 必须使用工作流构建和测试用户角色。
Salesforce 测试人员的角色和职责
Salesforce 测试人员的重要角色和职责是
- 应能够进行冒烟测试,以确保所有主要功能都按要求运行。
- 创建正面和负面测试场景。
- 能够执行等价分区和边界值分析。
- 测试人员还需要在应用程序上工作并了解其功能以创建功能图。
- 测试人员应与开发团队保持轻松的沟通渠道。
- 他应该了解可以为 Salesforce 应用程序构建的可定制功能。
- 测试人员需要执行基于角色的测试用例,以确保数据的一致性。
- 如果 Salesforce 与第三方应用程序集成,他还应执行兼容性测试。
- Salesforce 测试人员应熟悉 JMeter 等负载测试工具,以验证复杂的流,这些流在 Salesforce 中可能会提供不一致的结果。
- 了解 Apex。
SalesForce 自动化测试工具
在 SalesForce 中执行自动化功能测试具有挑战性,因为大多数测试网页都是动态的。因此,测试人员需要构建一个健壮的自动化框架,该框架应在现在和将来都可用。
下面,我列出了我推荐的广泛使用的 Salesforce 测试工具。
1) Tricentis Salesforce 自动化测试
我特别赞赏 Tricentis Salesforce 自动化测试 如何加速 Salesforce 环境中弹性 UI 测试的开发。它的智能定位器由 AI 驱动,可自愈并自动改进,从而最大限度地减少维护并确保测试稳定性。
功能
- 端到端场景验证: 客户可以验证其从 Web 应用程序到 Salesforce 再返回的完整端到端场景。
- 敏捷团队可扩展性: 具有混合技能组合的敏捷团队通过有助于控制和管理测试和团队增长的功能,高效地扩展其测试操作。
- 用于验证的 Apex 代码执行: 在测试步骤中运行 Apex 代码以验证查询结果。
- API 测试集成: 集成 API 测试。
为什么要使用 Salesforce 测试工具
- 它可以帮助您节省 75% 的时间并节省 25% 的测试自动化成本。
- 提供更好的 Apex 测试执行、详细的测试覆盖率和类覆盖率报告。
- 您可以利用 Selenium 和 JMeter 等行业领先的自动化工具。
- 自动生成测试场景,以便在不同的环境和多个浏览器中运行。
- 无缝录制和回放您录制的测试用例。
- 它帮助您自动化所有类型的部署前和部署后任务。
- Salesforce 测试过程将数据与测试脚本分离,并允许您使用多个数据集进行增强。
Salesforce 测试场景示例
- 测试用例 01: 您可以捕获潜在客户/客户的联系信息。
- 测试用例 02: 联系人可以标记为活动/非活动。
- 测试用例 03: 任何公司都可以标记为客户或潜在客户。
- 测试用例 04: 可以借助 Web 表单捕获潜在客户。
- 测试用例 05: 报价中的价格不能为零。
- 测试用例 06: 交易结束后应发送电子邮件。如果存在退回的电子邮件,应进行处理。
- 测试用例 07: 与第三方软件的集成应正常工作。
- 测试用例 08: 计费服务应按预期工作。
- 测试用例 09: 联系人、机会和潜在客户管理中没有重复记录。
- 测试用例 10: 移动工作流按预期工作。
- 测试用例 11: 未经授权的用户不得访问文件。
Salesforce 测试:客户挑战
客户总是对 Salesforce 测试感到紧张,因为他们可能不知道如何正确进行。因此,他们有一个与现实截然不同的误解。
以下是一些
客户问题 | 解决方案 |
---|---|
不知道如何使用 Salesforce 系统。 | 客户需要测试他们的流程,而不是系统的功能。 |
如果系统中没有所有数据,我们就无法测试。 | 他们只需要一些样本记录进行测试。 |
我没有空闲时间进行测试和管理我的日常工作。 | 他们应该在设计和构建阶段与项目经理保持联系并定期进行签到电话。 |
结论
- Salesforce 是世界上第一个基于云的 CRM 系统。
- Salesforce 测试验证了在原生 SFDC 中执行的配置和定制。
- Salesforce 测试帮助您验证最终系统是否可以支持客户的业务流程。
- SalesForce 测试的最大挑战是确保您正在测试定制,而不是内置的 SFDC 功能。
- Salesforce 测试的重要级别是单元测试、系统测试、UAT 测试、生产测试和回归测试。
- Salesforce 测试的最大挑战是您需要为 Lightning UI 重新创建所有经典测试。
- Salesforce 测试人员应以真实用户配置文件的身份运行测试。
- Salesforce 应该能够进行冒烟测试,以确保所有主要功能都按要求运行。
- Selenium Web Driver、HP Unified Functional Testing (UFT) 和 Cucumber 是几个重要的 Salesforce 测试工具。