软件开发不是一件容易的事,当我们必须实施不同的软件开发方法时,它变得更加复杂。如今,云和基于云的系统吸引了人们的注意。因此,在云环境中开发基于云的系统是另一项具有挑战性的任务。 Salesforce Development Lifecycle 就像一个在云上开发、在云上测试并部署在云环境中的软件。
Force.com 是 Salesforce 开发 环境。它是使用 Eclipse 构建的,因此可以使用插件轻松集成。它配备了 Apex、Visualforce 和元数据组件,使其有资格开发 Force.com 应用程序。数据保存在本地文件系统上,开发人员将文件迁移到源代码控制存储库进行更改,然后将其再次输入系统。对于源代码控制,大多数开发人员使用 Git 或 SVN。
在开发过程中,涉及许多处理软件开发不同方面的参与者。此生命周期中最常见的参与者如下:
产品经理 - 他负责最终确定业务需求。
发布经理 - 协调发布计划。
软件开发人员- 主要编码,生产可交付成果。
质量分析师 - 测试并确认各种功能。
培训师。
以下步骤将非常清楚地展示整个 Salesforce 开发生命周期:
1. 设置源代码控制存储库: 从长远来看,从开发的角度来看,为每个项目设置一个单独的 Git 存储库总是有益的,默认分支充当主分支。它将更适合将生产元数据存储在 master 分支中的目的。
如上所述,在整个开发生命周期中涉及许多参与者。 Release Manager 有助于为不同的功能创建完全不同的分支,这些功能应该由不同的开发人员处理。他/她还帮助创建 package.xml 清单,同时还使用它来用元数据填充主分支,并且非常正确地使用 Force.com Migration 来迁移所有数据。
2.开发阶段: Salesforce中有沙箱这个概念。沙盒与您的 Salesforce 生产完全隔离,因此这意味着您在沙盒中执行的操作不会影响您的主要 Salesforce 生产企业,反之亦然。开发人员开始在他们自己的沙箱中编码。
他们使用 Force.com IDE 与他们的沙箱建立连接,从而将元数据从沙箱检索到 IDE。他们进行必要的编码,并在执行初始级别的单元测试后,将代码提交到 Git 存储库。
对于后续开发,已提交的新代码将迁移到他们的沙箱中,他们将继续进行进一步开发。完成后将最新的开发提交到存储库。
但是可能有两个或更多人在处理相同的代码,因此他们在提交代码之前肯定必须检查是否存在任何可能的冲突。
3. 测试: 随着正常的软件开发生命周期的流动,在这种情况下也是如此。开发结束后,就是测试的时候了。与开发人员类似,测试人员或 QA 也创建自己的沙箱并将要测试的代码从存储库迁移到他们的沙箱。
有时,QA 可能会被分配仅测试特定功能的任务。在这种情况下,他们使用部分复制沙箱。他们只部署选定的功能,并允许对应用程序功能进行专门测试。
如果情况需要对重要和关键功能进行更彻底的测试,QA 成员也可以共享他们的沙箱,但这在很大程度上取决于组织的工作流模式。但是,在此级别建议的任何更改都会将其带回开发的先前阶段。
4. 验收测试: 完成此级别的测试后,将进行进一步的用户验收测试。除了 QA 和测试人员,开发人员、产品经理和其他相关方将执行最终级别的测试。
发布经理首先创建部分沙盒进行测试,产品经理使用这些沙盒进行临时测试。然后他/她为最终用户或客户准备最终演示文稿。这些沙箱也可以被公司的培训师用来为学员准备手册。同样在这个阶段,如果建议进行任何进一步的更改,它将返回到开发阶段以灌输必要的更改。
5. 产品发布: 最后一个阶段是性能测试。此测试在中间沙箱上执行,与部分沙箱不同,它具有应用程序的所有功能。测试团队执行严格的测试和回归测试。通过所有级别的测试后,便可以成功部署到生产环境中。
然而,我们总是希望在最终部署之后肯定会出现一些或其他重要的变化。这些结束时刻的更改在补丁版本中处理。补丁周期有它自己的生命周期,但它比正常的开发周期要快得多。