mirror of
https://github.com/azaion/gps-denied-desktop.git
synced 2026-04-22 22:46:36 +00:00
4f8c18a066
gen_tests updated solution.md updated
2.4 KiB
2.4 KiB
System Integration Test: Real-Time Streaming Pipeline
Summary
Validate real-time streaming of results via SSE as images are processed (AC-8 requirement).
Components Under Test
- Image Input Pipeline
- Vision Layers (L1, L2, L3)
- Factor Graph Optimizer
- Result Manager
- SSE Event Streamer
- Flight Manager
Test Scenario
Per AC-8: "Results of image processing should appear immediately to user, so that user shouldn't wait for the whole route to complete."
Test that:
- Images uploaded and queued
- Processing starts immediately
- Results streamed to client < 1s after processing
- Refinements sent when trajectory updated
- User can analyze early results before flight completes
Test Cases
Test Case 1: Immediate Result Delivery
- Upload 10 images
- Connect SSE client
- Measure time from image processed to event received
- Target: < 1 second latency (AC-8 "immediately")
Test Case 2: Progressive Results
- Upload 30 images
- Monitor SSE stream
- Verify first results available before image 30 processed
- Target: First result within 10 seconds of upload
Test Case 3: Refinement Notifications
- Process 20 images
- New GPS anchor added (image 20)
- Factor graph refines trajectory for images 1-19
- Verify "trajectory_refined" event sent
- Target: Refinement notification within 2 seconds
Test Case 4: Multiple Concurrent Clients
- 3 clients connect to same flight SSE stream
- All receive events simultaneously
- No delays between clients
- Target: All clients receive within 100ms of each other
Test Case 5: Late-Joining Client
- Flight already processing (10 images done)
- New client connects
- Receives catch-up of existing results plus live stream
- Target: Seamless experience
Test Case 6: Backpressure Handling
- Process images rapidly (50 images in 60 seconds)
- Verify SSE can handle high event rate
- No event loss or buffer overflow
- Target: All events delivered, no loss
Success Criteria
- Result latency < 1 second (AC-8)
- First results available immediately
- Refinements streamed when they occur
- Multiple clients supported
- No event loss under load
Maximum Expected Time
- Setup: < 5 seconds
- Process 30 images with streaming: < 150 seconds
- Total test: < 180 seconds
Pass/Fail Criteria
Passes If: AC-8 requirements met, latency < 1s, refinements streamed, no event loss Fails If: Latency > 2s, events lost, clients not notified of refinements