DEV Community

Akhmad Fathonih
Akhmad Fathonih

Posted on

Why didn't we catch it during QA?

Imagine there's a mid-sized startup in 2020. They are quite advanced and has put people to couple of roles for product development. They have testers, developers, and product managers (who plan features). Spirit was high and they are chugging along just fine. Until one day, a production bug happen.

"Why didn't we catch it during QA?", a question was thrown into sprint retro in good spirit.

Discussion follows afterward and they concluded that testing should not be done only in regression -- as regression time was not enough to re-test all the hundreds of use cases. To catch bugs early, testing should also be performed right after development is complete to make sure it was build against the specification. Ticket should not be closed before testing is done on the feature ticket. Everyone agrees it's the right thing to do and they proceed with the new practice.

Things were chugging along nicely. Until another production bug pop up again.

Again, "Why didn't we catch it during QA?", a question was thrown into sprint retro in good spirit.

"We have tested the feature immediately after code has been merged and we found it built according to the specification."
Discussion follows afterward and they found out that developer has built the feature exactly as specified by product manager. However, the specification didn't capture a use case performed by some users.

So, the team agrees to amend their practices. Prior to development, specification has to be checked with testers (and of course developers) to make sure specification does not have gaps. A formal method was introduced to verify specification which output can be used directly for feature testing.


Have you asked above question to your team? Have you ever received such question as tester?

Depends on the team condition, individual state, and other things, above question can be very harsh. Sometimes it is required to verify wether testers have sound test plan and approach to build one. But you cannot repeat the same question on every occasion. If you do though, then it's a sign of a deeper problem to solve.

The gist are:

  1. Testing by testers is not limited to activities prior to release
  2. Testing are needed in every phase of software development. Shift left. Catch defects early before it's costly to fix.
  3. Testing by testers is not a reason to skip testing during development. If you do this, you will need a specific skillset of test engineer and also different planning on the size of those testers.

Why do we have defects in the first place anyway?

Top comments (0)