Canarys | IT Services


The Best Practices and Advantages of Designing Effective Test Cases


The Best Practices and Advantages of Designing Effective Test Cases


Test case is a “Documentation specifying inputs, predicted results, and a set of execution conditions for a test item.”  The aim is to divide the software function into small units of function that is testable with input, and producing result that is measurable.

So, basically a test case is a feature/function description that should be executed with a range of input, given certain preconditions, and the outcome measured against expected result.

There is a common misconception relating to test cases and test scripts, or even test suite. Many people use them interchangeably, and that is a mistake. In short, a test script (or test suite) is a compilation of multiple test cases.

A good design of test cases should help the testing team to find and remove many logical errors in design, in addition, a good and effective test case should be based on a relevant “Use case”.

Few comments that simplify things:

  • Test cases should give confidence that a specific functionality is working as designed.
  • Test cases are helpful when you need to analyze and determine the project risks
  • The same test case should be re-tested with different inputs (Positive/Negative).
  • Test cases are the way to measure the implementation and testing coverage.
  • Test cases are always helpful when you need to provide time estimations.
  • Test cases should always contain a specific input and the expected result.
  • Test cases are always helpful when you need to provide time estimations.
  • A test case should base on the software requirements and specifications.
  • Test cases are the way that testers can make the “Validation” process.

General categories of a “Test” case structure: 

  • Test status (Pass, Fail, in progress, Block other test, Blocked by other test/Bug/Etc.)
  • Test summery (short description that describes the test and his objective).
  • Prerequisites that should fulfil before the test execution.
  • Test category (Performance, usability, GUI Etc.).
  • Test owner – the tester that going to run the test.
  • Test identification number – the test case ID.
  • Dates (created, Modified and closed).
  • Expected results AND actual results.
  • Based on Requirement ID?
  • Any automation coverage?
  • Based on Use case ID?
  • Execution estimation.
  • Test environment.
  • Detailed steps.
  • Test Priority.
  • Test Inputs.

How to design a great test case?

  • Test cases should be readable by other persons (Project owner, management, testers, Etc.).
  • Test cases should be written with the goal to find software errors.
  • In my opinion, a good test case is one that can be automated.
  • Test cases should write to provide testing coverage.
  • Every step should have the corresponding results.
  • The test case is logical and easy for execution.
  • Designed based on use case / Requirements.
  • The test case should be highly detailed.
  • Each test case should test a specific functionality, multiple test cases can always be combined to create a test procedure.

What information would the test manager want out of test case document/s? 

  • The quality of the application, based on the current testing coverage/results.
  • All the relevant data that needed for “Risk Management” process.
  • How much testing is still needed to end the current testing cycle?
  • The number of errors that raised based on those test cases?
  • Is the software is ready for Beta/Alpha/Acceptance testing?
  • The Stability of the system against different architectures.
  • The current coverage against the expected timelines?
  • All the relevant data that needed for “Risk analysis”
  • How many use cases are tested and covered?
  • How many bugs are found in specific areas?
  • Is the current testing coverage is enough?
  • Is the software ready for automation?
  • The quality of the test designee?
  • The quality of the code?
  • The deviation/correctness against the original requirements and specifications.

Leave a Reply

Your email address will not be published. Required fields are marked *

Reach Us

With Canarys,
Let’s Plan. Grow. Strive. Succeed.