What’s the difference between test cases and test scenarios or Test Case vs Test Scenario: how do they differ?
people often find it confusing in defining these two terminologies in software testing. To ease the burden, we have made an infographic representation out of the topic so that it will be easy to understand the test case and test scenario.
What is a test scenario?
A test scenario is a high-level use case or functionality to be tested. Each test scenario can be mapped to one or more detailed test cases. Test scenarios are derived by understanding the user expectation from the software and it is used by the user.
A good tester would cover all the test scenarios and functionalities. This document would then be used to derive the test cases. An example of a test scenario would be a login scenario that can consist of multiple test cases.
What is a test case?
A test case is a detailed step-by-step instruction to perform a series of actions or steps that help to validate a particular functionality in an application. A test case has the following main parts:
- Pre-conditions: the conditions noted in this section need to complete before proceeding with the next steps. For example for a login test case, the preconditions would be the app or software should be successfully launched and the login screen should be displayed.
- Test Steps: These are detailed step-by-step instructions on how to perform the actions on the application. It should include the data to be entered, the action to be performed, and the details of the object of which the action needs to be performed. The quality of the test case is defined by the quality of the test steps. The steps should be so detailed that even a layman should be able to perform the test.
- Expected Result: This section describes the happy path or actual application behavior. For e.g in a login scenario, successfully being able to log in and enter the new screen should be the expected result. One should make sure that 1 test case should have only 1 expected result. This is particularly important for tracking and retesting defects.
- Actual Result: This section is left blank during the planning phase and is updated by the tester during the execution phase. This section captures what the tester sees in the application after performing the test steps mentioned above.
- Test Case Result: If both the expected and actual results are the same the test cases are marked as a pass, and if they are different it is marked as a fail.
Difference between test case and test scenario
Test case | Test Scenario |
Detailed information about what to test, steps involved, expected result, etc. | Mostly contains one line information about what to test |
Used for the validation of test output | It’s a thread of operation |
Helps in agile testing | Helps greatly in exhaustive testing |
Consumes a lot of time | Consumes less time compared to test case preparation |
Serves as a proof guard for new testers | Helps in reducing complexity and repeatability of the product |
Derived from test scenarios | Derived from use case |
Can be used in future regression test cases | Used by new testers to save time |
How to write test cases?
Step 1: ID’ing the test case is very important. Each test case must have a unique ID for better traceability and accountability.
Step 2: Description of the feature or functionality that will be put to test must be added to each test case
Step 3: Conditions that have to be met before execution must be included
Step 4: Relevant data for the execution must be included in every test case
Step 5: The step required to execute the test must be included in detail
Step 6: Expected result before the execution along with actual result must be included
What is test case and test scenario with examples?
Example for a test case
Test Case ID | Description | Steps involved in the execution | Test data | Expected result | Actual result | Pass/fail |
TEA01 | Check user login functionality with required data | 1. Open the app
2. Click the login button 3. Enter mail ID and password 4. Click submit |
User ID= 123@gmail.com
User password: 1212a!@ |
Successful login | Blank screen | Fail |
Example for a test scenario
- search functionality
Test Scenario
|
Verify whether the feature is able to display all the related search results according to the search query |
Best Practices in writing test cases
- it should be easy to understand and decode
- Must be accurate and reusable
- Using a strong title will bring forth a better understanding
- Use short description
- Include pass/fail to every test cases
- Include actual as well as expected result
- mention steps to achieve the objective of the test case
- Subject it to peer review
Best Practices in writing test Scenario
- Make sure that you have clearly gone through business Requirement Specification (BRS), Software Requirement Specification (SRS), Functional Requirement Specification (FRS)
- Make sure that you listed down all the positive and negative test scenarios
- Do several discussions in sprints to form an effective one
- One scenario is supposed to cover one of the requirements. If multiple requirements need to be addressed, create multiple scenarios
- if the scenarios are large and might consume a lot of time. Discuss with the client or the owner and then prioritize!
- it should be easy to understand and must be mapped with the requirements
Final Thought about Test Case vs Test Scenario
Both terminologies are essential for software testing. So Test Case vs Test Scenario is pointless however, differentiating between them essential to not only adopt better practices but for academic purposed also.