
The purpose of this blog series is to describe the top 12 steps to ensure successful software implementation. The first eight steps, Planning, Process Design, Solution Design, Configuration, Customization, Integration, Reporting, and Training were discussed in my previous blog posts.
This post is about Testing. Testing can take many forms including:
- Unit testing
- Project team testing
- Integration testing
- End user testing.
The key to training is to provide the right level of training to the right users at the right time to ensure they can adequately test.
Unit Testing
Unit testing is the process to test individual features or functions in an isolated manner. For example, in a CRM project this might be to test the creation of a new customer to confirm that the necessary data can be captured. This is normally performed by the project team as they are configuring and customizing the solution. In order to perform this type of testing, the person must understand the requirements of the individual features.
Project Team Testing
Project Team Testing is the process to test a group of features or functions that work together. For example, in a CRM project this might be to test the creation of a new customer along with the related contacts and addresses. This is normally performed by the project team members who have understanding of the overall business requirements of the solution. In order to perform this type of testing, the person must understand the requirements of the individual features as well as the capability of the software.
Integration Testing
This is the process to test all aspects of the solution to ensure that the processes work together. For example, in a CRM project this might be to test the creation of a new customer, a new contact, a new address, the creation of a sales order, sales invoice and the shipping of the product. The testing would also follow through to integration of data to other systems and reporting. This is normally performed by the project team members in combination with trained end users who have been identified to assist with the integration testing. In order to perform this type of testing, the person must have been a member of the project team or have attended “Training to Prepare for Testing.”
End user testing
End user testing is the process to test all aspects of the solution by a set of end users. End users must be trained to perform their normal tasks and should then execute them in the system in a test environment to ensure they can be completed. This is normally performed by end users who have attended integration testing. Please note that while this might be done at the end of the project as a final test before Go Live, the users should be engaged through the project to ensure requirements are captured and are not overlooked.
In summary, testing is not something that you will need to do once at a particular point in time. It is an ongoing process. It should start at the beginning of the project and should continue right up to the point of Go Live. Testing can only be performed by appropriately trained users. My last three blog posts in this series will be Data Conversion, Deployment and Project Management.
