Salesforce Application Testing
Salesforce is the world’s # 1 Cloud CRM based Application. One of the many benefits of Salesforce is that it allows customization based on the organization’s needs. Hence, one of the core criteria while testing this application is to not only test its existing features but also the customizations and the business process of the organization.
The following main factors needs to be considered while testing Salesforce application:
- Organization or Client’s business process
- Functional flows of the application in alignment with the Client’s need
- Classic as well as the Lightning version of the application
- Data Migration
The tester must have a complete understanding of the features that can be customized, as well as the customizations that have been applied to cater to the client’s requirements. This ensures that all the configurations are tested thoroughly in both the classic and lightning versions of the application.
Organization or Client’s business process
The tester also needs to understand the E2E business process of the client in order to come up with test scenarios both positive as well as negative to thoroughly test the application. The tester must also keep in mind that the standard functionalities which cannot be removed, will also need to be tested though these features may not be used by the end client.
Functional flows of the application in alignment with the Client’s need
The tester needs to understand the different user roles, not only the user authentication, but the user authorization also needs to be verified against different sets of data. If the application is catering to the needs of different regions, then the authorization and customizations for the different regions needs to be verified.
Classic as well as the Lightning version of the application
As the classic version of Salesforce will eventually be deprecated , testing in both the classic as well as lightning versions of the applications should be considered as a mandatory process.
Onboarding business data to Salesforce is not only a complex, but challenging process. The following points need to be considered while testing for data migration:
- The ownership of the records are assigned to the correct users
- The roles, profiles and the defaults set for the organization are mapped correctly
- The record types and the picklist values have to be defined and mapped correctly
- The legacy ID’s for the records have to be mapped correctly
- Data loss during migration needs to be factored into the test scenarios
- The lookup relationships of user accounts, contacts and opportunities have the be mapped correctly
- Identify fields that are not necessary or redundant and make sure that the records are optimized correctly
- The test scenarios must cater to the different workflows, triggers and validation rules.
- Verify handling data for calendar dates, currencies, floating numbers, hexadecimal
- The database must also cater to addition of new data
- The performance of the application post migration needs to be considered
One of the main challenges of Performance testing, is verifying the customizations load correctly and are in sync with the built in features of the Sales force application. The following areas have to be thoroughly tested:
- E2E environment
- Search Feature
- Customized features
Salesforce follows multi-tenant architecture and this forms one of the major challenges during performance testing i.e to test apex limits and the test scheduling dependencies
We also need to consider the fact that since performance test needs to be scheduled with Salesforce support, performance test needs to be baselined for the all load scenarios and the following points must always be kept in mind, as mentioned by Salesforce:
- Scripts must never have hard coded location to external files
- URLs must be parameterized
- Since Salesforce.com uses IP Range restrictions as one of the security mechanism, ensure that on the profile for the used for users in testing, Single Sign-On is disabled, and there are no IP Range Restrictions
- Think Time should be placed between each transaction and set to 5 second
- Set jse equal to 0
- Parameterize the username and password
- Place a web_reg_find before the home page link
- When the save action is executed, an HTTP submit is executed which then does a redirect to the just created object. It is necessary to use web_reg_save_param to capture the just created entity id and replace the static id in the script.
Hence, the test has to be strategized correctly and ensure right resources for the test scenarios. The tests have to be monitored diligently to ensure the test results are in the planned range as per the requirement.
We at GravityInfo Solutions, have the right skills to understand your business needs, we not only develop Salesforce applications but also strategize our testing to cater to your business needs. For more information, please contact us at https://bit.ly/3cVnkIL