blog

Logo for QA

QA & Requirements Gathering: Why?

by

One of the most common misconceptions about software testing is that QA does not come into play until the development of a module is complete and ready to test.

In actuality, the earlier QA is involved in the Software Development Life Cycle (SDLC) the better. Studies have shown that up to two-thirds of defects can be attributed to requirements and design.

Why involve QA in the requirements phase?

  • When QA is actively engaged in requirements gathering, they will hear the client’s needs directly from the source. This minimizes the chance of important details getting lost in the translation process and closes the loop on potential communication gaps. Testers will foster specificity in the documentation.
  • Software testers are intuitive creatures. They will ask questions from the user’s perspective. While developers generally think about how to code the functionality as they listen to client needs, the tester will begin to use the application in their minds and pose critical questions that will directly impact usability.
  • Probably the most important benefit that can be recognized is the reduction of rework. Addressing ambiguity prior to development reduces the bottom line in both time and money. All errors translate to cost; the later in the SDLC a defect is identified, the more costly it is to fix.
  • Another benefit is the acceleration of the testing process. Rather than wait for modules to be developed, the tester can begin crafting the test plan during the requirements phase. In doing so, additional questions can be identified and resolved prior to development. Having the test plan in place prior to the onset of an actual testing cycle can also lead to a smoother release and prevent delays in delivery to the client.

This is not to say that the requirements will be lacking or incorrect if the tester is not involved, but rather to point out that the process can be enhanced by their participation. Having the entire team invested in the process is essential to reducing the overall cost of producing software. Collaboration and communication throughout a project is the key to success.

+ more

Accurate Timing

Accurate Timing

In many tasks we need to do something at given intervals of time. The most obvious ways may not give you the best results. Time? Meh. The most basic tasks that don't have what you might call CPU-scale time requirements can be handled with the usual language and...

read more