Thursday, September 18, 2014

Do we Need Test cases?

I was writing test cases meekly for one of my projects on a busy day at my office. A notion clung my mind why am I doing so. Is this necessary? Is it indispensable?
I tried getting inputs from my fellow colleagues, despite it was vague to question about such an imperative thing.  Every one answered in a similar fashion. It was about its benefits namely repeatability, re-usability, can be used for regression testing (particularly if you don’t have automated scripts), providing an audit trail of testing done (coverage), training – it can be useful for helping to new staff, can provide traceability to requirements etc. Alas, I got all the answers in favor of need as expected.
Test cases are not necessary as it doesn’t imply quality testing and moreover it does not make a good tester in isolation either. In quest of its need I drilled down more.

Software testing is about brainstorming test ideas that you can think. Instead of spending time on writing whether a test is manual type or any other, spend that time in listing or thinking another good test idea. It is about as soon as you get information about the requirements (software requirements specification document though it is always incomplete), we should have a list of ‘Wh…’ questions related to it. Which would certainly help you in evolving your creative thinking too?

Now a day every IT organization is following the agile methodology. There is nothing new in it. Let me give you a more of similar analogy for it. When we speak to a person/group, our notion is more of agile kind of thing. We know what to speak and if we get wrong in between we know how to react to it by asserting new ideas. If we miss some points during the extempore we can share that later on.
Same way if you think in especially for agile software development that is characterized by the division of tasks into short phases of work and frequent reassessment and adaptation of plans. We develop something that can have some missing requirements; issues or new changes/redesigns etc. and these are so frequent.
Coming to the software testing context the changes in requirements are more frequent and it is not an easy task to keep testing needs in same pace. Think of a situation where changes are frequent and someone prepares docs (test plans/cases, matrices) etc. for requirements then the work done for the preparation goes in vain and it happens.
This is my Self-experience :(

In my opinion the conclusion is that writing test cases should only be context driven. A simple feature/check list should be enough for it. A good test design document come in handy too for the same. Invest more time in testing the software rather making your test cases fancy.
Be Skeptic, Test More :)

1 comment: