Software quality assurance is a very important part of the software development process, and also, the part that is most often misunderstood or underestimated. To people who are not involved in quality assurance, the process seems easy and straightforward. This is because they think that the difficult part is the design and development and that quality assurance is merely “testing”. Thus, it is not given sufficient time to properly complete the process.
Deloitte, a consulting firm that has already provided quality assurance services in Ireland for over 16 years, listed the top ten myths of software quality assurance that QA professionals will surely recognize from their experience. Clear up your misconceptions about QA testing and face the reality explained below:
1. Software quality assurance = testing.
The truth is testing is just one part of software quality assurance. An effective quality assurance process spans the entire software development process, from the requirements definition up to the product maintenance.
2. Software quality assurance aims at 100% error-free code.
Software will never be free of defects. Instead, software quality assurance aims to balance the trade-offs between quality, cost, time and risk to achieve the quality that is required.
3. Testing is easy.
Testing is more difficult than it seems because it takes vast knowledge of testing methods and understanding of business requirements and the software development process for anyone to become a QA staff. They are the middlemen for the software developers and business analysts.
4. Manual testing is not needed.
Actually, efficient testing is achieved through combining automated testing and manual testing.
5. Performance testing is always done only during the final stages of development.
Performance testing is done throughout the entire software development process. This is because most performance issues arise early on in the process and if they are not detected and fixed, they can turn into problems such as delays, reworks, or worse, cancellation. To avoid these, start the performance testing early on.
6. You can overlap testing to save time.
Effective testing should account for 20-25% of the software development process and should not be sacrificed. Shortcuts in testing might seem to save time, but actually, it only increases the long term cost of the system implementation.
7. Security is separate from testing and development.
Security needs to be integrated throughout the testing and development processes. Doing so aids in the timely detection and addressing of security issues early in the project and avoids greater costs due to late identification.
8. More scripts = Better testing.
Less is actually more. Risk-based testing is a technique that determines the appropriate testing levels for each area based on risks and system complexity. This way, more high risk items are given higher testing priority that the less risk ones. This technique helps in maximizing quality while minimizing wasted effort.
9. Analyst’s document. Developer’s code. Testers test.
In the past, the sequential process of implementing business requirements (i.e. definition by analysts passed to developers who code and then passed to testers to run tests and then sent back up for rework) might have been good enough. But now, continuous integration of software quality assurance staff in the process results in improved quality and efficiency.
10. Off shoring the QA function is an easy way of reducing the testing cost.
Offshore testing may provide significant cost savings but it also affects the interaction between involved people as well as locating development and testing resources. A better option is to offshore selected components but keep together the development and testing processes.