1.What is a Test Case?
A Test Case is a set of steps used to verify whether a particular functionality is working correctly or not.
It tells us:
- What to test
- What data to use
- What steps to perform
- What result we expect
- What actually happened
Example: Verify that a registered user can log in using a valid username and password and is successfully redirected to the home page after clicking the login button.
2.What is a Test Scenario?
A Test Scenario is a high-level functionality or situation that needs to be tested.
Represents a broad testing objective or functionality.
Focuses on identifying areas of the application to be tested.
Serves as the basis for creating detailed test cases.
Example: Payment Gateway Test Scenario Verify that a user can successfully complete a payment using available payment methods.
Test Case vs Test Scenario:
Test Scenario: High-level testing objective focused on what to test.
Test Case: Detailed testing procedure focused on how to test.
Relationship: Test cases are derived from test scenarios, and test scenarios are derived from requirements (SRS/BRS).
- Test Scenario = What to test?
- Test Case = How to test it?
Positive vs Negative vs Destructive Test Cases
When testing software, it's important to check how it works in different situations, including both when everything is functioning as expected and when things don't work as expected.
Here are the three main types of test cases we consider:
Positive test cases: These are ones in which the system being tested is expected to work correctly. These tests are designed to show that the system can handle valid input and produce the expected output.
Example of Positive Testing
In a login form, when a user enters a valid username and password, they should be able to log in successfully.
Test Steps:
Enter a valid username and password.
Click on the "Login" button.
Assert that the user is directed to the homepage.
Expected Outcome: The login is successful, and the user is redirected to the homepage.
Negative test cases: These are those in which the system being tested is expected to fail. These tests help ensure that the system can handle invalid input and produce error messages or other appropriate outputs when necessary.
Example of Negative Testing
In a login form, when a user enters an invalid username or password, they should be shown an error message and should not be able to log in.
Destructive test cases: These are those in which the system being tested is deliberately broken to test its recovery capabilities. These tests help ensure that the system can deal with unexpected failures and still function properly.
Example of Destructive Testing
In a login form, trying to submit the login form with completely malformed input (e.g., very long input strings or non-English characters) to check if the system can handle such inputs without crashing.


Top comments (0)