What is a test case?

Test case is a set of initial values created in order for a program to follow certain steps to get final result. On the basis of this result you can conclude if your program meets the initial requirements. Test cases should be well-structured and properly documented so that any other tester, having read it, would be able to understand the process of the test.

Test scenarios imply a set of actions, conditions and expected results. Test case contents should contain the main goals and methodologies of its implementation. Conditions mean the actions which prepare the system for testing. Test cases are divided into two groups: positive and negative.

  • Positive test case checks if the program works properly and realizes a certain function using only correct data.
  • Negative test case includes both correct and incorrect data. It is used to check the work of validators. When a validator is triggered, the function should not run.
During the run of this or that test case comparison of expected and actual results. In this situation, there can be only two possible test results: either positive (pass) or negative (fail). But there’re some situations, when during independent software testing the process gets blocked. In this case a tester should describe and document the bug. After that, he postpones the realization of the test case until the bug is fixed.

When we talk about test cases, two more important notion should be mentioned. They are check list and cheat list.

Check list describes what should be tested without indication the possible outcome. Depending on specifications to testing documentation, check lists can include details of different specification levels.

Cheat lists are a set of standard actions which should be performed no matter testing specifications. Pretty often, cheat lists serve as a basis for creating new test and they remind a developer of important checks that should be done in any case.

It’s also important to understand that test cases are not perfect. They all have a “human factor” in it, and this always leaves room for mistake. In order for test cases to serve properly and solve the problems they are supposed to solve, they should be constantly checked and updated from time to time. Don’t forget that the quality of testing services depends on the test cases results.