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 |