VERIFIERING OCH TESTNING
SYSTEMTILLFÖRLITLIGHET
Testnivåer
| Nivå | Vad | Hur | När |
|---|---|---|---|
| Enhet | Individuella funktioner (YOLOv8-detektion, MGRS-konvertering, fusionslogik) | Automatiserade Python-tester (pytest) | Varje kodändring |
| Integration | Komponentinteraktion (drönare → Lisa 26 → COP) | SITL-simulering med 4 simulerade drönare | Före varje deployering |
| Fält | Komplett system i verklig miljö | Riktig drönarflygning med checklistverifiering | Före operativ användning |
Fältacceptanstest — checklista
SIM_GPS_DISABLE=1 i SITL, eller fysiskt koppla bort GPS-antenn i fält). Verifiera att EKF3 övergår till AHRS. Verifiera barometrisk höjdhållning. Verifiera att drönaren förblir styrbar. Verifiera att Lisa 26 hanterar positionsosäkerhet gracefully.Automatiserad testsvit
# Run full Lisa 26 test suite
# Requirements: pip install pytest numpy
# Unit tests
# pip install numpy
pytest tests/test_fresnel.py # 12 tests — Fresnel zone math
pytest tests/test_projection.py # 8 tests — pixel-to-ground
pytest tests/test_solar.py # 6 tests — solar position
pytest tests/test_fusion.py # 15 tests — data fusion logic
pytest tests/test_mgrs.py # 10 tests — coordinate conversion
# Integration test (requires ArduPilot SITL)
python3 tests/integration_test.py # 30 min, 4 simulated drones
# Expected output:
# 51 passed, 0 failed (unit)
# Integration: all checkpoints PASS
Varje matematisk funktion i Lisa 26 har ett motsvarande enhetstest med kända indata→utdatapar. Integrationstestet startar 4 SITL-drönare, kör ett 10-minutersscenario och verifierar att detektioner visas på COP inom 500 ms, att fusion korrekt deduplicerar och att L1/L2-beslut genereras vid korrekta tröskelvärden. Körs före varje deployering utan undantag.
Acceptanskriterier
SYSTEMACCEPTANS — GODKÄNT/UNDERKÄNT
Alla "uppmätta" värden från SITL-testning med 10+ körningar per mätpunkt. Fältmätningar kan avvika på grund av verkliga RF-förhållanden, temperatur och vind. Kör om acceptanstester vid varje ny operationsplats före operativ användning.
Vad SITL inte kan testa
SITL-begränsning: den kan inte simulera verklig RF-miljö (störning, flervägstörning, antennmönster), verkligt väder (vindbyar, regn på propellrar, temperatureffekter på batterier) eller mänskliga faktorer (pilotutmattning, stress, kommunikationsfel). Dessa kräver fälttestning med riktig hårdvara under verkliga förhållanden. Det optimala tillvägagångssättet: SITL först (verifiera logik, hitta mjukvarubuggar, testa parameterändringar — 100 flygningar på 30 minuter till noll kostnad), sedan fälttestning (verifiera verklig prestanda, kalibrera modeller, validera mänskliga procedurer — 20 flygningar under 2 dagar till 5 400 euro i drönarförbrukningsartiklar). Hoppa aldrig över SITL för att gå direkt till fälttestning — de mjukvarubuggar som SITL fångar på minuter skulle förstöra 5–10 drönare vid fälttestning.
Kontinuerlig integrationspipeline
Varje Lisa 26-kodändring passerar genom en trestegs verifieringspipeline innan den når operativa system. Steg 1 enhetstester: automatiserade Python-tester verifierar individuella funktioner (Dempster-Shafer-fusionsutdata för kända indata, KLV-kodningskorrekthet, PostgreSQL-frågeresultat). 200+ enhetstester körs på 30 sekunder. Steg 2 integrationstester: SITL-simulering med 5 virtuella drönare övar den kompletta detektion-till-strike-kedjan. Steg 3 regressionstester: den fullständiga matematiska verifieringen lisa26-proof.py (15 tester) bekräftar att ingen matematisk formel har brutits av kodändringen. Alla tre stegen måste passera innan uppdateringen paketeras för deployering. Ett enda underkänt test blockerar releasen — inga undantag, inga manuella åsidosättanden.
Fältvalideringskrav
SITL-verifiering är nödvändig men inte tillräcklig. Före operativ deployering måste varje Lisa 26-version genomföra 20 verkliga flygtest med instrumenterade drönare som bär dataloggar vilka fångar faktisk sensorprestanda, faktisk radiolänkkvalitet, faktiskt batteribeteende vid temperatur och faktisk AI-detektionsnoggrannhet mot fysiska målattrapper. Dessa 20 flygningar validerar antagandena inbyggda i SITL-modeller — om verkligheten avviker från SITL-prediktioner med mer än 10 procent på någon mätpunkt måste SITL-modellen omkalibreras innan den kan litas på för framtida testning. Fältvalideringen dokumenteras i ett standardiserat testprotokoll som arkiveras med versionsnumret — varje deployerad Lisa 26-version har ett spårbart testbevis som visar exakt vilka tester som kördes, vilka resultat som uppmättes och vilka avvikelser som accepterades. Utan denna dokumentation kan ingen bekräfta att systemet faktiskt fungerar som avsett under verkliga operativa förhållanden.
Relaterade kapitel
← Ingår i EKF3 sensorfusion
Öppna den interaktiva uppdragsplaneraren →
Öppna den interaktiva hotfusionspanelen →
Öppna den interaktiva länkbudgetkalkylatorn →
Öppna den interaktiva pipelineanalysatorn →
Källor
ArduPilot-dokumentation. ExpressLRS-dokumentation. NATO STANAG 4609 Ed. 4 (motion imagery metadata), STANAG 4671 (UAV-luftvärdighet) och STANAG 2022 (underrättelsevärdering). Specifikt: Watling & Reynolds, "Meatgrinder", RUSI (2023); ISW dagliga kampanjanalyser (understandingwar.org-arkivet). FSG-A har ingen egen operativ erfarenhet. Öppna källkodsreferenser som citerats.