Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ This application is specifically designed to provide QA learners with a realisti
- Responsive design testing
- Intentional bugs and inconsistencies

📄 [Team Roles & Responsibilities](team-roles.md)


## 🚀 Features

### Pages & Functionality
Expand Down Expand Up @@ -43,6 +46,8 @@ This application is specifically designed to provide QA learners with a realisti
- Status update functionality
- Data persistence testing



## 🛠️ Tech Stack

- **Frontend**: React 18.2.0
Expand Down
69 changes: 69 additions & 0 deletions docs/defect.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
🐞 CleanCity QA – Final Defect Log
Team: TestTribe
Project: CleanCity – Waste Pickup Scheduler
Testers: Siphesihle, Sharon, Ishmael
Date: July 16, 2025

📋 Defects
ID Title Description Steps to Reproduce Expected Actual Severity Status
D-001 Allows Scheduling in the Past System allows scheduling pickups for past dates. 1. Go to Schedule Pickup
2. Select past date
3. Submit System should reject past dates. Past date accepted. High Open
D-002 Alert Does Not Clear After Submission Success alert stays on screen after submission. 1. Schedule pickup
2. Submit
3. Observe alert Alert should disappear or auto-clear. Alert stays indefinitely. Low Open
D-003 Description Allows Too Few Characters Description input accepts <3 characters. 1. Schedule pickup
2. Enter short text
3. Submit Minimum 3 characters required. Accepts short text. Medium Open
D-004 No Name Validation Pickup can be submitted with empty or invalid name. 1. Leave name blank or invalid
2. Submit Should validate name. No validation. High Open
D-005 Invalid Inputs Allowed Fields accept spaces, dots, symbols. 1. Enter invalid chars
2. Submit Input should be sanitized. Invalid input accepted. High Open
D-006 Allows Same-Day Scheduling Allows pickup for same day, violating 24h policy. 1. Pick today’s date
2. Submit Should block same-day pickup. Allowed. Medium Open
D-007 Unable to Add Pickup After Scheduling Cannot add second pickup if first exists. 1. Schedule pickup
2. Try to add another Should allow if within rules. System blocks it. Medium Open
D-008 No Status Update After Request No real-time status update after scheduling. 1. Schedule pickup
2. Check dashboard Should update status immediately. Status unchanged. Medium Open
D-009 Unable to Upload Profile Picture Upload fails or does nothing. 1. Go to Profile
2. Upload picture Should upload successfully. Upload fails. Medium Open
D-010 Feature Section Not Clickable Landing page feature section not interactive. 1. View landing page
2. Click feature Should link to pages. No links. Low Open
D-011 Blog/Comment Not Visible to User User can’t see own blog/comments. 1. Post blog/comment
2. Reload Should display user’s posts. Not visible. High Open
D-012 Comments Disappear on Reload Comments vanish after page reload. 1. Add comment
2. Reload Comments persist. Comments gone. High Open
D-013 No Edit/Delete for Comments Comments can’t be edited/deleted. 1. Post comment
2. Look for edit/delete Should allow edits/deletes. No option. Medium Open
D-014 Comments Show 'You' Comments show ‘You’ instead of real username. 1. Post comment
2. View comment Should show actual name. Displays ‘You’. Low Open
D-015 Community Input Accepts Invalid Comment input accepts empty/special chars. 1. Enter invalid input
2. Submit Should validate. Invalid input accepted. Medium Open
D-016 Missing Apply Button in Dropdown Blog filter lacks ‘Apply’ button. 1. Open dropdown
2. Try to filter Should apply filter. No apply option. Low Open
D-017 Exceeds Weekly Pickup Limit More than 3 pickups/week allowed. 1. Schedule 4+ pickups/week Should block excess pickups. No limit enforced. High Open
D-018 Pickup Allowed <24 Hours Pickup allowed with <24h notice. 1. Schedule for same day/<24h Should reject. Pickup accepted. High Open
D-019 Quiz Button Says 'Next' Last quiz question says ‘Next’ not ‘Complete’. 1. Reach last quiz
2. Check button Should say ‘Complete Quiz’. Says ‘Next Question’. Low Open
D-020 Quiz Restarts Instead of Showing Score Quiz restarts instead of displaying total score. 1. Finish quiz
2. Submit Should show score. Restarts quiz. High Open
D-021 Quiz Logic Always Marks Answer Wrong Quiz always marks ‘Peter Box’ wrong. 1. Select correct answer
2. Submit Correct answer accepted. Always wrong. High Open
D-022 Score Counter Increases After Quiz Score keeps counting after quiz completion. 1. Finish quiz
2. Observe score Should freeze. Score updates still. Medium Open
D-023 Score Display Inconsistent Score shows wrong total while taking quiz. 1. Take quiz
2. Check score Should be accurate. Inconsistent. Medium Open
D-024 Dashboard UI Needs Improvement Dashboard analytics unclear or messy. 1. Open dashboard Should be clear & user-friendly. Needs improvement. Low Open
D-025 Scheduled Pickups Not Visible Scheduled pickups don’t appear on dashboard. 1. Schedule pickup
2. Check dashboard Should display pickups. Not visible. High Open
D-026 Dashboard Doesn’t Reflect Added Pickups Added pickups not shown immediately. 1. Add pickup
2. Refresh dashboard Should reflect instantly. No update. High Open
D-027 Profile Doesn’t Show Comments User profile doesn’t show user’s comments. 1. Go to profile
2. Check comments Should display them. Doesn’t display. Medium Open
D-028 Missing Redirect to Create Blog Profile page lacks link to create a blog post. 1. Go to profile
2. Look for blog link Should redirect. No redirect. Low Open
D-029 Profile Doesn’t Reflect Requests Profile page doesn’t show scheduled pickups. 1. Schedule pickup
2. Check profile Should display requests. Doesn’t display. High Open
D-030 Duplicate Sign-Ups Allowed Same credentials reused for multiple sign-ups. 1. Sign up with same email
2. Submit Should block duplicate. Allows duplicate. High Open

128 changes: 128 additions & 0 deletions docs/test-design-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
Updated Test Plan & Strategy

🎯 Test Objectives

The objective of testing the CleanCity application is to verify that core functionalities work as expected, that users receive appropriate feedback during various flows, and that UI and logic bugs are detected early. This includes form validation, filtering, accessibility, UI state refresh, and responsiveness.

🔍 Scope

In Scope:

Form validation (Home, Feedback Pages)

Filtering by location and status (Dashboard)

Admin status updates and data persistence

Accessibility testing (alt text, keyboard nav)

UI responsiveness (mobile/tablet/desktop)

Boundary input handling

Out of Scope:

Backend/API testing (not implemented)

Performance/load testing

Authentication/authorization (not present)

🛠️ Tools & Resources

Manual: Browser DevTools, screen reader (NVDA/VoiceOver)

Automated: React Testing Library, Lighthouse

Collaboration: GitHub (issues, branches, pull requests)

Environment: Local development using Node.js and npm

🧪 Test Levels

Component Testing – Validate each form/page renders and handles input correctly.

Integration Testing – Ensure filters work across data sets.

System Testing – Test full end-to-end flows.

Regression Testing – Re-run tests after fixes or updates.

⚠️ Risk Analysis

Area

Risk Description

Likelihood

Impact

Priority

Form Validation

Invalid inputs bypass checks

High

High

Critical

Admin State Updates

UI doesn’t reflect status change

Medium

High

High

Accessibility

Missing alt text / screen reader issues

High

Medium

High

Filtering

Incorrect results returned

Medium

High

High

Responsiveness

Layout breaks on small screens

Medium

Medium

Medium

👥 Updated Roles & Responsibilities

Sharon – Test Plan Owner: Define test strategy, risks, scope, and documentation lead

Sphe – Manual/Automated Testing: Setup, execute tests, document findings

Ishmael – Reviewer: Review test artifacts, support test data creation, raise GitHub issues

📅 Timeline Adjustments

Initial plan set for 1 week

Mid-week alignment added based on findings from Sphe’s manual testing

Final review and merge scheduled for day 6

Loading