ВЕРИФІКАЦІЯ ТА ТЕСТУВАННЯ
ЗАБЕЗПЕЧЕННЯ НАДІЙНОСТІ СИСТЕМИ
Рівні тестування — верифікаційне тестування
| Рівень | Що | Як | Коли |
|---|---|---|---|
| Модульний | Окремі функції (виявлення YOLOv8, конвертація MGRS, логіка злиття) | Автоматизовані тести Python (pytest) | Кожна зміна коду |
| Інтеграційний | Взаємодія компонентів (дрон → Lisa 26 → COP) | Симуляція SITL з 4 симульованими дронами | Перед кожним розгортанням |
| Польовий | Повна система в реальному середовищі | Реальний політ дрона з перевіркою чеклиста | Перед оперативним використанням |
Чеклист польового приймального тесту
SIM_GPS_DISABLE=1 у SITL або фізично від'єднайте GPS-антену в полі). Перевірте, що EKF3 переходить на AHRS. Перевірте, що барометрична висота тримається. Перевірте, що дрон залишається керованим пілотом. Перевірте, що Lisa 26 коректно обробляє невизначеність позиції.Автоматизований набір тестів
# 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
Кожна математична функція в Lisa 26 має відповідний модульний тест з відомими парами вхід→вихід. Інтеграційний тест запускає 4 SITL-дрони, виконує 10-хвилинний сценарій і перевіряє, що виявлення з'являються на COP протягом 500 мс, злиття правильно дедуплікує, і рішення L1/L2 генеруються на правильних порогах. Запустіть перед кожним розгортанням.
Пов'язані розділи
Критерії приймання
ПРИЙМАННЯ СИСТЕМИ — КРИТЕРІЇ PASS/FAIL
Усі цільові значення отримані з SITL-симуляції з 10+ запусками на метрику. Польові виміри відсутні — FSG-A не має фізичного прототипу. Фактичні значення відрізнятимуться через реальні РЧ-умови, температуру і вітер. Агенція-впровадник повинна повторно запускати приймальні тести в кожному новому місці роботи перед оперативним використанням і трактувати значення SITL як планувальні цілі, а не валідовану продуктивність.
← Частина Злиття сенсорів EKF3
Чого SITL не може перевірити
Обмеження SITL: він не може симулювати реальне РЧ-середовище (глушіння, багатопроменевість, діаграми антен), реальну погоду (пориви вітру, дощ на пропелерах, температурні ефекти на акумулятори) чи людський фактор (втома пілота, стрес, помилки зв'язку). Це потребує польового тестування з реальним обладнанням у реальних умовах. Оптимальний підхід: спочатку SITL (перевірка логіки, пошук програмних помилок, тестування змін параметрів — 100 польотів за 30 хвилин за нульову вартість), потім польове тестування (перевірка реальної продуктивності, калібрування моделей, валідація людських процедур — 20 польотів за 2 дні при €5 400 витратних матеріалів дронів). Ніколи не пропускайте SITL, щоб перейти одразу до польового тестування — програмні помилки, які SITL ловить за хвилини, знищили б 5–10 дронів у польовому тестуванні.
Конвеєр безперервної інтеграції
Кожна зміна коду Lisa 26 проходить через триетапний конвеєр верифікації до досягнення оперативних систем. Етап 1 — модульні тести: автоматизовані тести Python перевіряють окремі функції (вихід злиття Демпстера-Шафера для відомих входів, правильність кодування KLV, результати запитів PostgreSQL). 200+ модульних тестів запускаються за 30 секунд. Етап 2 — інтеграційні тести: SITL-симуляція з 5 віртуальними дронами виконує повний ланцюг виявлення-до-удару. Етап 3 — регресійні тести: повна математична верифікація lisa26-proof.py (25 тестів у поточному provable_claims.py) підтверджує, що жодна математична формула не зламана зміною коду. Усі три етапи мають пройти до того, як оновлення буде упаковано для розгортання. Один тест, що не пройшов, блокує реліз — без винятків, без ручних перевизначень.
Вимоги до польової валідації
Верифікація SITL необхідна, але недостатня. До оперативного розгортання кожна версія Lisa 26 має пройти 20 польових польотних тестів з приладами-дронами, що несуть реєстратори даних, які захоплюють реальну продуктивність сенсорів, реальну якість радіолінка, реальну поведінку акумулятора при температурі і реальну точність AI-виявлення проти фізичних макетів цілей. Ці 20 польотів валідують припущення, вбудовані в SITL-моделі — якщо реальна продуктивність відхиляється від SITL-прогнозів більш ніж на 10 відсотків за будь-якою метрикою, SITL-модель має бути повторно калібрована до того, як їй можна довіряти для майбутнього тестування.
Спробувати інтерактивний калькулятор Демпстера-Шафера →
Спробувати інтерактивний калькулятор бюджету лінки →
Спробувати інтерактивний аналізатор затримки конвеєра →
Відкрити інтерактивний планувальник місій →
Відкрити інтерактивну панель злиття загроз →
Відкрити інтерактивний калькулятор бюджету лінки →
Відкрити інтерактивний аналізатор конвеєра →
Джерела
Математично перевірювані оцінки. Усі 25 тверджень у provable_claims.py мають запущений самотест; конвеєр регресії блокує реліз, якщо будь-яке з них не відтворюється. Формула злиття Демпстера-Шафера (прикладний випадок 70 % × 65 % → 89,5 %) — стандартна теорія свідчень.
Параметричні джерела. Порогові значення приймання (<500 мс L1, <10 % хибних позитивів, >95 % uptime, <200 м дрейфу GPS) — проєктні цілі FSG-A, базуються на типових специфікаціях NATO для тактичних ISR. Часи виконання тестів (30 секунд модульні, 30 хвилин інтеграція) — типові для pytest і SITL-симуляції на типовому ноутбуці розробки.
Операційні оцінки — критичні застереження. УСІ значення продуктивності в цій сторінці — SITL-симуляція, не фактичне вимірювання на реальному обладнанні. FSG-A не має побудованого фізичного прототипу. Польова валідація (20 польотів, приладових дронів) — пропонований процес, не виконаний. Перед будь-яким оперативним розгортанням агенція-впровадник повинна виконати повну польову кампанію і повторно калібрувати SITL-моделі, якщо реальні цифри відхиляються більше ніж на 10 % від симуляції.
Зовнішні стандарти та джерела. ArduPilot документація. ExpressLRS документація. NATO STANAG 4609 Ed. 4 (метадані motion imagery), STANAG 4671 (льотна придатність UAV) та STANAG 2022 (оцінка розвідки). Python pytest framework. FSG-A provable_claims.py (25/25 математичних доказів). Зокрема: Watling & Reynolds, "Meatgrinder", RUSI (2023); щоденні кампанійні оцінки ISW (архів understandingwar.org). FSG-A не має польових даних — більшість перевірено лише в SITL.