什么是Salesforce?
Salesforce是全球首个基于云的CRM系统。开发这个CRM平台的目的是帮助用户以负担得起的价格,方便地销售、服务、营销、分析和联系客户。
SFDC(Sales Force Dot Com) 具有许多标准功能,可帮助管理与潜在客户和客户的关系。它还允许与员工和业务合作伙伴互动协作,将他们的数据安全地存储在云中。
在本教程中,将学习:
- 什么是Salesforce?
- 什么是Salesforce测试?
- 为什么要进行Salesforce测试?
- Salesforce测试的类型
- Salesforce中的测试级别
- Salesforce测试流程
- Salesforce测试挑战
- Salesforce测试的最佳实践
- Salesforce测试员的角色和职责
- Salesforce测试自动化工具
- Salesforce测试场景示例
- Salesforce测试挑战
什么是Salesforce测试?
Salesforce的一个伟大之处在于,许多开箱即用的功能都可以进行定制,以满足公司的需要。
Salesforce测试是对在普通SDFC中执行的配置和自定义的验证。
挑战在于确保测试人员检查已定制的代码,而不是测试内置的Salesforce功能。
Salesforce CRM构建在名为APEX的平台开发语言之上。它还为开发人员提供了许多内置的单元测试用例来验证代码。
为什么要进行Salesforce测试?
以下是进行Salesforce测试的主要原因:
- 检查配置和代码是否正常工作。
- 帮助验证完成的系统是否可以支持客户端的业务流程
- 帮助确认系统的初始构建满足商定的要求
- 帮助及早发现问题
- 基于测试用例状态的功能流报告,允许团队创建功能流以了解应用程序的功能
- 流程构建器功能可帮助检查系统的工作条件和行为
- 工作流允许检查基于时间的事件的功能
Salesforce测试的类型
手动测试:
手动软件测试流程包括使用传统方法测试Salesforce.com App。QA团队可以使用手动测试来执行功能测试、愉快路径测试、集成测试、回归测试和系统测试。
自动化测试:
自动化测试涉及测试Salesforce.com或Force.com应用程序的计算机程序。都是用过的。
Salesforce中的测试级别
以下测试级别通常适用于Salesforce
单元测试
- 单元测试过程由APEX开发人员执行,涉及在代码中编写子句,以自动测试其覆盖范围
- 可以帮助评估有多少数据记录受到影响,以便代码能够在该环境中成功运行。
- 要将Apex代码部署到生产环境中,代码覆盖率应该最低为78%
系统测试:
- 由Salesforce顾问的专家团队执行
- 涉及测试系统的技术流程
- 涉及基于特定输出的测试脚本
- 允许使用系统中的自动规则(如工作流、验证、分配等)对问题进行故障排除。
UAT测试:
- 它由将使用该应用程序的用户执行
- 允许测试系统支持业务流程的能力
- 根据业务中发生的情况遵循测试脚本进行UAT测试
- 所需的输出应该是客户端确认系统适合使用
生产测试:
- 它重复了生产环境中的系统测试
- Salesforce中的产品测试允许测试配置和代码是否已从沙箱正确部署到生产环境
- 如果在最终项目启动之前还有时间,那么客户端应该在部署后再次运行UAT脚本
回归测试:
- 回归测试的主要目的是测试代码和配置版本是否影响系统的现有用户进程
- 在增强功能或修复程序部署到生产环境后执行。
- 用户提供可能影响其当前流程的更改列表
Salesforce测试流程
Salesforce的测试流程与任何普通的基于Web的应用程序相同。测试人员应该有一个清晰的PER,有助于他们专注于代码,而不是内置的Salesforce功能。
开发人员和测试人员应该将沙箱环境(测试环境)用于各自的目的。假设QA测试员具备Salesforce中使用的术语的基本知识和理解。
Salesforce测试挑战
Salesforce测试并不是一个简单的过程。面临着许多挑战,其中一些是:
- 测试Visualforce、Salesforce或Service Cloud Console等高级功能并非易事。
- 需要为Lightning UI重新创建所有经典测试
- 某些标准功能虽然未使用,但无法删除
- 当切换到测试环境时,GUI测试不起作用
- 自动化测试应该能够在所有测试环境中工作
- 为Salesforce屏幕创建字段定位器时出现问题,因为组织之间的某些字段ID不同
Salesforce测试的最佳实践
- 以真实用户配置文件运行测试
- 应准备测试数据以验证报告功能
- 测试方法必须包括功能测试、UI测试、回归测试、系统集成测试
- 应特别注意视觉效果页面的动态性,因为网页的所有元素可能不是同时加载的
- 自动化测试应使用Selenium和HP Unified Functional Testing等工具执行
- Salesforce测试员应该考虑哪些包括正流和负流
- 必须使用工作流构建和测试用户角色
Salesforce测试员的角色和职责
Salesforce测试员的重要角色和职责包括:
- 够进行冒烟测试,以确保所有主要功能均按要求运行
- 创建正面和负面测试场景
- 能够进行等价划分和边值分析
- 需要在应用程序上工作,并了解其功能以创建功能图
- 应该与开发团队有一个容易沟通的渠道
- 了解可为Salesforce应用程序构建的可定制功能
- 需要执行基于角色的测试用例,以确保数据的一致性
- 还应执行兼容性测试,以防Salesforce与第三方应用程序集成
- Salesforce测试人员应该熟悉JMeter等负载测试工具,验证可能在Salesforce中提供不一致结果的复杂流
- 关于Apex的知识
Salesforce测试自动化工具
在Salesforce中执行自动化功能测试是一项具有挑战性的任务,因为大多数测试网页都是动态的。因此,测试人员需要构建健壮的自动化框架,这不仅对今天有用,而且在未来也是有用的。
下面给出了广泛使用的Salesforce测试工具:
- ACCELQ
- HP Unified Functional Testing (UFT)
- Cucumber
- Force.com IDE (基于Eclipse)
- Change Sets (云部署)
- Ant/force.com migration tool
- Workday
使用测试Salesforce测试工具的原因:
- 帮助节省75%的时间和25%的测试自动化成本
- 提供更好的Apex测试执行、详细的测试覆盖和类覆盖报告
- 可以利用业界领先的自动化工具,如Selenium和JMeter。
- 自动生成针对不同环境和多个浏览器运行的测试方案
- 无缝记录和回放记录的测试用例
- 帮助自动执行所有类型的部署前和部署后任务
- Salesforce测试流程将数据与测试脚本分开,并允许使用多个数据集进行增强
Salesforce测试场景示例
- 可以捕获销售线索/客户的联系信息
- 可以将联系人标记为活动/非活动
- 任何公司都可以标记为客户或潜在客户
- 可以在Web表单的帮助下捕获销售线索
- 报价中的价格不能为零
- 交易完成后应发送电子邮件。退回的电子邮件应处理
- 与第三方软件的集成应正常工作
- 计费服务应按预期工作
- 联系、机会和销售线索管理中没有重复记录。
- 移动工作流按预期工作
- 未经授权的用户不得访问文件。
Salesforce测试
客户总是对Salesforce测试感到紧张,因为不知道如何正确地进行测试。因此,有一个与现实截然不同的疑惑。
以下是其中的一些内容:
客户问题 | 解决方案 |
---|---|
不知道如何使用Salesforce系统。 | 客户端需要测试其进程,而不是系统功能。 |
如果系统中没有我们所有的数据,就不能进行测试。 | 只需要一份样本记录就可以测试。 |
没有空闲时间 | 需要在整个设计和建造阶段与PM保持联系,并定期登记。 |
总结
- Salesforce是世界上第一个基于云的CRM系统
- Salesforce测试用于验证在Vanilla SDFC中执行的配置和自定义
- Salesforce测试可帮助验证完成的系统是否可以支持客户端的业务流程
- Salesforce测试的最大挑战是确保测试的是定制功能,而不是内置的SDFC功能。
- Salesforce测试的重要级别是单元测试、系统测试、UAT测试、生产测试、回归测试
- Salesforce测试的最大挑战是需要为Lightning UI重新创建所有经典测试
- Salesforce测试人员应该以真实用户配置文件的身份运行测试
- Salesforce测试应能够进行冒烟测试,以确保所有主要功能均按要求运行
- Selenium Web驱动程序、HP统一功能测试(UFT)、Cucumber Force.com IDE是几个重要的Salesforce测试工具