Salesforce is a very hot topic now-a-days in the market. It is a really refreshing change with clean and spontaneous user interface.
Testing plays a key role for any application or software, as proper testing of application increases the quality. Typically, salesforce testing of apex classes and triggers is done by the developers themselves as it is necessary to write the test classes (for apex classes and triggers) to move the code from sandbox to production. Developers must ensure that their code coverage is minimum 75%. But, the functional testing should be done by the QA team to strengthen the quality of application.
A lot of things can be done in salesforce via point and click administration which include automating the tasks like – automatically creating the tasks, making the field updates and sending the emails. This makes salesforce so interesting that a tester feels that he is working like a developer.
What is the role of QA Team?
- Understanding the Business Requirement Document.
- Brainstorming sessions for functional understanding by the QA team members.
- Configuring and setting up of data.
Assumption before configuration and data setup:The QA team has basic knowledge and role in salesforce comprises of:
- Creation of Accounts
- Creation of Contacts to relate with Accounts
- Enabling created contacts as External Users
- Assigning Product licenses to External Users
- Creation of Internal Users
- Assigning SFDC and TWOD (Tavant Warranty on Demand) Product licenses to Internal and External Users
- If we are using Public groups and queues in project, then once users are created, assigning those users to respective queues and public groups.
- Checking all page layouts
- All related lists of detail pages
- All the columns in the related list
- Creation of test data to perform testing.
- Working closely with the development team to design, build and test the application
- Providing the direction for system enhancement and defect fixes
- Providing the new ideas and information
- Prioritising and estimating the critical deadlines across the project
- Providing detailed documentation to business and developer team
- Organising the training session/demos for the customers
It is not always true that a QA must do the configurations. If you don’t know the configuration part, you need not worry. Any one member of your team can do the configurations who is having salesforce’s basic knowledge. You just need to set up your data and perform testing.
Testing in Salesforce
Testing in salesforce includes the following features:
- Manual Testing in Salesforce is performed by the QA team which includes happy path testing, functional testing, integration testing, regression testing and system testing
- Automation Testing in Salesforce can be done by any of these tools available in the market—Provar, AutoRabit, AssureClick, Selenium and QTP. Selenium is the best choice as it is the open source tool. Use the Selenium web driver for automating the browser. Use eclipse for running the selenium code
- Functional flows report based on status of test cases, where testers are required to create the functional flows to understand the functionality of application
- Process builders to check the behaviour of the system, by giving different entry and rule criteria
- Workflows to check the functionality of time based events
The few challenges that we faced during the testing of salesforce application include:
- Testing of Visualforce pages through automation. The issue lies in creating field locators reliably on a page. Salesforce will generate the Ids at runtime which means any change to our APEX code, leads to the change of field locators based on Ids which need constant maintenance
- Writing test cases with different roles and mentioning the settings
- Some of the standard functionalities although not in use, can’t be removed
- GUI tests don’t work when we switch the test environment. Automated tests need to work in all our test environments. Field Locators are how you automate tests, find the field or button on a page. There is an issue creating field locators for the Salesforce screens as some field IDs differ between Organisations.
Last but not the least, the most important thing is to understand the Salesforce administration without fail.
The beauty of Salesforce lies in its success community. Community is a great way to share the information and collaborate with the people outside your company. There is a help guide which is written by the salesforce admins and developers.
One of the biggest advantage of Salesforce is that you can perform testing any time. For this, you don’t need any VPN access. You just need a web browser with a reliable internet connection. Just sitting at your home, you can do testing. Salesforce1 Mobile application is also available which is a better way to experience Salesforce using your mobile.
Cited below are few links to study the Salesforce Concepts:
https://developer.salesforce.com/trailhead/en
http://www.djmlab.com/moodle/ -> For salesforce admin 201 certification.
Salesforce, Making Life Easy……………