Skip to content

Latest commit

 

History

History
575 lines (410 loc) · 14.8 KB

File metadata and controls

575 lines (410 loc) · 14.8 KB

Test Plan - GitHub Copilot Learning Platform

1. Test Strategy

1.1 Objectives

  • Verify all features work correctly across supported browsers
  • Ensure responsive design works on mobile, tablet, and desktop
  • Validate content accuracy and completeness
  • Test user interactions and navigation
  • Verify accessibility compliance

1.2 Scope

In Scope:

  • Functional testing of all features
  • Cross-browser compatibility
  • Responsive design testing
  • Content validation
  • Navigation and UX testing
  • Accessibility testing

Out of Scope:

  • Backend testing (no backend exists)
  • Performance testing under load
  • Security penetration testing

1.3 Test Environment

  • Browsers: Chrome, Firefox, Safari, Edge (latest versions)
  • Devices: Desktop (1920x1080), Tablet (768x1024), Mobile (375x667)
  • Tools: Browser DevTools, Lighthouse, WAVE Accessibility Tool

2. Test Cases

2.1 Navigation Tests

TC-NAV-001: Header Navigation

Description: Verify header navigation menu works correctly
Steps:

  1. Open the website
  2. Click on each navigation link (Home, Learning Guides, Memory Cards, etc.)
  3. Verify smooth scroll to correct section
  4. Verify active state updates

Expected Result: Each link scrolls to correct section with smooth animation

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-NAV-002: Mobile Menu

Description: Verify mobile hamburger menu functionality
Steps:

  1. Resize browser to mobile width (< 768px)
  2. Click hamburger menu icon
  3. Verify menu expands
  4. Click a navigation link
  5. Verify menu closes after selection

Expected Result: Mobile menu opens/closes correctly and links work

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-NAV-003: Scroll-based Active State

Description: Verify navigation highlights current section on scroll
Steps:

  1. Open the website
  2. Scroll through different sections
  3. Observe navigation menu

Expected Result: Active navigation link updates based on current section

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


2.2 Learning Guides Tests

TC-GUIDE-001: Display All Guides

Description: Verify all learning guides are displayed
Steps:

  1. Navigate to Learning Guides section
  2. Count displayed guide cards

Expected Result: 7 guide cards are displayed with correct information

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-GUIDE-002: Expand/Collapse Guide Content

Description: Verify guide expansion functionality
Steps:

  1. Click "Read More" on a guide card
  2. Verify content expands
  3. Click "Show Less"
  4. Verify content collapses

Expected Result: Guide content expands and collapses smoothly

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-GUIDE-003: Difficulty Badges

Description: Verify difficulty badges are displayed correctly
Steps:

  1. Review all guide cards
  2. Check difficulty badges (Beginner, Intermediate, Advanced)

Expected Result: Each guide has appropriate difficulty badge with correct color

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


2.3 Memory Cards Tests

TC-CARD-001: Card Flip Functionality

Description: Verify memory card flips when clicked
Steps:

  1. Navigate to Memory Cards section
  2. Click on the card
  3. Verify card flips to show answer
  4. Click again
  5. Verify card flips back to question

Expected Result: Card flips smoothly with 3D animation

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-CARD-002: Category Filter

Description: Verify category filtering works
Steps:

  1. Select "Basics" from category dropdown
  2. Navigate through filtered cards
  3. Verify only basics cards are shown
  4. Repeat for other categories

Expected Result: Only cards from selected category are displayed

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-CARD-003: Shuffle Functionality

Description: Verify shuffle button randomizes cards
Steps:

  1. Note current card order
  2. Click "Shuffle" button
  3. Navigate through cards
  4. Verify order has changed

Expected Result: Cards are displayed in random order after shuffle

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-CARD-004: Navigation Buttons

Description: Verify previous/next buttons work
Steps:

  1. Click "Next" button multiple times
  2. Verify different cards are displayed
  3. Click "Previous" button
  4. Verify navigation goes backward

Expected Result: Navigation buttons cycle through cards correctly

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-CARD-005: Card Counter

Description: Verify card counter updates correctly
Steps:

  1. Observe card counter
  2. Navigate through cards
  3. Check counter updates

Expected Result: Counter shows "X / Total" and updates with navigation

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


2.4 Caselets Tests

TC-CASE-001: Display All Caselets

Description: Verify all caselets are displayed
Steps:

  1. Navigate to Caselets section
  2. Count displayed caselets

Expected Result: 10 caselets are displayed with all sections (Scenario, Problem, Solution, Learnings)

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-CASE-002: Content Structure

Description: Verify caselet content structure
Steps:

  1. Review each caselet
  2. Check for required sections

Expected Result: Each caselet has Title, Scenario, Problem, Solution, and Key Learnings

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


2.5 Quiz Tests

TC-QUIZ-001: Start Quiz

Description: Verify quiz starts correctly
Steps:

  1. Navigate to Quiz section
  2. Click "Start Quiz" button
  3. Verify first question appears

Expected Result: Quiz interface displays with first question

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-QUIZ-002: Answer Selection

Description: Verify answer selection and submission
Steps:

  1. Start quiz
  2. Select an answer option
  3. Click "Submit Answer"
  4. Verify feedback appears

Expected Result: Correct/incorrect feedback shown with explanation

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-QUIZ-003: Question Navigation

Description: Verify progression through quiz questions
Steps:

  1. Complete first question
  2. Click "Next Question"
  3. Verify next question loads
  4. Repeat until quiz completes

Expected Result: All 15 questions can be answered sequentially

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-QUIZ-004: Score Calculation

Description: Verify score is calculated correctly
Steps:

  1. Complete quiz with known answers
  2. Check final score
  3. Verify percentage calculation

Expected Result: Score and percentage are accurate

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-QUIZ-005: Quiz Restart

Description: Verify quiz can be retaken
Steps:

  1. Complete quiz
  2. Click "Take Quiz Again"
  3. Verify quiz restarts from beginning

Expected Result: Quiz resets with score at 0 and starts from question 1

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-QUIZ-006: Answer Validation

Description: Verify users must select an answer
Steps:

  1. Start quiz
  2. Click "Submit Answer" without selecting option
  3. Verify alert/message appears

Expected Result: User is prompted to select an answer

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


2.6 Fun Facts Tests

TC-FACT-001: Random Fact Display

Description: Verify random facts are displayed
Steps:

  1. Navigate to Fun Facts section
  2. Click "Show Me a Fact!" button
  3. Verify a fact appears
  4. Click button multiple times
  5. Verify different facts appear

Expected Result: Random facts from the collection are displayed

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-FACT-002: Category Display

Description: Verify fact category is shown
Steps:

  1. Display a fact
  2. Check for category badge

Expected Result: Category badge is displayed with each fact

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


2.7 Points to Ponder Tests

TC-PONDER-001: Display All Points

Description: Verify all points to ponder are displayed
Steps:

  1. Navigate to Points to Ponder section
  2. Count displayed cards

Expected Result: 10 ponder cards are displayed

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-PONDER-002: Content Display

Description: Verify ponder card content
Steps:

  1. Review each ponder card
  2. Check for question, context, and topic tags

Expected Result: Each card shows question, context, and related topics

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


2.8 Responsive Design Tests

TC-RESP-001: Mobile Layout (375px)

Description: Verify layout works on mobile devices
Steps:

  1. Resize browser to 375px width
  2. Navigate through all sections
  3. Test all interactive features

Expected Result: All content is accessible and functional on mobile

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-RESP-002: Tablet Layout (768px)

Description: Verify layout works on tablet devices
Steps:

  1. Resize browser to 768px width
  2. Navigate through all sections
  3. Test all interactive features

Expected Result: All content adapts properly to tablet screen

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-RESP-003: Desktop Layout (1920px)

Description: Verify layout works on desktop
Steps:

  1. View on 1920px width
  2. Navigate through all sections
  3. Verify optimal use of space

Expected Result: Content is well-spaced and readable on large screens

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


2.9 Accessibility Tests

TC-A11Y-001: Keyboard Navigation

Description: Verify site is keyboard navigable
Steps:

  1. Use only keyboard (Tab, Enter, Escape)
  2. Navigate through all interactive elements
  3. Test all features without mouse

Expected Result: All features accessible via keyboard

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-A11Y-002: Screen Reader Compatibility

Description: Verify screen reader can read content
Steps:

  1. Use screen reader (NVDA/JAWS)
  2. Navigate through site
  3. Verify all content is announced

Expected Result: All content is accessible to screen readers

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-A11Y-003: Color Contrast

Description: Verify sufficient color contrast
Steps:

  1. Use browser accessibility tools
  2. Check all text elements
  3. Verify contrast ratio meets WCAG AA (4.5:1)

Expected Result: All text meets minimum contrast requirements

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


2.10 Cross-Browser Tests

TC-BROWSER-001: Chrome Compatibility

Description: Verify full functionality in Chrome
Steps:

  1. Open site in Chrome
  2. Test all features
  3. Check for console errors

Expected Result: All features work without errors

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-BROWSER-002: Firefox Compatibility

Description: Verify full functionality in Firefox
Steps:

  1. Open site in Firefox
  2. Test all features
  3. Check for console errors

Expected Result: All features work without errors

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-BROWSER-003: Safari Compatibility

Description: Verify full functionality in Safari
Steps:

  1. Open site in Safari
  2. Test all features
  3. Check for console errors

Expected Result: All features work without errors

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


TC-BROWSER-004: Edge Compatibility

Description: Verify full functionality in Edge
Steps:

  1. Open site in Edge
  2. Test all features
  3. Check for console errors

Expected Result: All features work without errors

Status: ⬜ Not Started | ⬜ In Progress | ☑ Passed | ⬜ Failed


3. Test Execution Schedule

Phase Duration Activities
Phase 1 Day 1 Navigation and Layout Tests
Phase 2 Day 1 Learning Guides and Memory Cards Tests
Phase 3 Day 2 Caselets, Quiz, and Fun Facts Tests
Phase 4 Day 2 Points to Ponder Tests
Phase 5 Day 3 Responsive Design Tests
Phase 6 Day 3 Accessibility Tests
Phase 7 Day 4 Cross-Browser Tests
Phase 8 Day 4 Regression Testing

4. Test Metrics

4.1 Success Criteria

  • 100% of critical test cases pass
  • 95%+ of all test cases pass
  • No critical bugs remain open
  • All browsers supported
  • WCAG AA compliance achieved

4.2 Metrics to Track

  • Total test cases: 35+
  • Test cases passed: TBD
  • Test cases failed: TBD
  • Defects found: TBD
  • Defects fixed: TBD
  • Test coverage: 100%

5. Defect Management

5.1 Severity Levels

  • Critical: Site unusable, major feature broken
  • High: Important feature not working, workaround exists
  • Medium: Minor feature issue, minimal impact
  • Low: Cosmetic issues, typos

5.2 Defect Tracking

All defects will be documented in the TEST_RESULTS.md file with:

  • Defect ID
  • Severity
  • Description
  • Steps to reproduce
  • Expected vs Actual result
  • Status (Open/Fixed/Closed)

6. Test Data

6.1 Sample Users (Personas)

  • New Developer: First time using GitHub Copilot
  • Experienced Developer: Familiar with AI tools
  • Mobile User: Accessing on smartphone
  • Accessibility User: Using screen reader

6.2 Test Content

All test content is included in data.js:

  • 7 Learning Guides
  • 30 Memory Cards
  • 10 Caselets
  • 15 Quiz Questions
  • 20 Fun Facts
  • 10 Points to Ponder

7. Exit Criteria

  • All test cases executed
  • All critical and high severity defects resolved
  • Test coverage >= 95%
  • All success criteria met
  • Sign-off from stakeholders

8. Risks and Mitigation

Risk Impact Mitigation
Browser compatibility issues High Test early on all browsers
Mobile responsiveness problems Medium Use mobile-first approach
Accessibility gaps High Use automated tools + manual testing
JavaScript errors High Implement error handling, test thoroughly

9. Approval

Test Plan Created By: Development Team
Date: 2024
Version: 1.0

Approved By: ________________
Date: ________________