003 – Demo Application for Practicing Software Testing - rkb-sdet/SoftwareTesting GitHub Wiki
1. Introduction
- Purpose: Introduce a demo application for hands-on software testing practice.
- Application URL: [tutorialsninja.com/demo](http://tutorialsninja.com/demo)
- Domain: E-commerce (similar to Amazon, Flipkart).
- Products: iPhone, MacBook, Apple Cinema, iPod, etc.
- This application will be used in upcoming sessions for practical demonstrations.
2. Real-World Testing Workflow (High-Level)
Step 1: Understanding the Application
-
Before testing, explore and familiarize yourself with the application.
-
Identify:
- Purpose: What the app does (e-commerce site for selling products).
- Features: Search, product pages, add to cart, login, etc.
-
Explore different pages and functionalities randomly to get a holistic view.
Example:
- Search for “iPhone” → Check search results → Open product page → Note features like "Add to Cart".
Step 2: Creating a Test Plan
-
Purpose: Define what, how, and when to test.
-
Includes:
- Scope
- Objectives
- Testing strategy
- Resource planning
- Schedule
Step 3: Creating Test Scenarios
- High-level descriptions of what to test.
- Example: Verify if the search functionality returns relevant results for a product name.
Step 4: Creating Test Cases
-
Detailed step-by-step instructions to execute a test scenario.
-
Example:
- Open homepage.
- Enter "iPhone" in search bar.
- Click Search.
- Verify results contain "iPhone".
Note: Test plan, test scenarios, and test cases together are called test artifacts.
Step 5: Finding and Reporting Defects
-
Goal: Identify where the application does not work as expected.
-
Defect hunting: Systematically explore to find issues.
-
Reporting defects:
- Record defect details (page, steps to reproduce, expected vs actual behavior).
- Share with developers for fixing.
3. Why This Process Matters
- Ensures structured testing instead of random clicks.
- Improves defect detection rate.
- Saves time and resources by planning in advance.
- Mimics real project workflow followed in software testing.
4. Summary Diagram
flowchart TD
A[Client Shares Application] --> B[Understand the Application]
B --> C[Create Test Plan]
C --> D[Create Test Scenarios]
D --> E[Create Test Cases]
E --> F[Execute Tests & Find Defects]
F --> G[Report Defects to Developers]
G --> H[Developers Fix Defects]
Key Takeaway:
Before touching the "Test" button, know the app inside-out, plan your approach, prepare artifacts, execute systematically, and report defects clearly.