Software terminology can be confusing. Test case, test script, test scenario, test plans; they all sound kind of similar and it’s easy to get lost in the mix of all the lingo. Whether you’re an experienced tester or someone new to testing, it’s important to avoid uncertainties in software testing terminology. That’s why in this post, we’re going to take a look at “test case”. So, what is a test case in software testing?
Definition – What is a test case in software testing?
In the simplest form, a test case is a set of conditions or variables under which a tester determines whether the software satisfies requirements and functions properly.
A test case is a single executable test which a tester carries out. It guides them through the steps of the test. You can think of a test case as a set of step-by-step instructions to verify something behaves as it is required to behave.
A test case usually contains:
- Test steps
- Expected result
- Actual result (once tested)
Who Writes Test Cases?
Typically, someone from the QA team writes the test cases. This doesn’t include unit tests, which are written by the development team, but we won’t be getting into unit tests in this post. Make sure whoever is writing test cases has decent writing skills and understands the purpose and value that test cases provide.
What’s The Value?
Test cases have a great impact on the testing phase. Writing test cases is almost as important as the testing process itself. The activity of writing test cases helps you think through the details and ensures you’re approaching the tests from as many angles as possible.
The value of having test cases long-term is that anyone can go in and retest using the test case. Test cases are powerful artifacts that are beneficial to future teammates, as well as a good source of truth for how a system and particular feature work. In short, test cases provide the following value:
- Ensures good test coverage (key functionality isn’t missed in the testing process).
- Allows the tester to think thoroughly through different ways of validating features.
- Negative test cases are also documented, which can often be overlooked.
- They are reusable for the future – anyone can reference them and execute the test.
When Are Test Cases Used?
Test cases are used after development finishes a feature or a set of features. While development is being done, or immediately thereafter, the testing team can prepare test cases for the upcoming tests to be run. The goal is to have test cases ready by the time testing is able to begin.
When testing begins, the testing team follows the test cases or “scripts” they wrote in order to execute the tests and verify the software. The sequence or group of test cases is called a test suite.
Test Case Best Practices
When writing test cases, consider these things:
- Keep the title short.
- Include a strong description.
- Be clear and concise.
- Include the expected result.
You’ll also want to try to make each test case reusable, so that you can conduct tests using it again in the future. Learn more about how to write test cases and see an example in this earlier post.
While writing test cases can add to your overall testing efforts, it can provide a lot of value to your testing process and in the end improve the quality of your software.