【51CTO.com快译】众所周知,功能强大的CRM(客户关系管理)平台对于组织来说可谓一组战略、系统和实践的技术套件。它能够持续为组织维持客户数据和管理与客户之间的交互。作为一款基于云服务的软件,Salesforce CRM能够在企业运营的整个生命周期中,管理和识别各种与用户的通信或交互,可谓企业级应用的部署基础。由于具有良好的可配置性和可扩展性,并且易于与其他各种应用相集成,因此它是目前使用范围最广的一类CRM工具。用户可以通过部署Salesforce CRM,来加强业务关系,保持与客户的往来,进而实现最终的业务扩展和增长。
在实际应用中,Salesforce还能够帮助构建和增强企业的如下三个方面:
- 加固的客户关系
- 通过交叉销售(Cross-selling)和追加销售(Upselling)来增加营收
- 加强伙伴关系与协作
为什么要进行Salesforce CRM测试?
开展测试的一个最直接的原因是:为了保证Salesforce CRM软件能够满足不同的业务方的各式各样的功能需求,企业需要花费一定的时间和精力对其开展全面的测试。
有研究表明:通过持续进行改善性的测试,我们虽然无法消除目标软件中的所有错误,但是可以减少花费在基础架构上修补费用的三分之一。而且,我们可以据此更有效地识别和删除软件中的缺陷。
诸如KiwiQA(请参见-- https://www.kiwiqa.com/salesforce-testing.html)、Tricentis、以及360logica等业界领先的Salesforce测试提供商,通常会拥有一套成熟的软件测试流程,可以确保检测和纠正目标系统、应用或软件中的潜在故障与异常,进而节约80%的开发成本,并提高企业的执行力和信誉。
Salesforce的测试要求
在Salesforce测试的初始阶段,由于我们的目标是为了验证Salesforce CRM软件应用是否能够按照预期执行,因此测试的重点主要是检测出那些与既有目标相关的缺陷。
总的说来,Salesforce的测试可以分为手动与自动测试两种:
- 手动测试 – 此类测试过程涉及到使用传统的方法,对Salesforce应用进行测试。我们可以用它来执行系统、集成、功能和回归测试。
- 自动化测试 - 此类测试过程涉及到通过使用诸如Selenium、QuickTest Professional(QTP)等自动化工具,去测试测试Salesforce.com/Force.com的相关应用与功能。
而在实际测试中我们可能采用的测试级别包括:
- 单元测试
- 系统测试
- 用户验收测试
- 功能性测试
- 生产环境测试
- 回归测试
Salesforce测试的挑战
在开展上述各种测试级别过程中,我们可能碰到由Salesforce自身所带来的各项挑战,其中包括:
- Service Cloud Console和Visualforce在自身特征上的复杂性。
- 需要对Lightning UI重新进行各项经典测试。
- 一些标准化的功能虽然极少被用到,但是也无法被删除。
- 在测试环境中,某些GUI(图形用户界面)的测试效果不佳。
- 测试自动化难以在每个测试环境中被顺利实现。
- 由于某些字段的ID在企业实际应用中有所不同,因此有时很难构建Salesforce的字段定位器(field locators)。
Salesforce测试的7项优秀实践
- 在SDLC(软件开发生命周期)中应尽早开始测试 - 质量保证团队应从一开始就参与到测试项目中。这将有助于测试人员预测到关键性的软件需求。由于测试团队能够尽早地介入,因此他们不但可以有效地分摊和减少测试的实际用时,而且有助于他们增加测试覆盖率和开展测试的种类。
- 全面的单元测试 - 在移交测试代码之前,开发人员需要对已开发的代码进行了全方位的单元测试,以避免给后续的开发阶段留下错误或缺陷。通过执行单元测试,整个团队不但可以减少挤压到下个阶段仓促进行的系统测试用时,而且能够减少错误修复的成本。此外,它还有助于团队构建无需调试即可重用的代码。
- 适当的测试工具 – 在如今的市面上,我们可以通过各种类型的Salesforce测试工具,来执行全面的测试过程。诸如Panaya ForeSight(请参见--https://www.panaya.com/)等Salesforce的测试管理工具不但实用,并且可以让您轻松地管理各种关键的项目。在执行Salesforce功能性测试时,Android和Apple都提供了可以支持各类测试的模拟器,而Selenium则是Salesforce自动化测试的最佳工具。
- 敏捷方法 — 通过使用敏捷方法,测试人员可以测试Salesforce的各项功能,并将它们与用户的实际需求相匹配。其实,敏捷方法提出的是一种迭代式的设计方法,应用团队能够以较小的产品增量版本进行快速的设计。每个冲刺(sprint)的测试者都会同时从事和重新评估项目的方向,以做出相应的调整。而在冲刺结束时,它们还能够通过添加注释的方式反馈给下一次迭代,以最终交付出预期的产品。
- 招募合适的测试人员 – 由于平台的独特性,我们往往需要具有Salesforce专业知识的技术人员,来对Salesforce软件开展功能性的测试。此外,测试人员还需要在用户验收测试(UAT)和回归测试等方面积累并拥有丰富的经验。
- 管理测试 - 不同的测试场景往往是为了将已构建的应用和功能,与当前实现的手动或系统性相关操作进行同步。因此,我们需要将测试结果与那些影响最终产品质量的参数进行对比和验证,以确保两者的一致性。
- 与合适的Salesforce测试提供商合作 - 要想实现完美的交付,并保持产品的长期优势,我们往往需要聘请经验丰富的Salesforce测试提供商。他们能够通过行业经验和测试工具,帮助您不断改进Salesforce软件和应用的性能与质量。
总结
我们需要通过适当的测试计划,来保证开发出的应用与功能符合既有的业务框架和IT系统构想。希望上述针对Salesforce测试的7项优秀实践,能够大幅简化测试环节的复杂性,提高各个测试级别的实现效率,并给企业带给更大的产品价值。
原标题:7 Best Practices for Salesforce Testing ,作者: Niranjan Limbachiya
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】