Test Plan - djgamekid/GDP-Group-I-bearcatmanager GitHub Wiki

Bearcat Event Manager Test Plan

Bearcat Event Manager

Last updated: 03/20/2025


Test Plan

Introduction

This document outlines the test plan for the Event Managing Application, developed using Vite + React for the frontend and Firebase for the backend and authentication. The purpose of this test plan is to ensure the system functions correctly, allowing admins to manage events and track attendance while enabling users to search for events, purchase tickets, and check in via QR codes.

Constraints include dependencies on Firebase authentication and Firestore for data storage, potential API limitations, and the need for a seamless user experience across both admin and user interfaces.

References

Features

To be tested

Feature Description List of Functional Requirements
User can get a ticket for an event FR 1
Admin can create an event FR 2
User can search for created events FR 3
Admin can delete events FR 4
Admin can edit currently created events FR 5
System accepts user credentials FR 6
System allows account creation using email FR 7
QR code is generated with a ticket FR 8
Attendance manager can check in event attendees FR 9
System authenticates user credentials FR 10
Dashboard displays upcoming events and pre-selected events FR 11
System sends email confirmation for selected event FR 12

Not to be tested

Feature Description List of Functional Requirements Rationale
Email notifications formatting FR 12 Requires manual validation, not automated testing

Approach

Tools

  • Jest - Unit testing framework for JavaScript/React
  • React Testing Library - UI component testing
  • Cypress - End-to-end testing framework
  • Firebase Emulator Suite - Local testing for Firestore and Authentication
  • Postman - API testing for Firebase interactions

Methods

  • Unit Testing - Ensures individual components and functions work correctly
  • Integration Testing - Ensures Firebase authentication and Firestore operations work together
  • End-to-End Testing - Simulates real-world user interactions
  • UI Testing - Ensures frontend elements work as expected

Test Deliverables

User Authentication ✅ (Pass)

Requirement Test Case Description Test Type Person Responsible Completed
FR 6 User enters valid credentials and logs in successfully Unit Anthony Jack ✅ Pass
FR 6 User enters incorrect credentials and is denied access Unit Sai Achyuth Konda ✅ Pass
FR 7 New user creates an account using email Unit Manikala Chevitipalli ✅ Pass
FR 10 System verifies authentication token validity Integration Darren Ross ✅ Pass

Event Management

Requirement Test Case Description Test Type Person Responsible Completed
FR 2 Admin creates a new event with valid data UI Manikala Chevitipalli ✅ Pass
FR 4 Admin deletes an event successfully UI Sai Achyuth Konda ✅ Pass
FR 5 Admin updates an existing event's details UI Anthony Jack Fail

Issue: Admin cannot upload a new event photo

Description: Admins are only able to change the explicit details of an event and not the image related.
Resolution Plan: Rework UI and functions to allow for image reupload during event edit.

Ticketing System

Requirement Test Case Description Test Type Person Responsible Completed
FR 1 User purchases a ticket for an event UI Darren Ross ✅ Pass
FR 8 System generates a QR code for the purchased ticket Integration Manikala Chevitipalli ✅ Pass
FR 9 Admin scans QR code to check in an attendee UI Anthony Jack Fail

Issue: QR Code Check-in Failure

Description: The QR code scanner fails to validate certain tickets (authentication problem).
Resolution Plan: Investigate potential encoding issues with QR codes and backend calls to Firebase.

Event Search and Dashboard ✅ (Pass)

Requirement Test Case Description Test Type Person Responsible Completed
FR 3 User searches for an event by name UI Sai Achyuth Konda ✅ Pass
FR 11 Dashboard displays upcoming events UI Darren Ross ✅ Pass

Email Notifications

Requirement Test Case Description Test Type Person Responsible Completed
FR 12 User receives a confirmation email after ticket purchase Integration Manikala Chevitipalli Fail

Issue: Email Notification Failure

Description: Confirmation emails are not being sent after ticket purchases.
Resolution Plan: Verify Firebase email configurations and debug email-sending service.