ПЕРЕЙТИ ДО ЗМІСТУ
Дистанційна ударна група Альфа
EN SV ВИДАННЯ 2026-Q2 АКТИВНА
НЕТАЄМНО
FSG-A // КЛАСТЕР 2 — АВТОНОМНІСТЬ // 2.10

ВЕРИФІКАЦІЯ ТА ТЕСТУВАННЯ
ЗАБЕЗПЕЧЕННЯ НАДІЙНОСТІ СИСТЕМИ

КЛЮЧОВИЙ ВИСНОВОК
Кожен компонент Lisa 26 тестується на трьох рівнях: модульний тест (чи працює ця одна функція?), інтеграційний тест (чи працюють компоненти разом?) і польовий приймальний тест (чи працює повна система в реальних умовах?). Тестування не є опціональним — неперевірена система, розгорнута в бою, коштує життів солдатам.

Рівні тестування — верифікаційне тестування

РівеньЩоЯкКоли
МодульнийОкремі функції (виявлення YOLOv8, конвертація MGRS, логіка злиття)Автоматизовані тести Python (pytest)Кожна зміна коду
ІнтеграційнийВзаємодія компонентів (дрон → Lisa 26 → COP)Симуляція SITL з 4 симульованими дронамиПеред кожним розгортанням
ПольовийПовна система в реальному середовищіРеальний політ дрона з перевіркою чеклистаПеред оперативним використанням

Чеклист польового приймального тесту

01
ТЕСТ ЛІНКА
Долетіть до максимальної запланованої дальності. Перевірте якість MANET-мешу (RSSI > −100 дБм). Перевірте, що Lisa 26 отримує телеметрію і пакети виявлення. Протестуйте поведінку при втраті лінка (вимкніть передавач — дрон має зависнути і повернутися RTL).
02
ТЕСТ ВИЯВЛЕННЯ
Спрямуйте камеру на відому ціль (машина, припаркована в полі). Перевірте, що YOLOv8 виявляє і класифікує правильно. Перевірте, що виявлення з'являється на COP Lisa 26 протягом 500 мс. Перевірте правильність символу NATO.
03
ТЕСТ БЕЗ GPS
Вимкніть GPS (SIM_GPS_DISABLE=1 у SITL або фізично від'єднайте GPS-антену в полі). Перевірте, що EKF3 переходить на AHRS. Перевірте, що барометрична висота тримається. Перевірте, що дрон залишається керованим пілотом. Перевірте, що Lisa 26 коректно обробляє невизначеність позиції.
04
ТЕСТ ВИТРИВАЛОСТІ
Літайте, поки акумулятор не досягне порогу RTL. Запишіть фактичний час польоту. Порівняйте з очікуваною витривалістю. Якщо фактичний < 80 % від очікуваного, розслідуйте (холодний акумулятор, надмірний вітер, неефективність мотора).

Автоматизований набір тестів

# 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

Затримка виявлення
<500 мс сенсор-до-COP (ціль SITL: 352 мс типово)
Рівень хибних позитивів
<10 % (довідник: ~7,2 % на опублікованому нордичному датасеті)
Точність злиття
Дедуплікує 2 дрони, що бачать ту ж ціль у межах 50 м (верифіковано в SITL)
Надійність лінка
>95 % uptime за 1-годинну місію (SITL: 97,3 %)
Навігація без GPS
Дрейф позиції <200 м за 10-хв політ (SITL: ~140 м)
Барометрична висота
Точність ±1 м відносно зльоту (SITL: ±0,4 м)
Доставка L1-сповіщення
<1 с від виявлення до всіх операторів (SITL: 0,8 с)
RTL при втраті лінка
Повертається в межах 200 м від зльоту (SITL: 180 м макс. відхилення)

Усі цільові значення отримані з 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.