Salesforce 测试教程
什么是Salesforce?
Salesforce是全球首个基于云的CRM系统,由Marc Benioff和Parker Harris于1999年XNUMX月创立,开发这个CRM平台的目的是帮助用户以经济实惠的方式轻松销售、服务、营销、分析和联系客户。
SFDC (Sales Force Dot Com) 拥有许多标准功能,可帮助您管理与潜在客户和客户的关系。它还允许您与员工和业务合作伙伴互动和协作,以将他们的数据安全地存储在云中。
Salesforce CRM 是基于一种名为 APEX 的平台开发语言构建的。Salesforce 测试允许您检查配置和代码是否正常运行。这款 CRM 让我能够提高客户忠诚度、保留率和满意度,旨在建立持久的联系。
什么是 Salesforce 测试?
Salesforce 的一大优点是,许多现成的功能都可以根据公司的需求进行定制。Salesforce 测试是对在 vanilla SDFC 中执行的配置和定制的验证。
挑战在于确保测试人员检查已定制的代码,而不是测试内置的 Salesforce 功能。
SalesForce CRM 建立在名为 顶尖。它还提供了许多内置的单元测试用例,供开发人员验证他们的代码。
为什么要进行 Salesforce 测试?
让我解释一下我认为 Salesforce 测试必要的主要原因:
- Salesforce 测试允许您检查配置和代码是否正常。
- 它可以帮助您验证完成的系统是否可以支持客户的业务流程。
- 这种类型的测试可以帮助您确认系统的初始构建是否符合商定的要求。
- 它可以帮助您尽早发现问题,以便于修复。
- 功能流程根据测试用例的状态进行报告。这允许团队创建功能流程来确定应用程序的功能。
- 进程生成器功能可帮助您检查系统的工作状况和行为。
- 工作流允许您检查基于时间的事件的功能。
Salesforce 术语
- 视觉力量: 该框架允许开发人员使用基于标签的标记语言(类似于 HTML)构建自定义用户界面。
- AppExchange: Salesforce 的在线市场,用户可以在这里发现和安装适用于 Salesforce 环境的自定义应用程序和扩展。
- 顶尖: 一种强类型、面向对象的编程语言,用于在 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 功能。
开发人员和测试人员应将 Sandbox 环境(测试环境)用于各自的目的。在 Sandbox 环境中测试的代码将从 Sandbox 环境部署到生产环境。假定 QA 测试人员具有 Salesforce 中使用的术语的基本知识和理解。
Salesforce 测试挑战
Salesforce 测试不是一个简单的过程。测试人员在此过程中面临许多挑战。其中一些是:
- 测试 Visualforce、Salesforce 或 Service Cloud Console 等高级功能很困难。
- 您需要为 Lightning UI 重新创建所有经典测试。
- 某些标准功能虽然未使用,但无法删除。
- 当我们切换到测试环境时,GUI 测试不起作用。
- 自动化测试应该能够在所有测试环境中运行。
- 为 Salesforce 屏幕创建字段定位器时出现问题,因为某些字段 ID 在不同的组织之间有所不同。
Salesforce 测试的最佳实践
- 作为真实用户配置文件运行测试。
- 应该准备测试数据来验证报告功能。
- 测试方法必须包括功能测试、UI测试、回归测试和系统集成测试。
- 视觉力页面的动态特性需要特别注意,因为网页的所有元素可能不会同时加载。
- 自动化测试应该使用以下工具进行: Selenium 以及 HP 统一功能测试。
- 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 测试。
2) 质检狼
质检狼 通过在短短几周内实现 80% 的自动化端到端测试覆盖率,确保可靠且快速的结果,彻底改变了 Salesforce 测试。与需要大量时间和资源的传统 QA 解决方案不同,QA Wolf 保证零测试失误,并提供完全并行的测试基础架构,无需额外费用。这使得在 Salesforce 上构建的团队能够提高开发人员的工作效率、加快发布速度并显著降低运营成本。
特色:
- 测试框架: QA Wolf 使用自己的测试框架,该框架建立在 Microsoft的剧作家。与 QA Wolf 的合作包括让您的整个团队完全访问他们的平台,其中包括无限制的测试运行。
- 24小时测试维护: QA Wolf 将维护您的整个测试套件,这样您就不必再亲自维护了。不稳定测试将得到维护,这样您就不会收到误报,并且可以继续自信地发货。
- 人工验证的错误报告: 其团队昼夜不停地检查每一次测试失败,并且只报告实际的错误。
- CI/CD 集成: CI/CD 集成非常适合协作和解决问题。我可以在 Slack 或 Teams 与 QA Wolf 团队沟通。
为什么要使用 Salesforce 测试工具
- 它可以帮助您节省 75% 的时间和 25% 的测试自动化成本。
- 提供更好的 Apex 测试执行、详细的测试覆盖率和类覆盖率报告。
- 您可以利用行业领先的自动化工具,例如 Selenium 和 JMeter.
- 自动生成适用于不同环境和多种浏览器的测试场景。
- 无缝记录和回放您记录的测试用例。
- 它可以帮助您自动执行所有类型的部署前和部署后任务。
- Salesforce 测试流程将数据与测试脚本分离,并允许您使用多个数据集进行增强。
Salesforce 测试场景示例
- 测试用例 01: 您可以获取潜在客户/客户的联系信息。
- 测试用例 02: 联系人可以被标记为活跃/非活跃。
- 测试用例 03: 任何公司都可以被标记为客户或潜在客户。
- 测试用例 04: 可以借助网络表单来捕获线索。
- 测试用例 05: 报价中的价格不能为零。
- 测试用例 06: 交易完成后应发送电子邮件。如有退回的电子邮件,应予以处理。
- 测试用例 07: 与第三方软件的集成应该可以正常工作。
- 测试用例 08: Bill服务应该可以按预期运行。
- 测试用例 09: 联系人、机会和销售线索管理中没有重复的记录。
- 测试用例 10: 移动工作流程按预期运行。
- 测试用例 11: 未经授权的用户不得访问文件。
Salesforce 测试:客户挑战
客户总是对 Salesforce 测试感到紧张,因为他们可能不知道如何正确进行测试。因此,他们产生了与现实截然不同的误解。
这里是其中的一些:
客户端问题 | 解决方案 |
---|---|
不知道如何使用 Salesforce 系统。 | 客户需要测试他们的流程,而不是系统的功能。 |
如果系统内没有所有的数据,我们就无法进行测试。 | 他们只需要一些样本记录来测试。 |
我没有空闲时间来测试和管理我的日常工作。 | 他们应该在设计和构建阶段与 PM 保持联系并定期进行电话检查。 |
结语
- Salesforce 是世界上第一个基于云的 CRM 系统。
- Salesforce 测试验证了在 vanilla SDFC 中执行的配置和定制。
- Salesforce 测试可帮助您验证完成的系统是否可以支持客户的业务流程。
- SalesForce 测试的最大挑战是确保您正在测试定制而不是内置的 SDFC 功能。
- Salesforce 测试的重要级别是单元测试、系统测试、UAT 测试、生产测试和回归测试。
- Salesforce 测试的最大挑战是您需要为 Lightning UI 重新创建所有经典测试。
- Salesforce 测试人员应该以真实用户配置文件的形式运行测试。
- Salesforce 应该能够进行冒烟测试,以确保所有主要功能都按照要求运行。
- Selenium Web 驱动程序、HP 统一功能测试 (UFT) 和 Cucumber 是一些重要的 Salesforce 测试工具。