Skip to content

What is a good test case?

December 7, 2010

What is a good test case? I have asked the same question on a number of popular places where testing professional usually gather. The answer really seem to depend on the person’s background, industry, experience level and project’s nature. I summarised the main points in to the following points, hopefully it will be useful to others.

Please note this list only represents my view plus some input from others. It is by no means complete.

- Correctness. If a test case is not correct, it not only does nothing to adding value to the product, but also runs into the danger of missing genuine defects and wasting project resources. To certain extent, incorrect test is even worse than no test at all.

- Repeatability. If a test can’t be repeatable, it has very limited value in terms of help developer to isolate the defect and be re-usable in the future testing practice. There are certain tests that are not easily repeatable, in this instance the  detailed steps and enough description should be added to aid execution of the test case.

- Tractability. This attribute is important as it provides visibility to testers and managers, enable them to understand several key factor.

  • Assessessing testing coverage.
  • Monitoring testing progress in terms of requirements covered.
  • Understanding business impact when setting priority

- Be SCC. SCC is short for Short Clear and Concise. Just like many other profession writing test case is a science at the same time an art. There is a delicate balance between enough detail and too much detail. The goal is to only write what the tester needs to know in order to execute, the amount of detail should be carefully controlled not to overwhelm.

- Up-to-date. If a test case was correct at the time of writing, it may not be correct after several release of the system, unless it’s been timely updated of course. It’s vitally important to keep all the testing artefacts up-to-date, among them test cases are the most important as they directly impact the testing practice and its outcome.

- Efficient. Efficiency can mean different things in different context. In this particular instance, efficiency is more to do with the time to execute a particular test vs number of defect found. It can be view as ROI. One thing to note though, do not ever sacrifice simplicity for efficiency. I have seen a number of test cases that are so efficient in terms of execution, but it’s a nightmare when checking the expected result, because it’s just too complex to do.

- Relevant. A test case need to have strong relevancy to a particular use case or requirement. In another word, it must have a clear objective about what it is trying to achieve/test.

Of course, you will have your view on what matters when it comes to being a good test case. Do let me know through the comment.

Advertisement

From → ICT

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.