| TC-001 |
P0 |
Application Startup |
Application Launches and Camera Feed Renders Without Errors (Smoke Test) |
| TC-002 |
P0 |
Data Augmentation – Batch Flow |
Batch Generation (flow()): Train Mode Augmentation and Correct Batch Output Format |
| TC-003 |
P0 |
Data Augmentation – Random Crop |
Random Crop Transform: Output Shape Validity and Bounding Box Handling Limitation |
| TC-004 |
P0 |
Data Augmentation – Random Rotation |
Random Rotation Transform: Verify Actual Rotation vs. Copy-Paste Bug |
| TC-005 |
P0 |
Emotion Classification - End-to-End |
Emotion Classification Pipeline Produces Valid Emotion Labels for All Supported States |
| TC-006 |
P0 |
Emotion Classification Model |
Emotion classification model loads and produces valid 7-class probability output |
| TC-007 |
P0 |
Emotion Detection |
Emotion Classification Pipeline: Webcam initializes and runs for 10-second capture window |
| TC-008 |
P0 |
Emotion Detection - CNN Inference |
Emotion CNN Inference Returns Correct 7-Class Label Mapping |
| TC-009 |
P0 |
Emotion Detection - End-to-End |
Emotion Detection End-to-End: Upload Image and Receive Emotion Label |
| TC-010 |
P0 |
Emotion Detection - Vote Accumulation &… |
Dominant Emotion Selection via Voting Across 10-Second Window |
| TC-011 |
P0 |
Emotion Handler - State Routing |
run_func() Correctly Routes Happy, Sad, and Neutral Emotions to Their Handlers |
| TC-012 |
P0 |
Emotion Inference |
Emotion Model UI: Canonical Emotion Checkpoints Load and Produce 7-Class Output |
| TC-013 |
P0 |
Emotion Inference |
End-to-End Emotion Detection Pipeline: Face Detected → Emotion Labeled in UI |
| TC-014 |
P0 |
Emotion Label Mapping |
All 7 emotion labels are correctly identified and displayed by the application |
| TC-015 |
P0 |
Emotion Response - Angry |
Angry Emotion Handler: Calming TTS message played and Google Images cute puppies page opens in new window |
| TC-016 |
P0 |
Emotion Response - Happy |
Happy Emotion Handler: Compliment selected, TTS audio generated and played |
| TC-017 |
P0 |
Emotion Routing |
Emotion Routing Logic: All 7 emotions route to correct handlers via run_func() |
| TC-018 |
P0 |
Emotion-Triggered Browser Action |
Angry Emotion Trigger Opens Google Images Cute Puppies Page |
| TC-019 |
P0 |
End-to-End - Full Pipeline |
Full End-to-End Emotion Detection and Response Flow (Happy Path) |
| TC-020 |
P0 |
End-to-End Flow |
End-to-end emotion detection flow produces correct output for a detected face |
| TC-021 |
P0 |
Face Detection |
Face Detection: Bounding Box Rendered Correctly on Detected Faces |
| TC-022 |
P0 |
Face Detection - Inference Pipeline |
Face Detection Pipeline Detects Faces and Displays Bounding Boxes on Live Camera Feed |
| TC-023 |
P0 |
Grad-CAM Visualization |
Grad-CAM Heatmap Visualization Renders for a Predicted Emotion Class |
| TC-024 |
P0 |
Model Inference / Emotion Classification |
Emotion Model Inference — mini_XCEPTION Produces Valid Softmax Output (7 Classes) |
| TC-025 |
P0 |
Model Inference / Gender Classification |
Gender Model Inference — mini_XCEPTION Produces Valid Softmax Output (2 Classes) |
| TC-026 |
P0 |
Per-Frame Face Detection |
Face detection identifies faces and returns valid bounding box coordinates per frame |
| TC-027 |
P0 |
Sentiment Analysis (Azure Text Analytic… |
Sentiment Analysis – Hardcoded Azure Subscription Key Exposure Check |
| TC-028 |
P0 |
UI / Emotion Detection |
Emotion Detection UI — Displays Predicted Emotion Label on Face Input |
| TC-029 |
P0 |
UI / Gender Detection |
Gender Detection UI — Displays Predicted Gender Label on Face Input |
| TC-030 |
P0 |
Webcam Capture Loop |
Webcam capture loop runs for approximately 10 seconds and terminates cleanly |
| TC-031 |
P1 |
Browser Integration |
Browser opens Google Images cute puppies search in new window on angry emotion |
| TC-032 |
P1 |
Browser Integration |
Google Images cute puppies URL is accessible and returns valid image results |
| TC-033 |
P1 |
Compliment Resource Loading |
Compliment JSON resource files exist, are valid, and contain non-empty string arrays |
| TC-034 |
P1 |
Data Augmentation – Batch Flow |
Batch Generation (flow()): Validation Mode — No Augmentation Applied |
| TC-035 |
P1 |
Data Augmentation – Brightness |
Brightness Transform: Pixel Values Stay Within [0, 255] |
| TC-036 |
P1 |
Data Augmentation – Contrast |
Contrast Transform: Adjustment Around Mean Grayscale and Valid Output Range |
| TC-037 |
P1 |
Data Augmentation – Horizontal Flip |
Horizontal Flip Transform: Image Reversal and Bounding Box Coordinate Update |
| TC-038 |
P1 |
Data Augmentation – Lighting |
Lighting (PCA Noise) Transform: Numerical Stability and Output Clipping |
| TC-039 |
P1 |
Data Augmentation – Train/Val Split |
Train/Validation Split: Mutual Exclusivity and No Data Leakage |
| TC-040 |
P1 |
Data Augmentation – Transform Pipeline |
Color Jitter Pipeline (transform()): Random Order and Selective Application |
| TC-041 |
P1 |
Data Augmentation – Vertical Flip |
Vertical Flip Transform: Image Reversal and Bounding Box Y-Coordinate Update |
| TC-042 |
P1 |
Dataset Utilities / Error Handling |
Invalid dataset name raises a visible error in the application |
| TC-043 |
P1 |
Dataset Utilities / get_labels |
fer2013 dataset label mappings are correct and complete |
| TC-044 |
P1 |
Emotion Detection |
Emotion Classification Pipeline: Face detection handles multiple faces, no faces, and partial faces |
| TC-045 |
P1 |
Emotion Detection |
Emotion Classification Pipeline: Graceful handling of missing or corrupted model file |
| TC-046 |
P1 |
Emotion Detection - Angry Handler |
Angry Emotion Trigger Opens Google Images Cute Puppies Page |
| TC-047 |
P1 |
Emotion Detection - Camera Error Handli… |
Camera Unavailability Causes Graceful Failure Without Application Crash |
| TC-048 |
P1 |
Emotion Detection - Edge Case / No Face |
No Face Detected Defaults to 'Angry' Emotion (All-Zero Vote Array Edge Case) |
| TC-049 |
P1 |
Emotion Handler - Angry Dispatch |
Angry Emotion Handler Opens Google Images Cute Puppies in New Browser Window |
| TC-050 |
P1 |
Emotion Handler - Angry Dispatch / URL … |
Google Images Cute Puppies URL Returns Valid Image Search Results Page |
| TC-051 |
P1 |
Emotion Handler - Resource Loading |
JSON Resource Files Load Correctly and Provide Valid Compliment Strings |
| TC-052 |
P1 |
Emotion Handler - State Routing |
run_func() Routes Unmapped Emotions (surprise, disgust, fear) to Angry Handler |
| TC-053 |
P1 |
Emotion Handler - TTS & Audio Playback |
gTTS Generates MP3 and mpg123 Plays Audio for Each Emotion Handler |
| TC-054 |
P1 |
Emotion Handling - Angry State |
Angry Emotion Handler Opens Google Images Cute Puppies Page |
| TC-055 |
P1 |
Emotion Handling - Happy State |
Happy Emotion Handler Produces a Non-Empty Compliment (Random Selection from comps.json) |
| TC-056 |
P1 |
Emotion Handling - Neutral State |
Neutral Emotion Handler Produces a Non-Empty Anytime Compliment (Random Selection from compliments.json) |
| TC-057 |
P1 |
Emotion Inference |
Emotion Label Mapping: Predictions Display Correct Human-Readable Labels |
| TC-058 |
P1 |
Emotion Response - Neutral |
Neutral Emotion Handler: Random anytime compliment selected from compliments.json, TTS generated and played |
| TC-059 |
P1 |
Emotion Response - Sad |
Sad Emotion Handler: Supportive TTS message generated and played; browser action remains disabled |
| TC-060 |
P1 |
Emotion Response - Unimplemented Handle… |
Unimplemented Emotion Handlers (Surprise, Disgust, Fear): No crash and no user feedback produced |
| TC-061 |
P1 |
Emotion Response / UI Integration |
Angry emotion trigger opens Google Images cute puppies search |
| TC-062 |
P1 |
Emotion Response / UI Integration |
Angry Emotion Trigger Opens Google Images Cute Puppies Page |
| TC-063 |
P1 |
Emotion Routing |
Emotion Routing Defect: Surprise, disgust, and fear incorrectly trigger angry() handler instead of their own … |
| TC-064 |
P1 |
Emotion-Triggered Browser Action |
Google Images Cute Puppies URL Remains Accessible and Returns Valid Results |
| TC-065 |
P1 |
Error Handling / Path Resolution |
Missing Emotion Model File: Application Surfaces Informative Error |
| TC-066 |
P1 |
Error Handling / Path Resolution |
Missing Face Detection XML: Application Surfaces Informative Error |
| TC-067 |
P1 |
External URL Reachability |
Google Images Cute Puppies URL Loads Successfully |
| TC-068 |
P1 |
Face Detection - Edge Cases |
Face Detection Handles No-Face and Multi-Face Scenarios Gracefully |
| TC-069 |
P1 |
Face Detection - Inference Pipeline / U… |
Emotion Label Text Is Rendered on Video Feed Alongside Bounding Box |
| TC-070 |
P1 |
Gender Inference |
Gender Model UI: Canonical Gender Checkpoints Load and Produce Binary Output |
| TC-071 |
P1 |
Grad-CAM Visualization - Guided Backprop |
Guided Grad-CAM Visualization Renders for Emotion and Gender Tasks |
| TC-072 |
P1 |
Image Preprocessing |
Image preprocessing normalizes pixel values to [-1, 1] range and produces correct batch shape |
| TC-073 |
P1 |
Image Preprocessing - Grayscale Convers… |
Grayscale Conversion Produces Correct Output Shape and Values |
| TC-074 |
P1 |
Image Preprocessing - Load Image |
Image Load and Batch Dimension Expansion for Model Input |
| TC-075 |
P1 |
Image Preprocessing - Normalization |
Image Preprocessing Normalization Applied in Train/Val Modes but Not Demo Mode |
| TC-076 |
P1 |
Image Preprocessing - preprocess_input |
preprocess_input Normalization: v2=True Produces [-1,1] Range, v2=False Produces [0,1] Range |
| TC-077 |
P1 |
Image Preprocessing / load_image |
Image loading from valid file path produces correct output |
| TC-078 |
P1 |
Image Preprocessing / load_image |
Image loading with invalid or missing file path shows error |
| TC-079 |
P1 |
Model File Utilities |
Model File Utilities – Optimizer Weights Removal from HDF5 File |
| TC-080 |
P1 |
Model Inference / Emotion Classification |
Emotion Model Inference — simple_CNN Produces Valid Softmax Output (7 Classes) |
| TC-081 |
P1 |
Model Inference / Emotion Classification |
big_XCEPTION Emotion Model Checkpoint Loads and Produces Valid Inference |
| TC-082 |
P1 |
Model Inference / Emotion Classificatio… |
KDEF Emotion Model Inference — tiny_XCEPTION Checkpoint Loads and Predicts |
| TC-083 |
P1 |
Model Inference / Gender Classification |
Gender Model Inference — simple_CNN Produces Valid 2-Class Output |
| TC-084 |
P1 |
Model Loading |
Application handles missing Haar Cascade or emotion model files gracefully |
| TC-085 |
P1 |
Negative / Error Handling |
No Face Input — Application Handles Gracefully Without Crash |
| TC-086 |
P1 |
Path Resolution / Configuration |
Relative Path Resolution: Application Works When Launched from Project Root |
| TC-087 |
P1 |
Preprocessing - Input Normalization |
Pixel Normalization Produces Correct Output Range for Neural Network Input |
| TC-088 |
P1 |
Sentiment Analysis (Azure Text Analytic… |
Sentiment Analysis GUI – Text Input Capture and Commit Button Visibility |
| TC-089 |
P1 |
Sentiment Analysis (Azure Text Analytic… |
Sentiment Analysis – API Request JSON Format Matches Azure Schema |
| TC-090 |
P1 |
Sentiment Analysis (Azure Text Analytic… |
Sentiment Analysis – Empty Input Handling |
| TC-091 |
P1 |
Test Infrastructure |
Baseline: Confirm absence of any test infrastructure in the repository |
| TC-092 |
P1 |
Text-to-Speech Audio Generation & Playb… |
Text-to-Speech audio is generated and played for detected emotions |
| TC-093 |
P1 |
Word-Embedding Categoriser (GloVe Cosin… |
Word-Embedding Categoriser – Empty String Query Edge Case |
| TC-094 |
P1 |
Word-Embedding Categoriser (GloVe Cosin… |
Word-Embedding Categoriser – Hardcoded Demographic Category Bias Audit |
Seldon QA Baseline —
MarquiseRosier/EmottiSeldon analysed the default branch @
9db78fband generated 132 test cases.Review & edit this plan in Seldon →
Set your target URL, include/exclude cases, edit steps, and run the plan from the Seldon QA editor. Once you approve it there, Seldon reviews every pull request automatically.
132 test cases | P0: 30 P1: 64 P2: 31 P3: 7
38 more (P2/P3)
Generated by Seldon from
MarquiseRosier/Emotti@9db78fb· Manage in Seldon