Guide to Quality Assurance – Why Test? – Part 2
by Cesar Contreras
Testing used to be the last step in the software development process. With the adoption of agile methodologies change came, and the inclusion of Quality Assurance (QA) as a practice happened.
What is the difference between Testing and QA?
Testing is the process to detect and solve bugs on a finished software. The problem with traditional testing was the implementation step. Testing used to be the last step of the development process, making it detect and solve bugs once the project was finished. This made project delivery delayed by extended periods of time if there were too many problems before its release. All of this happened with the traditional use of the waterfall methodology.
Once the Agile methodology got adopted as the prime method by developers, QA was included. In contrast with pure testing, QA can be included in any part of the development process. QA not only adds a new layer of software quality from the beginning of the project, but it also monitors changes and decreases potential critical errors and bugs.
The main preconceptions on testing used to be:
- Testing adds cost to the project.
- Testing delays delivery.
- Testing must be the last step in the development process.
Quality Control Comes first
QA is more than checking the code for bugs. QA engineers can help with requirement assessment and give critical insight before the project begins. Also, Quality Assurance professionals are used to dealing with a lot of manual testing, giving them a good idea of how the end user will navigate the software. This means that QA engineers can give you a step by step user story.
Thorough testing alone is almost impossible to find all the bugs during the development process. Deploying a QA team not only helps you decrease the number of errors and increase quality, but also decreases the cost of fixing at the end of the project.
In practice and theory, the estimation of the cost of finding and fixing software development problems after delivery is 100 times greater than doing it on the go.
Why test? The answer to this is simple, Quality product. The different software engineering processes that go into QA are designed to increase the efficiency and completion of your software. Also, the impact on the final budget of the project is so positive that it is really difficult to overlook the potential of a QA team enhancing production.