Discussing the nuts and bolts of software development

Wednesday, July 23, 2008

 

Software Testers - Don't Underestimate Their Worth for Success

Sometimes, testing your application isn’t enough: sometimes your test cases need to be tested! Testing doesn’t always give you what you’d expect. In extreme cases, it can even give you a false sense of confidence in a product that is a complete failure.

Recently, I was managing an offshore team developing a component for our client's core enterprise application. We wrote extensive test cases and, because we were concerned about a lack of domain knowledge, we even had architects write some of the test cases. Things were looking good as we approached the end of the development cycle: the product was behaving as it was supposed to; we were passing test cases; we were greenlighted by the QC ‘process’.

Our confidence was high, and we were ready to move on to automated testing. Then we found the problem. It turns out that our test cases were written with a single user in mind. The minute we started to use this component with concurrent user access, the system would pretty much lock up. Our confidence evaporated.

This was a big mistake. Architects and technical leads both reviewed the test cases. Nobody found the oversight at the time. This was compounded by an ‘if it passes the test cases then it works’ mentality.

Unfortunately, a solution to this problem isn’t as easy as ‘follow these three steps’. But if we can take away a lesson learned from this, it is that testing the right way is not only very important to the success of a product, but it also shouldn’t be taken for granted. If you haven’t noticed, QC/QA and testers were not included in the writing of test cases, thus bypassing all kinds of valuable experience that would most likely caught our newbie mistakes.

Bottom line - Don’t underestimate the worth of your testers and their experience, it might just come back to bite you in the future.

Labels: , , ,


Comments:
I great ideal is to have, for each iteration of development (milestone), a brainstorming meeting between the QC/QA and the development team (somewhat more difficult if they are offshore) and title the meeting, "How Can I Break This Application"...
Usually everybody is so busy with the task at hand that they forget about the "oversights". The brainstorming session hopefully tries to redirect the team to identify holes that might have been missed.
 
Thank you for the informative post. It was thoroughly helpful to me. Keep posting more such articles on software testing training in Chennai and enlighten us.
 
Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?