Students from first grade on can see a direct relationship between studying for a test and the final class grade. The more preparation, the better the grade. Promising students study through repetition either through the use of note cards or flash cards. Students who postpone studying to play find themselves scrambling to learn the material the night before the big test. Come test day the grade reflects the preparation.
Implementation teams face the same situation when testing new system functionality. The more preparation and emphasis placed on testing repetition, the smoother the transition to a new system. Most project teams plan for testing but get distracted with development and at the eleventh hour spend a minimal amount of time testing. Much like cramming the night before a vocabulary test, not allowing adequate time to cover key testing objectives will result in a chaotic and unplanned go-live.
How can project managers avoid running out of time for testing? It’s essential to break down the main components of testing and plan for the critical objectives associated with each phase:
- Unit Testing
Unit Testing is the most simplistic testing phase during a system implementation. The objective of unit testing is to validate small pieces of functionality within a larger business process. Test scripts need to be developed to ensure all components of functionality are tested. Many teams forego developing scripts for unit tests. This is a mistake because key test steps can be missed. Done correctly, the scripts can be strung together to support subsequent testing cycles. Unit testing without scripts is like learning multiplication tables without flash cards.
- Integration Testing
Integration Testing is critical to determining if a combined system and business process supports the future state vision. This testing should focus on making sure transactions, interfaces, reports and business process handoffs are all working correctly. Project teams often segregate the system and business process testing which leads to issues after go live. Not including end-to-end testing is like studying for a vocabulary test but only memorizing the spelling.
- User Acceptance Testing
User Acceptance Testing is often the final test before go-live. User Acceptance Testing is a set of integrated tests performed by non-project team members to ensure the system will support day to day activities. To truly simulate everyday processes and activities, representatives from each functional area need to re-create the processing of historical transactions. This is the first time many users interact with the system and is also the last chance to break the system before go-live. Not performing user acceptance testing is like skipping the final exam when the student has an “A” in the class.
Companies should involve as many end users as possible during the Integration and User Acceptance Testing phases. Testing can serve as the start of training and can increase buy in of key end users; a strong change management tool. Trenegy helps companies successfully implement new systems to support growth and change. Read about how to avoid other pitfalls during system implementation “Boiling the Frog… How ERP Implementations go wrong!”