Jeyasekar Marimuthu, Mcafee
In most software development organizations, QA has been a passive member in the design phase. QA’s role has been assumed to begin only when the implementation phase kicks off. Had QA not missed capturing some of the valuable details during design phase, wouldn’t their role be much effective than now?
This paper is about involving QA from the design phase. The amount of gain that organizations will benefit by having a QA architect is explained in this paper. There are some key advantages if QA penetrates deeper in design. Some of the noteworthy data points are abstracted in this section.
QA’s involvement in the design phase will help the QA team understanding weightage of each user story/ theme/feature-group in terms of complexity, inter dependency, number of functions involved, distributed coverage across various layers of the application and the required number of unit test cases.
QA involvement in the design phase will also help detecting issues in advanced stages of the project and the same will help estimating QA costs with better accuracy.
In design oriented QA planning, test plans will be created in accordance with code flow. Test cases will be executed in a systematic approach. Test cases will be optimized as required by the design. A lot of guess work during QA planning will be avoided. Test ownership can be effectively assigned when the fundamental design is known in advance. Sometimes having a single QA owner for common- code (designed to cover multiple stories across different feature groups) can help avoiding multiple owners.
The efficiency of automation significantly increases when QA knows the design well. Effective automated cases will increase the code coverage. Also QA will gain visibility into the non-functional requirements like fault tolerance, extensibility, reliability, maintainability and availability.
How can QA begin their contributions to design? Let us see in the sections below.