What is a Test Case?
Test cases help guide the tester through a sequence of steps to validate whether a software application is free of bugs, and working as required by the end user. Learning how to write test cases requires basic writing skills, an attention to detail, and a good understanding of the application under test (AUT).
Typically, test cases for a given module or part of an application, are grouped into a test suite. More often than not, a test session will include many test cases as there will usually be more than one specific scenario to be tested.
A well-written test case should allow any tester to understand and execute the test.
When writing test cases, it’s important to put yourself in the user’s shoes and to include all the necessary details. Putting forth the extra effort to write good test cases upfront will save you time and effort further down the road. Well written test cases can mean the difference between a well-tested application and a poorly tested application.
Writing test cases – especially high volumes of them at once – can be a time consuming task. TestLodge makes it easy to write high quality test cases and keep them organized. Here, we’ve outlined some tips on how to write test cases, along with a sample of a test case at the end of this article.
How to write test cases for software:
Use a Strong Title
A good test case starts with a strong title. As a best practice, it’s good to name the test case along the same lines as the module that you are testing. For example, if you’re testing the login page, include “Login Page” in the title of the test case. In some cases, if the tool you’re using doesn’t already do this, it might makes sense to include a unique identifier in the title of the test case as well, so the identifier can be referenced instead of a long title
Include a Strong Description
The description should tell the tester what they’re going to test. Sometimes this section might also include other pertinent information such as the test environment, test data, and preconditions/assumptions. A description should be easy to read and immediately communicate the high-level goal of the test.
Include Assumptions and Preconditions
You should include any assumptions that apply to the test and any preconditions that must be met prior to the test being executed. This information can include which page the user should start the test on, dependencies on the test environment, and any special setup requirements that must be done before running the test. This information also helps keep the test steps short and concise.
Keep the Test Steps Clear and Concise
Test cases should be simple. Keep in mind, the person who wrote the test case might not be the same person who executes the test itself. The test steps should include the necessary data and information on how to execute the test. This is perhaps the most important part of a test case. Keep this section clear and concise, but don’t leave out any necessary details. Write the test case so that anyone can go in and perform the test.
Include the Expected result
The expected result tells the tester what they should experience as a result of the test steps. This is how the tester determines if the test case is a “pass” or “fail”.
Make it Reusable
A good test case is reusable and provides long-term value to the software testing team. When writing a test case, keep this in mind. You can save time down the road by re-using the test case instead of re-writing it.
Sample of a Test Case
Here is an example of a test case:
Title: Login Page – Authenticate Successfully on gmail.com
Description: A registered user should be able to successfully login at gmail.com.
Precondition: the user must already be registered with an email address and password.
Assumption: a supported browser is being used.
- Navigate to gmail.com
- In the ’email’ field, enter the email address of the registered user.
- Click the ‘Next’ button.
- Enter the password of the registered user
- Click ‘Sign In’
Expected Result: A page displaying the gmail user’s inbox should load, showing any new message at the top of the page.
Here’s what this test case would look like in TestLodge:
Tools for writing test cases
There’s no right or wrong place to document your test cases, but there are many tools that help make the process of writing test cases more effective and efficient. For example, test cases have traditionally been written in a spreadsheet. Many testing teams still opt for this approach. It’s fairly flexible, you can create your own process and method of tracking test cases, but it can also be extremely time consuming, and clunky.
Some teams use project management tools to document their test cases. This is a great alternative to a spreadsheet as it introduces collaboration. But there are many dedicated tools available for writing test cases.
With a tool dedicated to test cases, you can write your test cases, perform your tests, report on the results, and collaborate with your team throughout every step of the process. This is where TestLodge really shines.
Additional Benefits of Writing Test Cases
The very practice of writing test cases helps prepare the testing team by ensuring good test coverage across the application, but writing test cases has an even broader impact on quality assurance and user experience.
Test cases will help uncover a lot of information early on; information that can ultimately improve the quality of your product. Here are some additional benefits to writing test cases:
- You’ll find gaps in the design early
- You’ll find usability issues
- New hires can pick up and test the application without much, or any training
- It builds empathy for the users of your product
- It helps you and others learn the product
Writing test cases puts you in your user’s shoes, which builds empathy for the individuals who will actually be using your product. This empathy can easily trickle back into the design and development process, and have a broad impact. As you write test cases, you’ll identify gaps and areas for improvement, things that don’t quite make sense, and these things can be addressed before the application is released into production.
Writing test cases means any new testers that are hired can easily get up to speed on the product without much training. After all, test cases outline exactly how to use the product and what is expected as a result of different actions.
A good set of test cases accessible by other team members makes it easier for others to learn about the product as well. Think of customer support, for example. The support team can browse test cases to understand how upcoming features are going to work. They can use those test cases to write technical documentation and help content.
Writing test cases takes a little practice and knowledge of the software that’s being tested. Well-written test cases can make your testing process smoother, and save you time in the long run. By using TestLodge, you can manage and organizes your test cases in an efficient way. Sign up for a free demo of TestLodge today!