Sprint 3 - Kaboo4sure/MSSU GitHub Wiki

Test Plan for E-Commerce Platform

ChangeLog

Version Change Date By Description
1.0 April 13, 2025 Taofeek Sanyaolu Initial test plan creation

1. Introduction

This test plan outlines the strategy, workflow, and methodology used to test the e-commerce platform under development. The system supports three user roles—buyer, seller, and admin—with capabilities like product search, order management, seller dashboards, and user authentication.

1.1 Scope

1.1.1 In-Scope

  • User Authentication (register, login)
  • Product listing and viewing
  • Seller dashboard for adding/editing products
  • Shopping cart functionality
  • Admin control panel (basic access)

1.1.2 Out-of-Scope

  • Payment integration
  • Product recommendation engine
  • Email notifications
  • Order return process

1.2 Quality Objective

  • Ensure the application meets core functional and security requirements.
  • Ensure the frontend is visually appealing and navigable.
  • Confirm the backend handles user authentication and product CRUD operations correctly.
  • Identify and fix any critical bugs before Sprint 4 demo.

1.3 Roles and Responsibilities

Team Lead

Responsibilities:

  • Oversee the overall development and testing progress during Sprint 3.
  • Facilitate sprint planning, daily standups, and retrospective discussions.
  • Coordinate task assignment among team members (frontend, backend, documentation).
  • Ensure timely delivery of sprint deliverables including the Test Plan, SRS updates, and demo recording.
  • Act as the liaison between the team and course instructor or stakeholders.
  • Review all code merges and manage version control via GitHub.

Developer

Responsibilities:

  • Implement core functionalities as defined in the Software Requirements Specification (SRS), including:
    • User authentication (login/register)
    • Product CRUD operations (Create, Read, Update, Delete)
    • Seller dashboard and admin controls
    • Cart management
  • Write clean, modular, and well-documented code adhering to Django MVC patterns.
  • Collaborate with the UI designer (if applicable) to ensure frontend functionality matches user stories.
  • Perform unit and integration testing during feature development.
  • Push commits regularly and follow branching guidelines.

Tester

Responsibilities:

  • Review system requirements and use cases to derive relevant test cases.
  • Design, execute, and document test scenarios for:
    • Registration and login validation
    • Product management flows
    • Cart functionality
    • Role-based access controls
  • Log bugs in GitHub issues and retest resolved issues after fixes.
  • Verify responsiveness and user experience across multiple browsers and screen sizes.
  • Contribute to the continuous integration setup by ensuring that automated tests are triggered on each commit (using GitHub Actions or similar).
  • Maintain the Test Plan and Test Case Documents.

Team Members

Name Net ID GitHub Username Role
Taofeek Sanyaolu Tas695 Kaboo4sure/MSSU Team Lead, Developer, Tester

2. Test Methodology

2.1 Overview

We are using the Agile methodology due to the iterative nature of sprint-based development. Testing is performed continuously after each implemented feature.

2.2 Test Levels

  • Unit Testing: Models and forms (Django).
  • Integration Testing: Views with database operations.
  • System Testing: Full end-to-end flows like login and product listing.
  • User Acceptance Testing (UAT): Testing with user scenarios for all roles.

2.3 Bug Triage

  • Bugs are logged via GitHub Issues.
  • Severity and priority are assigned upon discovery.
  • Resolved bugs must be retested and closed.

2.4 Suspension Criteria and Resumption Requirements

  • Testing will be suspended if critical environment setup fails (e.g., database unreachable).
  • Testing resumes once blockers are resolved.

2.5 Test Completeness

  • All implemented features must have at least 2 test cases.
  • All bugs must be resolved or assigned to the next sprint with justification.
  • Test coverage should be at least 70% of core use cases.

3. Test Deliverables

Sample deliverables include:

  • Test Plan (this document)
  • Test Cases Document (linked in README or Google Doc)
  • Bug Reports (GitHub issues)
  • Feature Testing Report (pass/fail status)
  • Sprint 3 Demo Recording

4. Resource & Environment Needs

4.1 Testing Tools

  • GitHub (issue tracking, repo)
  • Django Test Framework (TestCase)
  • Selenium (optional, for frontend testing)
  • GitHub Actions (CI pipeline with testing)

4.2 Test Environment

  • OS: Windows 10 / Ubuntu 22.04
  • Browser: Chrome v120+, Firefox v115+
  • Backend: Django 4.x
  • Database: PostgreSQL
  • Python: 3.11

5. Terms/Acronyms

TERM/ACRONYM DEFINITION
API Application Program Interface
AUT Application Under Test
CI Continuous Integration
CRUD Create, Read, Update, Delete
SRS Software Requirements Specification