# Список тестирования Актуальный список для ручного тестирования релизов Клевера. Критичность: **критично**, средняя критичность, *не критично*. ## [Образ Клевера](image.md) ### Общие тесты * **Раздача [Wi-Fi](wifi.md)** * **Возможность подключения по [SSH](ssh.md) по IP и Hostname** * **Успешное подключение COEX Pix по USB (по умолчанию)** * Успешное подключение COEX Pix по UART (с настройкой) * **Бридж для QGC – корректное подключение по TCP** * Бридж для QGC – корректное подключение по UDP-b * **Раздача главной страницы** * **Раздача пользовательской документации (RU/EN), отсутствие битых изображений и т. д.** * **Работа веб-терминала Butterfly** * **Работа web_video_server** * **Корректная работа драйвера камеры, корректные изображения и данные в топиках** * **Корректная работа драйвера vl53l1x (i2c к Raspberry), в том числе топика `~data`** * **Корректная работа optical flow и всех его топиков, полет по optical flow** * **Полет по полю маркеров** * **Корректная установка OpenCV – возможность использования из Python и C++** * Работа примера с компьютерном зрением: `red_circle.py` * **Отсутствие неожиданного жора памяти и CPU (можно контролировать с помощью `selfcheck.py` или `htop`)** * Автоматическая перекалибровка камеры при изменении разрешения ### Тесты веб-части * Работа веб-просмотрщика топиков * Работа веб-консоли * Работа веб 3D-визуализации ArUco (map, detect) * Работа веб 3D-визуализации web_rviz * Работа веб 3D-визуализации web_visualization_aruco_map * Работает отображение карты ArUco `/aruco_map/image` и в snapshot, и в debug * Визуализация расположения камеры в web rviz * Правильное отображение осей в `/aruco_map/image` ### Тесты selfcheck.py * **Корректная работа `rosrun clover selfcheck.py`, отсутствие варнингов, анализ вывода** * **Выводит ориентацию камеры текстом** * **Делает `commander check`** * **Показывается, что используется наш форк прошивки и версию образа** * **Показывает возникающие ошибки и опечатки, допущенные в .launch файлах** * **Проверка на throttling** ### Автоматизированные тесты * **Корректная работы автоматизированных тестов**: * Тест автономного полета: `rosrun clover autotest_flight.py` * Тест автономного полета по маркерам: `rosrun clover autotest_aruco.py` * Тест LED-ленты: `rosrun clover autotest_led.py` ### Тесты simple_offboard * **Корректная работа simple_offboard – взлет, полет в точку в любом фрейме, отсутствие проблем с `yaw` и `yaw_rate`** * **В фрейме `body`** * **В фрейме `aruco_map`** * **В фрейме `map`** * **В фрейме `navigate_target`** * **В фрейме `terrain`** * Корректное выполнения флипа * **Возможность лететь к отдельным маркерам в карте, которые вне кадра и в кадре** * **Корректное детектирование статуса kill switch при выполнение команды с флагом `auto_arm`** * *Корректная работа outdoor по GPS-координатам* * Работают программы из папки `~/examples` ### Тесты [ArUco](aruco.md) * **Распознавание ArUco-маркеров, корректная работа всех топиков пакета `aruco_detect` и `aruco_map`** * **VPE-полеты по маркерам на полу** * *VPE-полеты по маркерам на потолке* * Корректное распознавание ArUco-маркеров и ArUco-карты (проверка с помощью rviz или debug) * *Работает в случае если используется слишком большой ID* * Работают комментарии в файле карты, а также в карте используется от 4 до 8 параметров * Полет по Optical Flow над 1 маркером * `aruco_map` не падает в случае маленьких размеров карты и маркеров ### Тесты [LED-ленты](leds.md) * **Работает нода LED ленты на RPi 4** * Дополнительная проверка на RPi 3, RPi 4 Rev. 1.4 * **Корректная работа всех notify эффектов заданных в `led.launch`** * **Низкоуровневое управление отдельными диодами** * **Высокоуровневое управление эффектами** ### Тесты [pigpiod](gpio.md) * Корректная работа pigpiod, возможность работы с сонаром, сервой и электромагнитом по мануалу * Одновременная работа pigpiod и rpi_ws281x (правильная работа светодиодной ленты и сервы) ### [Блочное программирование](blocks.md) * Корректная работа функционала блочного программирования * Работа функций сохранение/загрузка/удаление * Работа с pigpiod * Работа всех примеров ### Дополнительно * ROS ноды не падают в случае потери всех соединений (удобно проверять с экраном) * Работает `rosshow` * Работает `espeak` * Работает аргумент `rectify` в `main_camera.launch` * *Работает LIRC* * *Работа iOS-пульта из коробки* * *Работа Android-пульта из коробки*