Functional testing
When your data upgrade is complete, the next critical step is to run a full functional test pass. This test pass involves testing all your business processes end to end in the upgraded system.
Your testing should include:
- Processes that carry over from AX 2012.
- New processes that use features in finance and operations.
This testing pass is your opportunity to catch issues before the go-live event, so you should treat it like a dress rehearsal for your production environment.
Iterative testing and bug remediation
Depending on the quality of your code and customizations, expect to go through multiple rounds of testing and bug fixing. Whenever fixing a bug, you should:
- Retest the affected process.
- Test related upstream or downstream processes to make sure that the fix doesn't introduce new issues.
Test old data vs. new data
When planning your tests, you need to consider how the old data (from AX 2012) and the new data (created after the upgrade) interact with your business processes.
For example, you're currently testing purchase order cancellations and therefore need to consider whether you can:
- Cancel a purchase order that started before the upgrade.
- Cancel a purchase order that the system creates after the upgrade
Though the example seems simple, the reality is that many business processes are deeply interconnected, and the way that data flows through them can make testing more complex.
Create a data matrix for testing
Consider an example of a basic production process, where it might include the following steps:
- Design and release an item master to a legal entity.
- Create item requirements.
- Generate production orders.
- Generate purchase orders.
- Process production orders on the shop floor.
- Pay vendors for those purchase orders.
Each step could use old or new data, which means that you're testing different combinations. This process creates a matrix of test scenarios, covering every possible flow of data through the system.
While some combinations might seem excessive, you can focus on the most common or highest-risk scenarios. In this situation, it's important that you're aware of which test cases you covered and that you make intentional decisions about what to test thoroughly and what to deprioritize.