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:

    1. Open homepage.
    2. Enter "iPhone" in search bar.
    3. Click Search.
    4. 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.