What is a test case? Test case is a detailed description of how to test certain feature/function. As simple as that.
Why do we need test cases? There are two main reasons. Let's imagine you are a first qa in the company to make it real.
Imagine that you are the first and the only QA in the google. Every week your developers add new features to the google.com
Do you think in 6 months you will remember every feature and function of the site? How about in 2 years? I would forget. And I'm pretty sure you would as well. That's exactly why we need to have test cases:
- To keep track of what and how app needs to be tests
- To know what to automate
Everything should I ideally be automated, so we would not miss any bugs as we are human, and we can make mistakes, unlike computer that simply does what you ask it to do.
How does test case look like?Test case might look differently in different companies, but it will will always have few most important parts:
- Title - title is a super short description of what needs to be tested. EX: user should be able to login after registration
- Prerequisites/preconditions - data / setup that we need to have in order to perform tests. EX: we need to have registered user in order to login
- Instruction - step by step detailed instruction of how to test following case/scenario
- Expected result - will describe what is the expected behavior/condition of successfully passing test
- Type - which is either Automated, Needs Automation, Needs Automation update, or Always manual
Lets see how does it actually look like in the most popular test case management system in the world (Testrail)