Files
Oleksandr Bezdieniezhnykh 8e2ecf50fd Initial commit
Made-with: Cursor
2026-03-26 00:20:30 +02:00

4.7 KiB

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