Any IT solution that is implemented without the proper amount of testing performed throughout the project is a definite recipe for disaster.
Testing is an ongoing process – both formally and informally. It happens in development, it happens in the actual testing phase, it happens just prior to deployment and it happens post-deployment.
In his book “Project Management Nation”, Jason Charvat discusses the importance of testing throughout an engagement and identifies the different types of testing that we usually carry out in both informal and formal processes. By sharing this information here, I am not fully endorsing it, however, I do find it interesting and likely beneficial to our readers.
Why is the Test Phase so Important?
Without a well-thought testing effort, the project will undoubtedly fail overall and will impact the entire operational performance of the solution. With a poorly tested solution, the support and maintenance cost will escalate exponentially, and the reliability of the solution will be poor.
Therefore, project managers need to realize that the testing effort is a necessity, not merely as an ad hoc task that is the last hurdle before deployment.
The project manager should pay specific attention to developing a complete testing plan and schedule. At this stage, the project manager should have realized that this effort would have to be accommodated within the project budget, as many of the testing resources will be designing, testing, and validating the solution throughout the entire project life cycle—and this consumes work-hours and resources.
The testing effort begins at the initial project phase (i.e. preparing test plans) and continues throughout until the closure phase.
It is essential to conduct tests under realistic conditions. Often times the testers on a project deliberately go out to destroy the solution during the testing phase in order to do a proper test.
Some sensible ground rules for acceptance testing are necessary and need to be established before any testing commences. Typically, some of these rules should include the following:
- Using real data and real operators.
- Test the solution as the developers build it. This way, errors can be corrected immediately.
- Involve project members who understand design and user specifications.
- Determine what is included within the test and what is not.
- Involve users of the project who know how the system will be used.
- Test to see that interfacing the new solution to the current infrastructure has no unexpected consequences.
Allow time for the repetition of those unsatisfactory test results in the project schedule.
Types of Testing
There are many different types of testing that can take place on an IT project, and the project manager must verify exactly which tests will be required and when.
Below is a list of the most common types of software testing that usually encountered on a project:
- Security Testing
- Functional Testing
- Performance Testing
- GUI Testing
- Usability Testing
- Unit Testing
- Integration Testing
- Exploratory Testing
- Accessibility Testing
The above-mentioned types of testing are just part of the test phase that each IT solution goes through. Each one of them deserves separate attention which will, hopefully, be elaborated in another, more detail-oriented article.
The aim of this one, however, was to pinpoint the importance of testing and provide a biref overview of the testing phase as an important aspect in any IT solution implementation.