Authored by Jason Eldredge - Senior Consultant - Wipfli's Microsoft Dynamics CRM Team
An often overlooked but critical piece of any software project is testing. To many people, testing software is not viewed with the importance it deserves. I’ve been in IT for over a decade and have seen everything from no testing to advanced, automated testing and everything in between. To release a successful Microsoft Dynamics CRM project with limited bugs, there are keys steps to follow.
1) Generate testing document of all scenarios that need to be tested.
This document should reflect the business requirements that were used to design the software. All details in the business requirements need to be tested to ensure they are included in the software.
2) Determine the least privileged security role for each scenario identified in the testing document.
When testing the system, create a user that would represent a real-life user of the system. Assign that user a role with the least amount of privileges that is needed to complete the action. Often this step is overlooked and testers use their own account which usually has elevated permissions, thus causing an error when the software is deployed.
3) Understand the desired results.
Each business requirement exists for a purpose and that purpose must be identifiable. If a requirement is based on a calculation, the tester must understand each piece of the calculation and what fields are used in the calculation.
4) Document the bug.
When a bug is found, document it. In order for a bug to be resolved, it must be reproducible. Document every step that is required to reproduce the bug, including the user of the system that is logged in.
5) Regression Testing.
Regression testing is the process of testing existing functionality in the system. The importance of regression testing is to verify that the new modifications being introduced into the system don't break existing functionality.
6) Test with limited knowledge.
Test the system with the mindset of not knowing how it is supposed to work. To accomplish this, randomly test business requirements with wrong data types, missing information, or in reverse order. Test in a manner that a user with no experience might do.
I hope these six steps help produce a bug-free Microsoft Dynamics CRM system. The more proactive planning and testing throughout the system, the higher the probability of a successful system deployment will be achieved.