Phase 1 Validation Test Plan
Project: Absence System with Face Recognition Phase: Phase 1 — Core Integration & Foundational Validation Role: System Validator Methodology: Test-Driven Development (TDD)
1. Objectives
Phase 1 focuses on validating core functional integration between the system’s primary modules:
Camera / Client → Server API → Face Recognition Service → Database
Goals:
Verify that core APIs comply with the high-level and interface design.
Establish baseline tests for registration and attendance workflows.
Ensure that data flows (images, embeddings, attendance records) follow correct structure and logic.
Provide a repeatable validation suite for CI/CD.
2. Scope of Phase 1
Layer |
Modules in Scope |
Purpose |
|---|---|---|
Unit |
|
Confirm individual functions behave correctly. |
Integration |
|
Verify inter-module contracts and response structure. |
System (light) |
|
Validate end-to-end registration & check-in path. |
Out of scope for Phase 1:
User Interface / Web dashboard
Security (JWT / Auth)
Analytics and reporting
3. Test Categories and Priorities
Category |
Priority |
Description |
|---|---|---|
Face Encoding & Matching |
High |
Validate recognition service correctness. |
Player Registration API |
High |
Ensure player data and face embeddings stored. |
Attendance Logging API |
High |
Validate recognized players create records. |
Database Schema Tests |
Medium |
Confirm constraints and relations. |
Error & Edge Case Tests |
Medium |
Handle unknown faces and invalid inputs. |
4. Test Suite Structure
tests/
├── unit/
│ ├── test_face_encoding.py
│ ├── test_face_matching.py
│ ├── test_database_models.py
├── integration/
│ ├── test_api_register_player.py
│ ├── test_api_check_in.py
│ ├── test_api_error_cases.py
├── system/
│ ├── test_end_to_end_attendance_flow.py
├── test_data/
│ ├── sample_faces/
│ │ ├── player_1.jpg
│ │ ├── unknown.jpg
│ ├── db_fixtures.json
5. Test Descriptions
Unit Tests
ID |
Module |
Test Description |
Expected Result |
|
|---|---|---|---|---|
U-01 |
Face Service |
Encode valid face image → returns 128-dim vector |
Vector shape (128,) |
|
U-02 |
Face Service |
Compare same face images → similarity > 0.9 | Pass |
||
U-03 |
Face Service |
Compare different faces → similarity < 0.6 | Pass |
||
U-04 |
Database |
Insert + retrieve player record |
Data integrity maintained |
|
U-05 |
Database |
Foreign key Player → Attendance |
Constraint enforced |
|
Integration Tests
ID |
Component |
Test Description |
Expected Result |
|---|---|---|---|
I-01 |
|
POST valid image + metadata → DB entry created |
201 Created, |
I-02 |
|
POST known face → attendance record inserted |
200 OK, |
I-03 |
|
POST unknown face |
404 Not Found |
I-04 API |
|
Invalid file format |
400 Bad Request |
System Tests (End-to-End)
ID |
Scenario |
Description |
Expected Result |
|---|---|---|---|
S-01 |
Registration → Check-in flow |
Simulate full flow using mock client |
Player registered and present |
S-02 |
Duplicate check-in |
Same player checks in twice |
Only one record created |
S-03 |
Database persistence |
Restart API and re-check player data |
Data retained in database |
6. Tooling and Environment
Purpose |
Tool |
|---|---|
Testing framework |
|
HTTP client |
FastAPI |
Mocking |
|
Test database |
SQLite (in-memory) |
Face recognition mock |
Fixed sample embeddings |
CI/CD pipeline |
GitHub Actions |
7. Workflow Between Validator and Developer
Validator Phase * Write tests according to this plan. * Ensure tests initially fail. * Commit under branch
tests/phase1.Developer Phase * Pull tests and implement minimal code to make them pass. * Push passing code for review.
Validation Phase * Run tests in CI pipeline. * Update coverage and traceability matrix.
Iteration * Extend tests for new modules after Phase 1 passes.
8. Traceability Matrix (Partial)
Req ID |
Description |
Test IDs |
Coverage Type |
|---|---|---|---|
FR-001 |
Player registration |
I-01, S-01 |
Integration, System |
FR-002 |
Face recognition accuracy |
U-01 – U-03 |
Unit |
FR-003 |
Attendance logging |
I-02, S-01, S-02 |
Integration, System |
FR-004 |
Data consistency |
U-04, U-05, S-03 |
Unit, System |
FR-005 |
Error handling |
I-03, I-04 |
Integration |
9. Expected Outcomes
All unit and integration tests pass.
End-to-end check-in scenario functions with test data.
Code coverage ≥ 85 %.
Database schema and API routes validated against design.