Every company has their own functional and organizational uses for the terms, “Testing”, and “Quality Assurance”. To be fair, the actions that are done are more important than what they are called. It is common for Testing activities to be subsets of a larger Quality Assurance Life Cycle.
While Quality Assurance sets out the framework for the implementation of quality in the development and implementation of information technology projects, it is Testing that identifies the impact of Quality Assurance, or the lack of impact, prior to implementation. It is Testing all through the project life cycle that quickly identifies defects, allowing for appropriate timely corrective action.
Not long ago, ad hoc testing was believed to be sufficient and the most junior staff were assigned to test code. With the increased complexity of today’s systems and shorter timeframes to deliver results, the industry no longer believes that to be true. Today’s accepted approach is more formal, evaluating all requirements, considering the associated risks, and then creating a test plan that satisfies not only the project team but the business sponsor. These items of requirement evaluation, risk assessment, and test plan creation are all Testing components of a Quality Assurance Life Cycle.
Testing activities should start at the project kickoff meeting with an early assessment of testing needs. Technical requirements to be tested, such as system performance, must be understood to allow the design to meet those technical requirements, to allow the infrastructure to be sufficiently robust, and to allow test cases to be built to challenge the requirements. Business requirements need to be clearly stated in a manner that makes them “testable.” All constraints need to be stated so that test cases can be formed to examine the results of hitting and exceeding those constraints.
Testing at all phases of the project is critical. It is common knowledge that defects found and corrected early in the life cycle cost the organization far less to correct than those found later on. It also takes less time to correct a defect early in the project than it does as the project progresses. It only makes sense to have Testing be part of the project process right from the beginning.
In order to have the skills to design and execute a formal test plan, formal education and experience is required. The International Software Testing Qualifications Board (ISTQB) provides an internationally acknowledged progressive set of examinations to prepare testers and test managers to meet the demands of today’s projects. As a hiring manager, I have looked for ISTQB certification as a positive qualification in candidates. I know that they will have a common understanding of testing terminology and approaches which will help them get the job done more efficiently and effectively.
If there is one true statement in the Information Technology field, it is that we must always be learning and improving. Testing is no exception and is now a more respected and important part of the industry. A strong test organization made up of qualified staff has become a requirement for a successful Quality Assurance initiative and for project success.