What is a software test case?
A software test case is a list of conditions and specific steps which allow the quality assurance engineer / tester to determine whether the software is working properly or not. Software test cases are written based on software use cases which are usually written by programmers.
Sets of test cases, as known as test suites, allow testers to test various software functionalities. Break down functionalities into modules and create a test suite per module.
In order to completely test a software, you need to create a test specification which comprises various test suites.
Structure of a software test case
Test case name
Give your test case a proper name, something that helps other testers understand what functionality the test is actually testing.
A proper approach for the test case name is a brief description of the test.
It is highly important that you mention any preconditions required in order to test software functionality. If you do not mention all prerequisites, it is very likely that your test case will fail. Don’t think that others might find that specific requirements / conditions are obvious; mention them all.
Test case execution steps and expected results
There are two approaches for execution steps and results.
One approach is to have a section for Execution steps and one for Expected results. However, this is not the best approach due to the fact that you might have a test result per 2 or 3 steps and it is hard to map them.
Another approach is having results per execution steps and each execution step might have more than one action; see figure below.
Although this section is optional, you might find it useful / important to write any special things you notice during the test case execution.
We’d love to hear the structure you use to write test cases.