Salesforce Testing is key to salesforce projects being deployed smoothly and efficiently. This is especially true with automated functional testing, where things you may not have considered during a build, pop up due to the amount of integrated and connected features within Salesforce. Proper testing brings these unknowns to the surface, giving you the ability to fix and perfect a new functionality before deploying it to production.
In this post, we will briefly review the two phases of Salesforce testing as well as offer up some best practices and tips to make your deployment a success.
Salesforce Testing: An Overview of Functional and User Acceptance Testing
There are two main types of Salesforce testing: Salesforce Functional Testing and Salesforce UAT Testing.
Salesforce Functional Testing
The first phase of software testing that takes place post-development is functional testing. It involves the tester making sure that whatever has been developed works alongside the existing org. This means reviewing each new feature thoroughly, checking for bugs, and ensuring the new functionality works from start to finish. The tester then has to check that the new development works alongside the existing features and that there haven’t been any negative impacts on the existing org.
The ultimate goal of Salesforce functional testing is to make sure you have something that definitely works and hasn’t broken anything that already exists.
Salesforce UAT Testing
After the functional testing has been completed, you’re then ready for testing UAT. Here, a tester works through different processes, using the new functionality as a user would in a real-world business case. What you want to get out of this phase of testing is an understanding as to whether or not the new functionality works in every possible situation/process and if the user is seeing only the items they are supposed to see.
The goal with Salesforce functional testing is to ensure your new development works properly in any business situation.
Now for some tips and best practices to make both phases of testing a success!
Take a Personality Quiz
What Type of Salesforce Community Super Star Are You?
Tip #1: Get the Right Testers
As we have two different types of testing, in a perfect world we need two different types of testers. For your Salesforce functional testing, you need people with real Salesforce technical experience, as they will need to have an understanding of Salesforce functions and the errors that come with configuring or developing these functions. So, your development team who worked on the project would be perfect for this, since they understand the functionality of the work that has been done.
Alternatively, if you have a dedicated technical regression testing team, they could also be utilized for Salesforce functional testing, as they not only understand Salesforce functionality but can also review the new development with a fresh pair of eyes.
In regard to Salesforce UAT testing, you will definitely want your tester to be someone different than your development team. The reason for this is that you and your development team know exactly how things should work, so you will test it to see if it works as you believe it should.
Another unbiased point of view may try to use a new functionality in a completely different way, which you may not have accounted for when creating it. This can expose weaknesses in business processes and open up test cases that you may need to fix or prompt you to find a way to direct the user to the correct working path. So either a separate QA team or even a superuser in your (or your client’s) company would be great for this role.
Tip #2: Deploy and Test Regularly
Deployments are actually a part of Salesforce functional testing, and if code doesn’t get test coverage in the change set, you will have to fix it. So, as you’re progressing through your project, you don’t want to find that work you completed weeks ago doesn’t function as expected and then have to start all over again. Deploying and testing regularly prevents this, allowing you to confirm that your development works properly throughout the build. Once you have deployed to the relevant sandbox, you can then let your users get on with UAT testing in confidence.
With so many deployments and testing stages occurring, you will find it helpful to use a test management tool. Panaya’s Release Dynamix for Salesforce is such a tool that gives you the ability to structure your testing and deployments, even allowing you to rollback if testing comes up with any major issues.
Tip #3: Have a Clear Testing Guide
Testers need to understand what it is they should actually be testing and what the desired results should be. A guide will save time by providing a focus to the testing. Simply put, there’s no point in the testers testing features that are not at all connected to your current project! Along these lines, a good Salesforce testing guide should include the following:
- A brief summary of the project: This will give testers a background as to what the project is and context to the features they will be testing.
- A list of all new features and components: A reference list is always helpful, so that testers understand what features are new.
- A list of all existing components that have been modified: Again, this will give testers an idea as to what has been changed versus the current production org.
- User stories: These are really useful as they provide a guide for testers to follow in their work. Your user stories should state the profile, process, and result.
- Testing goals: Giving your testers targets will not only help motivate them but also let them know exactly what you hope to get out of the testing.
Tip #4: Use Testing Tools
There are loads of different Salesforce testing tools that you can use to help you through the testing process. As we mentioned earlier, a Salesforce test management tool such as Panaya’s Release Dynamix for Salesforce is vital for giving structure to your testing process and making it easy to manage throughout a project. When you’re performing Salesforce functional testing, you will also want to use different devices and browsers. Both Apple and Android provide simulators for you to test on, and Selenium is great for Salesforce browser test automation.
Take a Personality Quiz
7 Tips for Deploying Custom Objects in Salesforce to Production
Tip #5: Use Feedback Templates
The whole Salesforce testing process can prove pointless if you don’t get any valuable feedback. You can regularly find this to be the case, especially if you have inexperienced people (such as end users) performing the Salesforce UAT testing. The reason for this is that they simply don’t know how to let you know what’s right or wrong. Providing a feedback template to use during the testing process can help improve the quality of the feedback you get. Here’s a sample set of questions for a solid feedback template.
- Which user/profile are you using? You need to know who it is doing the testing and their profile. This is because the tester may be experiencing an issue due to security settings tied to their username or profile.
- Which user story are you following? Knowing which user story or process the tester is following will give you an idea as to how you may be able to replicate any bug or issue found. Having a reference to a user story will also give you an idea as to what area of the new functionality the issue is coming from and who developed it.
- Can you give a description of the bug? You need to know what bug, if any, the tester is experiencing. Getting them to give you a detailed description of the problem makes it a lot easier to fix.
- What is your expected result? Sometimes the results a tester is expecting are different than what the new feature has actually been built to do. So knowing what the tester is expecting allows you to decipher whether it is a bug or simply a change request.
- Do you have any screenshots? Having a visual reference always makes life easier. It can also make the description a lot clearer, especially if your tester doesn’t have a technical understanding of Salesforce.
With these Salesforce testing best practices and tips alongside tools such as Panaya’s Release Dynamix for Salesforce, you will be able to greatly improve functional and UAT testing for your projects. Following these guidelines will give you and your team confidence that all the work being performed throughout a build has been thoroughly tested. And proper testing leads to both a better process and better results. This means a successful deployment for your new feature, as well as a smooth and efficient project from start to finish.
If you’d like to know more about how Panaya’s RDx can assist and improve your functional and UAT testing, get in touch!