Project Test Plan - CankayaUniversity/ceng-407-408-2024-2025-EmoTagger-A-Community-driven-Emotion-Annotation-Tool GitHub Wiki
PROJECT TEST PLAN
TABLE OF CONTENTS
- Introduction
- Features to be Tested
- Features Not to be Tested
- Item Pass/Fail Criteria
- References
- Test Design Specifications
- Detailed Test Cases
1. INTRODUCTION
1.1 Version Control
Version |
Description of Changes |
Date |
1.0 |
First Version |
March 2025 |
1.2 Overview
This document defines the test plan for the EmoTagger web application. The project is a crowdsourced emotion tagging platform that allows users to listen to music and tag the emotions they experience. It includes a gamified interface, community engagement features, and an analytics dashboard for data tracking.
1.3 Scope
This test plan includes the testing scope, test strategy, design specifications, pass/fail criteria, detailed test cases, and schedule for GUI, admin panel, user interaction forms, and feedback system.
1.4 Terminology
Acronym |
Definition |
GUI |
Graphical User Interface |
ADM |
Admin Dashboard |
FORM |
Form Validation |
2. FEATURES TO BE TESTED
- Graphical User Interface (GUI)
- Emotion Annotation Module
- Gamification System
- Admin Dashboard
- Form Validation
- Music Player Controls
- Navigation Bar
- Point-Based Leaderboard
- Admin Panel Navigation
- CSV export functionality
3. FEATURES NOT TO BE TESTED
- External API for music recommendation (handled by third-party)
- Payment or donation-related systems
- Badge system
- Multi-Language Support
4. ITEM PASS/FAIL CRITERIA
A test case is considered passed if the actual output matches the expected output under the given test conditions. It is failed if any mismatch, error, or unexpected behavior is observed.
4.1 Exit Criteria
- 100% of the test cases are executed
- 95% of the test cases passed
- All high and medium priority test cases passed
5. REFERENCES
- EmoTagger_SRS_V1.0 β February 2025
- EmoTagger_SDD_V1.0 β February 2025
6. TEST DESIGN SPECIFICATIONS
6.1 Gamification System
6.1.1 Subfeatures
- Earn Points for Tagging (GAM.POINTS)
- Display Leaderboard (GAM.LBD)
6.1.2 Test Cases
TC ID |
Requirement |
Priority |
Scenario Description |
GAM.POINTS.01 |
Tag Counting |
High |
User tags 1 song, verify point increment |
GAM.LBD.01 |
Leaderboard Display |
Medium |
Leaderboard shows userβs rank after tagging |
6.2 Form Validation
6.2.1 Subfeatures
- Registration Form (FORM.REG)
- Login Form (FORM.LOGIN)
- Empty and Invalid Fields (FORM.INVALID)
6.2.2 Test Cases
TC ID |
Requirement |
Priority |
Scenario Description |
FORM.REG.01 |
Required Fields |
High |
Submit form with empty fields, errors displayed |
FORM.REG.02 |
Email Format |
Medium |
Enter invalid email, system rejects input |
FORM.LOGIN.01 |
Wrong Credentials |
High |
Login with wrong password, error shown |
FORM.INVALID.01 |
Prevent Double Submit |
Medium |
Double-click submit sends only one request |
6.3 Graphical User Interface (GUI)
6.3.1 Subfeatures
- Start Tagging (GUI.STRT_BTN)
- Submit Emotion (GUI.SUB_BTN)
- View Profile (GUI.PROF_BTN)
- Music Player Controls (GUI.MUSIC_BTN)
- Navigation Bar (GUI.NAV)
6.3.2 Test Cases
TC ID |
Requirement |
Priority |
Scenario Description |
Status |
GUI.STRT_BTN.01 |
Start Tagging Page |
High |
Open homepage, click "Start Tagging" button |
Pass |
GUI.SUB_BTN.01 |
Submit Emotion Tag |
High |
Select emotion and click submit while listening |
Pass |
GUI.MUSIC_BTN.01 |
Music Playback |
High |
Play, pause, skip, and return music controls |
Pass |
GUI.NAV.01 |
Navigation Function |
High |
Click each nav bar item and verify redirection |
Pass |
6.4 Admin Panel
6.4.1 Subfeatures
- User Management (ADM.USR)
- View Statistics (ADM.STATS)
- Review Tag Logs (ADM.REV_TAGS)
6.4.2 Test Cases
TC ID |
Requirement |
Priority |
Scenario Description |
Status |
ADM.USR.01 |
Deactivate Account |
High |
Admin disables user and test login fails |
Pass |
ADM.STATS.01 |
View Tagging Stats |
High |
Access analytics and confirm data chart |
Pass |
ADM.REV_TAGS.01 |
Review Tag Logs |
Medium |
Admin filters and views historical tags |
Pass |
6.5 General Features
6.5.1 Subfeatures
- Point System (GEN.POINTS.01)
- Leaderboard Display (GEN.LEADERBOARD.01)
6.5.2 Test Cases
TC ID |
Requirement |
Priority |
Scenario Description |
Status |
GEN.POINTS.01 |
Tagging, Point Rule |
High |
Tag a music and verify points increase |
Pass |
GEN.LEADERBOARD.01 |
Leaderboard View |
Medium |
Check if users are ranked based on points |
Pass |
7. DETAILED TEST CASES
7.1 ADM.USR.01
Field |
Description |
Test ID |
ADM.USR.01 |
Purpose |
Validate that the admin can deactivate a user account |
Requirements |
Admin User Management |
Priority |
High |
Estimated Time |
3 minutes |
Setup |
Admin is logged in, test user is active |
Procedure |
Navigate to User Management β Select user β Click 'Deactivate' β Try login |
Expected Result |
Login fails, user is marked as inactive |
Cleanup |
Reactivate user if needed |
7.2 GUI.MUSIC_BTN.01
Field |
Description |
Test ID |
GUI.MUSIC_BTN.01 |
Purpose |
Verify music player buttons work correctly |
Requirements |
Music Playback |
Priority |
High |
Estimated Time |
3 minutes |
Procedure |
Play β Pause β Next β Previous |
Expected Result |
Music controls respond accordingly |
Cleanup |
None |
7.3 GAM.LBD.01
Field |
Description |
Test ID |
GAM.LBD.01 |
Purpose |
Ensure leaderboard updates based on user activity |
Requirements |
Gamification - Leaderboard |
Priority |
Medium |
Estimated Time |
3 minutes |
Procedure |
User A tags more than User B β View leaderboard |
Expected Result |
User A is ranked higher than User B |
Cleanup |
None |
7.4 GUI.STRT_BTN.01
Field |
Description |
Test ID |
GUI.STRT_BTN.01 |
Purpose |
Verify that the tagging interface appears when 'Start Tagging' is clicked |
Priority |
High |
Estimated Time |
2 minutes |
Setup |
User is logged in and on the homepage |
Procedure |
Click 'Start Tagging' β Verify tagging panel appears |
Expected Result |
Emotion tagging panel appears successfully |
Cleanup |
Return to homepage |
7.5 FORM.REG.01
Field |
Description |
Test ID |
FORM.REG.01 |
Purpose |
Validate that empty registration form returns proper errors |
Priority |
High |
Estimated Time |
2 minutes |
Procedure |
Leave all fields blank β Click 'Register' |
Expected Result |
Error messages are displayed |
Cleanup |
Refresh form |
7.6 ADM.EXPORT.01 (Not Implemented β Optional)
Field |
Description |
Test ID |
ADM.EXPORT.01 |
Purpose |
Verify admin can export data to CSV |
Priority |
High |
Estimated Time |
3 minutes |
Procedure |
Admin Dashboard β Click 'Export CSV' |
Expected Result |
File download is triggered |
Cleanup |
Delete test file if needed |
7.7 GEN.POINTS.01
Field |
Description |
Test ID |
GEN.POINTS.01 |
Purpose |
Verify user earns points when tagging music |
Priority |
High |
Estimated Time |
2 minutes |
Procedure |
Tag a song β Check profile or database |
Expected Result |
Points increased |
Cleanup |
Reset points if needed |
7.8 GEN.LEADERBOARD.01
Field |
Description |
Test ID |
GEN.LEADERBOARD.01 |
Purpose |
Confirm leaderboard ranks users correctly |
Priority |
Medium |
Estimated Time |
3 minutes |
Procedure |
Users tag varying amounts β View leaderboard |
Expected Result |
Higher tag count = higher rank |
Cleanup |
None |
7.9 ADM.PANEL.01
Field |
Description |
Test ID |
ADM.PANEL.01 |
Purpose |
Ensure admin can access all panel sections |
Priority |
High |
Estimated Time |
2 minutes |
Procedure |
Log in as admin β Navigate through Dashboard, Users, Musics |
Expected Result |
All views accessible with no errors |
Cleanup |
Logout |
TEST RESULTS
TC ID |
Feature/Subfeature |
Priority |
Description |
Result |
GAM.POINTS.01 |
Tag Counting |
High |
User tags 1 song, verify point increment |
Pass |
GAM.LBD.01 |
Leaderboard Display |
Medium |
Leaderboard shows userβs rank after tagging |
Pass |
FORM.REG.01 |
Required Fields |
High |
Submit registration form with empty fields, error messages appear |
Pass |
FORM.REG.02 |
Email Format Check |
Medium |
Enter invalid email, system rejects input |
Pass |
FORM.LOGIN.01 |
Wrong Credentials |
High |
Try to login with wrong password, system displays error |
Pass |
FORM.INVALID.01 |
Prevent Double Submit |
Medium |
Rapid double-click on submit only sends one request |
Pass |
GUI.STRT_BTN.01 |
Start Tagging Page |
High |
Open homepage, click 'Start Tagging' button |
Pass |
GUI.SUB_BTN.01 |
Submit Emotion Tag |
High |
Select emotion and click submit while listening |
Pass |
GUI.MUSIC_BTN.01 |
Music Playback |
High |
Play, pause, skip, and return music controls |
Pass |
GUI.NAV.01 |
Navigation Function |
High |
Click each nav bar item and verify redirection |
Pass |
ADM.USR.01 |
Deactivate Account |
High |
Admin disables user and test login fails |
Pass |
ADM.STATS.01 |
View Tagging Stats |
High |
Access analytics and confirm data chart |
Pass |
ADM.REV_TAGS.01 |
Review Tag Logs |
Medium |
Admin filters and views historical tags |
Pass |
GEN.POINTS.01 |
Point System |
High |
Tag a music and verify points increase |
Pass |
GEN.LEADERBOARD.01 |
Leaderboard View |
Medium |
Check if users are ranked based on points |
Pass |
ADM.PANEL.01 |
Admin Navigation |
High |
Admin can access Dashboard, Users, Musics |
Pass |