In the last blog, I wrote about the importance of creating test cases in projects that follow agile methodology. To continue on the same path, I will add a few more articles around test cases.
Let's start with the basics: What is a TEST CASE?
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 will look at “test case”. So, what is a test case in software testing?

Definition
In the simplest form, a test case is a set of conditions or actions under which a tester determines whether the software satisfies requirements and functions properly.
A test case is a single executable test that 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 Case ID
Title
Description
Test steps
Test Data
Expected result
Execution Result (Once tested)
The above is the minimum information that a test case should have. Moreover, the following are some more fields that are useful for overall test case management and making the QA team's life easy:
Priority (High, Medium, Low)
Type (Smoke, Sanity, Regression)
Prerequisites
Created By and On
Executed By and On
Automation? (Yes, No)
Below is two sample test cases created with all the above fields:
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.
Pointer: Read more about Unit Testing in this post.
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 can 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. Soon, you will see a separate article on how to write test cases with some industry-standard examples.
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.
In the next blog, I will cover different types of test cases that QA can create for any given software. Do subscribe below to get the latest updates!
Happy Testing!
Comments