Students from first grade on can recognize 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, often using 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 spend a minimal amount of time testing at the 11th hour. 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 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 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 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 recreate the processing of historical transactions. This is the first time many users interact with the system and also the last chance to break the system before go-live. Not performing user acceptance testing is like a student skipping the final exam when they have 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 increase buy-in of key end users. It's a strong change management tool. Trenegy helps companies successfully implement new systems to support growth and change.