# E2E Test Data Management ## Seed Data Sets | Data Set | Description | Used by Tests | How Loaded | Cleanup | |----------|-------------|---------------|-----------|---------| | winter-footpath-images | semantic01-04.png — real aerial images with footpaths and concealed positions (winter) | FT-P-01 to FT-P-07, FT-N-01 to FT-N-04, NFT-PERF-01 to NFT-PERF-03 | Volume mount from test-frames | Persistent, read-only | | mock-yolo-detections | Pre-computed YOLO detection JSONs for each test image (footpaths, roads, branch piles, entrances, trees) | FT-P-01 to FT-P-07 | Loaded by mock-yolo service from fixture files | Persistent, read-only | | mock-yolo-empty | YOLO detection JSON with zero detections | FT-N-01 | Loaded by mock-yolo service | Persistent, read-only | | mock-yolo-noise | YOLO detection JSON with high-confidence false positives (random bounding boxes) | FT-N-02 | Loaded by mock-yolo service | Persistent, read-only | | blurry-frames | 5 synthetically blurred versions of semantic01.png (Gaussian blur, motion blur) | FT-N-03, FT-P-05 | Volume mount | Persistent, read-only | | synthetic-video-sequence | 30 frames panning across semantic01.png to simulate gimbal movement | FT-P-06, FT-P-07 | Volume mount | Persistent, read-only | | vlm-stub-responses | Deterministic VLM text responses for each test image ROI | FT-P-04 | Loaded by vlm-stub service | Persistent, read-only | | gimbal-protocol-fixtures | ViewLink protocol command/response byte sequences for known operations | FT-P-06, FT-N-04 | Loaded by mock-gimbal service | Persistent, read-only | ## Data Isolation Strategy Each test run starts with a clean output directory. The semantic-detection service restarts between test groups (via Docker restart). Input data (images, mock detections) is read-only and shared across tests. Output data (detection logs, recorded frames, gimbal commands) is written to a fresh directory per test run. ## Input Data Mapping | Input Data File | Source Location | Description | Covers Scenarios | |-----------------|----------------|-------------|-----------------| | semantic01.png | `_docs/00_problem/input_data/semantic01.png` | Footpath with arrows, leading to branch pile hideout | FT-P-01, FT-P-02, FT-P-03, FT-P-04 | | semantic02.png | `_docs/00_problem/input_data/semantic02.png` | Footpath to open space from forest, FPV pilot trail | FT-P-01, FT-P-02, FT-P-07 | | semantic03.png | `_docs/00_problem/input_data/semantic03.png` | Footpath with squared hideout | FT-P-01, FT-P-03 | | semantic04.png | `_docs/00_problem/input_data/semantic04.png` | Footpath ending at tree branches | FT-P-01, FT-P-02 | | data_parameters.md | `_docs/00_problem/input_data/data_parameters.md` | Training data spec (not used in E2E tests directly) | — | ## External Dependency Mocks | External Service | Mock/Stub | How Provided | Behavior | |-----------------|-----------|-------------|----------| | YOLO Detection Pipeline | mock-yolo Docker service | HTTP API returning deterministic JSON detection results per image hash | Returns pre-computed detection arrays matching expected YOLO output format (centerX, centerY, width, height, classNum, label, confidence) | | ViewPro A40 Gimbal | mock-gimbal Docker service | TCP socket emulating UART serial interface | Accepts ViewLink protocol commands, responds with gimbal feedback (pan/tilt angles, status). Logs all received commands to file. Supports simulated delays (1-2s zoom transition). | | VLM (NanoLLM/VILA) | vlm-stub Docker service | Unix socket responding to IPC messages | Returns deterministic text analysis per image ROI hash. Simulates ~2s latency. Returns configurable responses for positive/negative/ambiguous cases. | | GPS-Denied System | Not mocked | Not needed — coordinates are passed as metadata input | System under test accepts coordinates as input parameters, does not compute them | ## Data Validation Rules | Data Type | Validation | Invalid Examples | Expected System Behavior | |-----------|-----------|-----------------|------------------------| | Input frame | JPEG/PNG, 1920x1080, 3-channel RGB | 0-byte file, truncated JPEG, 640x480, grayscale | Reject with error, skip frame, continue processing | | YOLO detection JSON | Array of objects with required fields (centerX, centerY, width, height, classNum, label, confidence) | Missing fields, confidence > 1.0, negative coordinates | Ignore malformed detections, process valid ones | | Gimbal command | Valid ViewLink protocol packet with CRC-16 | Truncated packet, invalid CRC, unknown command code | Retry up to 3 times, log error, continue without gimbal | | VLM IPC message | JSON with image_path and prompt fields | Missing image_path, empty prompt, non-existent file | Return error response, Tier 3 marked as failed for this ROI |