Salesforce ALM Flashcards
What are the main phases of a typical application development lifecycle?
Plan Build Test Deploy
What are the key milestones of a simple application development lifecycle?
Gather functional req's Design application specs develop using UI Test Perform UAT Communicate changes Update profiles to include changes Notify end Users
What are the different types of Sandboxes?
Developer Dev-Pro Partial Copy Full Copy 200MB
What is the storage limit of a developer sandbox?
200MB
How often can a developer sandbox be refreshed
Daily
What is the storage limit of a dev-pro sandbox?
1GB
How often can a dev-pro be refreshed?
Daily
What is the storage limit of a partial copy Sandbox?
5GB
How often can a partial copy sandbox be refreshed?
Every 5 days
What is the storage limit of a full copy sandbox?
A full copy is a copy of the production org and all data, and has the same storage limits
How often can a full copy sandbox be refreshed?
every 29 days
What should be considered when deciding to use the simple application development lifecycle?
No changes that require Apex.
No customizations that affect data
What are some example of safe changes to make in production?
creating reports, dashboards and email templates
What should be considered when deciding on the application development lifecycle leveraging a sandbox?
Complex changes
Changes involving Apex, VF , WFR, Validation
Changes involving integrations
Can Apex be modified in production?
no
What environment types are sandboxes typically utilized for?
Development
Test
Production
Why is a Sandbox Template required?
A sandbox template is necessary to define the records that should be copied from production into a partial copy
What are the three use cases for a full copy Sandbox?
UAT
Performance testing
Troubleshooting issues
What are the test options when deploying a change set?
Default
Run Local Tests
Run All Tests
Run Specified Tests
What are two major considerations related to change sets?
Change sets cannot delete nor rename components
What are the possible migration paths for a change set?
Sandbox to sandbox
Sandbox to production
Production to sandbox
What is the impact of the “Default” testing option when deploying a change set?
No tests are run on a sandbox
All local tests are run for production
What is the impact of the “Run Local Tests” testing option when deploying a change set?
All tests except managed package tests
What is the impact of the “Run All Tests” testing option when deploying a change set?
All tests including managed package tests
What is the impact of the “Run Specified Tests” testing option when deploying a change set?
only the specified tests are executed. Executed tests must cover code/trigger @ 75% or more.
What happens if a change set deployment is unable to complete?
The entire change set is rolled back
How can unexpected change set errors be avoided?
By adding all dependent components to the change set
How are profile and permission set deployments different in a change set?
Permission sets are added as a component to the change set. Profiles are added in the “profile settings for included components” section
What is the default visibility for a tab when deployed via change set?
hidden for all users
Can reports in private folders be added to a change set?
no
What will happen if a workflow rule is deployed via change set to an org where the workflow rule already exists? Why?
The WFR in the target org will be overwritten. Change sets overwrite metadata, not merge it.
What is a Salesforce Package?
Salesforce packages are used to distribute components. Packages can be managed or unmanaged
How are managed packages created?
Manage packages can be created in the “Package Manager” in setup
What are the use cases for a managed package?
Managed packages are used to distribute components in such a way that they are protected from modification.
Often times used when a package is sold
What are the use cases for an unmanaged package?
Unmanaged packages are used to migrate components to an unrelated org
Often times used for templates or open-source projects
How can component conflicts be avoided when creating a managed package?
By using a namespace with the components
Are unmanaged package components upgradeable?
no
What are the the development models possible within Salesforce?
Change set development model
Org development model
Package development model
What are the steps to be considered in the change set development model?
Development in sandbox Test Integration testing UAT Release to production
What tools are involved in the org development model?
Salesforce DX
Source control
Multiple SB orgs
Salesforce CLI