1. Test Case
Definition
A test case is a set of conditions, steps, and expected results used to verify that a software feature works as intended. Test cases help testers systematically check functionality and ensure quality.
Key points:
- Each test case should have a unique ID.
- Should be clear, concise, and reproducible.
- Can be manual or automated.
Components of a Test Case
| Component | Description |
|---|---|
| Test Case ID | Unique identifier (e.g., TC001) |
| Test Scenario | High-level description of what to test |
| Preconditions | Conditions that must be met before execution |
| Test Steps | Step-by-step actions to perform |
| Test Data | Input data required for testing |
| Expected Result | What the system should do |
| Actual Result | What the system actually does (filled after testing) |
| Status | Pass / Fail / Blocked |
| Remarks / Notes | Any additional info |
Example of a Test Case
Scenario: Test login functionality of a mobile app
| Test Case ID | TC001 |
|---|---|
| Test Scenario | Verify user can login with valid credentials |
| Preconditions | App is installed, user has valid account |
| Test Steps | 1. Open app 2. Enter username and password 3. Click Login button |
| Test Data | Username: testuser Password: Test@123 |
| Expected Result | User should successfully login and see the dashboard |
| Actual Result | (To be filled during execution) |
| Status | Pass / Fail |
| Remarks | N/A |
Best Practices for Test Cases
- Keep test cases simple and clear.
- Cover positive and negative scenarios.
- Use unique IDs for tracking.
- Include preconditions and test data.
- Make them reusable for regression testing.
2. Bug Reporting
Definition
A bug (or defect) is an error, flaw, or unexpected behavior in the software that prevents it from working as intended.
Bug reporting is the process of documenting the issue so that developers can reproduce and fix it.
Components of a Bug Report
| Component | Description |
|---|---|
| Bug ID | Unique identifier (e.g., BUG001) |
| Summary / Title | Short description of the bug |
| Description | Detailed explanation of the issue |
| Steps to Reproduce | Step-by-step instructions to replicate the bug |
| Test Data | Input data used when bug occurred |
| Environment | OS, browser, device, app version |
| Severity | Impact on system (Critical, Major, Minor) |
| Priority | Urgency to fix (High, Medium, Low) |
| Expected Result | What should happen |
| Actual Result | What actually happened |
| Status | Open, In Progress, Fixed, Closed |
| Screenshots / Attachments | Evidence of the bug |
Example of a Bug Report
Title: Login button not responding on Android app
| Bug ID | BUG001 |
|---|---|
| Description | When clicking the login button, nothing happens, and the user cannot login. |
| Steps to Reproduce | 1. Open app 2. Enter valid username and password 3. Click Login button |
| Test Data | Username: testuser Password: Test@123 |
| Environment | Android 12, App version 2.3.1 |
| Severity | Critical |
| Priority | High |
| Expected Result | User should be logged in and redirected to dashboard |
| Actual Result | Nothing happens; button is unresponsive |
| Status | Open |
| Screenshots | [Attach screenshot of unresponsive login button] |
Best Practices for Bug Reporting
- Be clear and concise in description.
- Include steps to reproduce carefully.
- Specify environment details.
- Attach screenshots or logs for evidence.
- Use severity and priority to help developers prioritize fixes.
- Avoid ambiguous terms like “sometimes” or “it doesn’t work”.
- Update status as bug progresses (Open → In Progress → Fixed → Closed).
3. Difference Between Test Case and Bug
| Feature | Test Case | Bug Report |
|---|---|---|
| Purpose | To verify software works correctly | To document defects in the software |
| Created By | Tester | Tester (or QA) |
| When Used | Before execution | After finding an issue during testing |
| Content | Steps, data, expected results | Issue description, steps to reproduce, actual vs expected results |
| Outcome | Pass/Fail | Open/Fixed/Closed |
Summary
- Test Case: Planned steps to check if software behaves as expected.
- Bug Report: Documented issue when software fails.
- Test cases ensure coverage, bug reports ensure issues get fixed.
- Both are essential parts of software quality assurance.