Whether you have in house developers or working with NetSuite Partners, it is good to have some standards around testing implementations and new customizations. Generally, for brand new implementations or customizations, the testing advice is the same though the individual cases may be different.
This blog will walk you through some fundamental test case best practices to apply to not just your NetSuite Implementations and Enhancements but for other systems too. Just a quick note: you will hear the term test case and use case (or user story) throughout this blog. The difference between the two is use cases or user stories describe an expected scenario or system behavior, whereas test cases will have instructions and test data to specifically test that use case or user story.
- The first tip is the earlier the better. Why is documenting the use cases as early as possible important? Use cases help further describe how the requested function will be used. This deepens the alignment between developer, tester, and customer. For example, the request maybe to be able to turn a particular function on and off. If the use case describes that function as being part of a customer's everyday operations, then developer may not hard code that toggle in the code and build out a user interface for the customer to manage themselves.
- Conduct both unit and end to end testing. Unit testing is testing if a requested functionality works or not. From the above example, you can just switch the on and off switch and confirm if the function still works or not. End to end testing is not just that specific function but the upstream and downstream impact of that function. For instance, in a full end to end testing, I would test if that on and off switch impacts my ability to save the transaction or move the transaction to the next stage. You can see how this can be impactful to a Sales Order that may have complex approval logic.
- Generate a list of base test cases. This is a living document to be managed by your NetSuite Administrator, adding or changing the test cases as new enhancements or modules are added. This list serves 2 purposes.
- The first is so that you are not recreating the wheel each time you have to do testing and reduces the risk of miss testing critical functions or scenarios.
- The second is to document the customizations so there is continuity. Often requirements documentation or the initial team that implemented or created the work is no longer at the company. This list will allow the new team or new NetSuite partner to understand your system's current environment.
- Identify your testers by role and test in those roles. In your test cases, it is important to list the roles that need to test a particular function. If you always test in Administrator role, you will most likely run into permission errors. Typically, the NetSuite Consultant or NetSuite Administrator will test in the Administrator role because it makes testing more efficient and not get hung up with permission issues. However, when it comes to user testing or customer testing, it is best practice to use the roles that will actually be conducting the work to minimize surprises.
- Identify your biggest areas of risk. In your list of base test cases, it is good to note what are critical functions versus edge cases. This helps the project team to focus on ensuring those functions work as expected. Balancing risk, schedule, and budget, the project team may need to make decisions on where to focus their time. This also circles back up to the first tip and help everyone align on priorities.
NetSuite is a versatile system. At its core, it is meant to tie all the processes together. However, all businesses are different and we understand customizations and integrations are needed.
Contact us and we can help you with your next implementation or customization.
Concentrus is a complete NetSuite solutions provider that guides organizations through how to use NetSuite to reach highly focused business goals and objectives. We provide NetSuite implementation, developer, integration, and customization services to ensure that you have a long-term solution that is tailored to fit your systems, people, and processes.
Read About Our Implementation Methodology