User Acceptance Testing (UAT) is a critical phase of any software development lifecycle. It gives real users the chance to validate whether a system meets their business needs and is production ready. It’s the final checkpoint before go-live—a last chance to ensure that the solution stands up to real-world challenges.
While UAT principles are generally consistent across platforms, the way UAT is conducted can vary significantly depending on the technology stack. Nowhere is this more true than with Salesforce, which introduces a unique set of characteristics that make UAT more complex—and, in many ways, more critical—than on traditional business application platforms. Its highly configurable nature, metadata-driven architecture, and deeply integrated ecosystem demand a different approach to planning, executing, and validating user tests.
This article explores what sets Salesforce UAT apart, and why businesses need to rethink their testing strategy when working with this powerful platform. We’ll examine the obstacles to collaboration in this environment, and conclude with a look at how you can use Copado Explorer to overcome these issues.
User Acceptance Testing (UAT) begins after development and system testing are complete.
Business users—often your future end-users—execute predefined test cases mirroring real-world business scenarios. These test cases are designed to validate that the application meets the documented requirements and supports the intended workflows.
The process involves preparing test data, logging defects, collaborating with developers to resolve issues, and re-testing as needed. Once all critical tests pass and users are satisfied with the outcome, formal sign-off is given to proceed with deployment. The ultimate goal is to ensure that the system works—not only from a technical perspective, but for the business itself.
Salesforce has a few unique quirks that make UAT more difficult than in other stacks. As you’ll know, Salesforce is a highly configurable platform where applications often end up being tangled concoctions of standard Salesforce capabilities, partner applications, and company specific modifications. Unlike isolated apps running in the cloud, all of these applications and modifications intermingle in a long lived environment. What does this mean in practice? Dependencies—a lot of them. As a result, a minor change to a single setting may impact many disparate processes, and often it is not clear where the impact will be.
Additionally, Salesforce has a complex security model with profiles, roles, permission sets, and sharing rules. Different users may experience the same process in very different ways. This means that UAT must include validation for different user roles/scenarios. Integrations to other systems and data cloud configurations may differ by environment as well—so testing in a development environment may not produce the same results as in the test environment.
Finally, development and testing is performed in Salesforce Sandbox environments, with changes promoted stage by stage until they reach production. Unfortunately these various environments can end up out of sync. Unless you are diligent, the testing environment and production may be very different, resulting in unexpected behaviors.
The other challenges with UAT lies in the logistics of assigning the test, logging into the test environment, documenting the defects, and providing developers with the details they need to reproduce and resolve the issue. Let’s dive a little deeper into each of these.
The first problem is purely practical: business users are typically very busy with their day jobs. It is often difficult to grab their attention, let alone some of their time. It is therefore imperative that you do not overload them during UAT. Assign each user two to three tests at most and provide them with adequate documentation so they know what they are expected to test.
As mentioned above, different user types have different permissions, so you also must assure that you cover each new feature with users that represent all of the different types of roles. Keeping track of these assignments is challenging for the UAT administrator.
It may not sound like much, but logging into the test environment is a challenge for many business users as well. They work in production and are not accustomed to using sandboxes. They need to know their username and password and the name of the test environment. They may even need to go through a password reset. These small challenges take time away from the productive testing time available.
When users discover an issue, they are expected to not only report it, but provide enough information to reproduce the issue. Otherwise the developer will be unable to fix it. Unfortunately, many users don’t remember the steps they took to create the issue, or even remember their data inputs—both of which are critical to reproducing a bug.
Finally, business users typically don’t have a login to the bug tracking system and probably would need training to use it. Most companies resort to using an online spreadsheet to document issues or ask users to email their findings. This means someone else must transfer the issues into the bug tracking system.
Fortunately there is a tool that can help. Copado Explorer addresses each of the challenges associated with UAT.
Let’s start with the assignment of users. Explorer enables the person managing UAT to create one or more features to test for every User Story. This ensures that all aspects of the User Story are covered. For each feature, they can select one of more users to test. As we mentioned above, they can and should assign users from each role.
The business user’s experience is simple. They get an email with their assignment. They click the link and are taken to the details of the assignment, which includes all the documentation they need and a button that logs them in directly to the test environment. There’s no need to remember a password reset, or even know the name of the environment.
The business user sees the home page in the test environment and a simple overlay on the screen with the controls they need. They start the test assigned and continue per the instructions. When the business user finds an issue, they simply pause the test, use their mouse to circle the issue, and attach a note explaining why they think it is not correct. Then they simply click a button to submit the finding. The system takes care of the rest.
The developer and business analyst benefits the most from this. The annotations made by the user appear on a screenshot attached to the finding. In fact, every screen the user clicked through has a screen shot and a video to boot. This means the steps they took to produce this issue are clearly documented, along with the data they entered into each field along the way. On top of that, a test script is automatically created so that when the developer makes his fix, there is an automated test to help verify that it works.
Finally, findings can be integrated into your bug tracking system as well, so there is no extra work to copy from one system to another.
Seamless collaboration, connecting all users in one workflow with clear defect reports, and actionable insights means one thing: faster, more productive UAT cycles. This enables you to change the way you test without changing the way you work. It means you can eliminate guesswork, messy spreadsheets, and endless pre and post UAT meetings. Explorer practically eliminates all of the faulty communication that slows down your release. The faster you deliver the right changes to production, the faster you deliver value to your business.
UAT is a valuable step towards ensuring that your new features and changes are rock solid and that your business users will be able to do their jobs when the changes are released. By using a tool like Copado Explorer instead of traditional spreadsheets, your business users will be able to focus all of their attention on testing—while your developers will get everything they need to reproduce the findings.
Discover how Copado Explorer can supercharge your Salesforce UAT
Level up your Salesforce DevOps skills with our resource library.