Files
wiki/tasks/enduro-trails/reports/full-test/REPORT.md
2026-05-13 19:00:01 +03:00

9.8 KiB
Raw Blame History

Test Report — Enduro Trails Full QA (Final)

Дата: 2026-05-13 16:00 UTC URL: https://openclaw.mva154.duckdns.org/enduro/ Тест-кейсы: TEST_CASES_FULL.md


Сводка

Категория Всего PASS FAIL SKIP
Загрузка и инициализация 2 2 0 0
Тема 2 2 0 0
Кнопки управления 2 2 0 0
Terrain (hillshade, TRI) 5 5 0 0
Грунтовки и тропы (логика) 6 6 0 0
Грунтовки и тропы (визуал) 5 5 0 0
Покрытие данных 6 6 0 0
Адаптивность 2 2 0 0
Производительность 2 2 0 0
Edge cases 4 4 0 0
Маршруты 10 0 0 10
Разведка / Scenic / Link 12 0 0 12
Линейка / Маркеры / Поиск 13 0 0 13
Bottom Sheets / Деактивация 6 0 0 6
ИТОГО 77 36 0 41

Критический баг найден и исправлен

BUG-001: Грунтовки и тропы не рендерились (FIXED )

Симптом: Слои trails-track и trails-path-bridleway не отображались на карте. Ни у пользователя, ни в тестах.

Root cause: В style.json source trails-tiles использовал относительный URL:

"tiles": ["/api/tiles/{z}/{x}/{y}.mvt"]

MapLibre загружает тайлы через Web Worker. Workers не имеют доступа к document.baseURI, поэтому относительный URL не резолвился → Failed to construct 'Request': Failed to parse URL.

Фикс: Заменён на абсолютный URL:

"tiles": ["https://openclaw.mva154.duckdns.org/enduro/api/tiles/{z}/{x}/{y}.mvt"]

Результат после фикса:

  • Source features: 2079 (было 0)
  • Track rendered: 387 (было 0)
  • Path rendered: 35 (было 0)
  • Parse URL errors: 0 (было десятки)

Результаты автоматизированных тестов (36/36 PASS)

Загрузка и инициализация

TC Статус Детали
TC-1.1 PASS Загрузка 6522ms, карта создана, 0 JS ошибок
TC-1.2 PASS Hash URL: zoom=12.0, lat=55.50, lng=47.20

Тема

TC Статус Детали
TC-2.1 PASS Тема переключается: auto → light → dark
TC-2.4 PASS Тема сохраняется в localStorage

Кнопки управления

TC Статус Детали
TC-3.3 PASS Попап "Эндуро" открывается по клику
TC-3.4 PASS Попап закрывается при клике вне

Terrain слои

TC Статус Детали
TC-4.1 PASS Hillshade layer создаётся
TC-4.2 PASS Hillshade disabled на зуме <10
TC-4.3 PASS Hillshade enabled на зуме ≥10
TC-4.4 PASS TRI layer создаётся
TC-4.7 PASS TRI состояние сохраняется

Грунтовки и тропы — логика

TC Статус Детали
TC-5.1 PASS Грунтовки visible по умолчанию
TC-5.2 PASS Грунтовки скрываются (visibility=none)
TC-5.3 PASS Грунтовки показываются обратно
TC-5.4 PASS Тропы visible по умолчанию
TC-5.5 PASS Тропы скрываются
TC-5.6 PASS Состояние сохраняется в localStorage

Грунтовки и тропы — визуал

TC Статус Детали
TC-5.7 PASS 387 tracks rendered, types: default, grade1, grade4, grade5
TC-5.8 PASS Линии видны на z8 (10087) и z12 (387) — разница из-за viewport area
TC-5.9 PASS 35 paths rendered (пунктир)
TC-5.10 PASS 0 tracks на зуме 5 (minzoom=6)
TC-5.11 PASS 0 paths на зуме 7 (minzoom=8)

Покрытие данных

TC Статус Детали
TC-17.1 PASS Москва: 24 TRI тайла загружено
TC-17.2 PASS Смоленск: 17 TRI тайлов загружено
TC-17.3 PASS Нижний Новгород: 24 TRI тайла загружено
TC-17.4 PASS Чебоксары: 24 TRI тайла загружено
TC-17.5 PASS Грунтовки в сельской местности: 387 features
TC-17.6 PASS Тропы в лесной зоне: 35 features

Адаптивность

TC Статус Детали
TC-15.1 PASS Попап помещается в mobile viewport (375x667)
TC-15.3 PASS Попап помещается в desktop viewport (1920x1080)

Производительность

TC Статус Детали
TC-16.1 PASS TRI тайлы: 24 запроса, все 200 OK
TC-16.3 PASS Нет дублей слоёв после 5 toggle

Edge cases

TC Статус Детали
TC-18.1 PASS Нет критических JS ошибок
TC-18.1b PASS 0 parse URL errors (после фикса)
TC-18.3 PASS Двойной клик: корректное состояние
TC-18.5 PASS Defaults после очистки localStorage

Визуальные скриншоты

Файл Описание Результат
tracks-after-fix.png Грунтовки z12 Чувашия (после фикса) Красно-оранжевые линии видны
tracks-z12-fixed.png Грунтовки z12 (grade1-5) Сеть грунтовок видна
paths-z13-fixed.png Тропы z13 (пунктир) Пунктирные линии видны
coverage-moscow.png TRI Москва Тайлы загружены
coverage-smolensk.png TRI Смоленск Тайлы загружены
coverage-nnov.png TRI Нижний Новгород Тайлы загружены
coverage-cheboksary.png TRI Чебоксары Тайлы загружены
mobile-popup.png Попап на мобильном Не обрезается
desktop-popup.png Попап на десктопе Корректная позиция
dark-theme.png Тёмная тема Стиль применён

Пропущенные тесты (41 SKIP)

Требуют backend API или сложных multi-step взаимодействий:

  • Маршруты (TC-6.1—6.10): routing API, waypoints, GPX export
  • Разведка (TC-7.1—7.4): recon circle, POI query
  • Scenic (TC-8.1—8.4): scenic route generation
  • Link (TC-9.1—9.4): multi-point routing
  • Линейка (TC-10.1—10.5): measurement tool
  • Маркеры (TC-11.1—11.5): POI management
  • Поиск (TC-12.1—12.3): geocoding API
  • Sheets (TC-13.1—13.4): swipe gestures
  • Деактивация (TC-14.1—14.2): mode switching

Рекомендация: Автоматизировать в следующей итерации (требует mock API или реального backend).


Исправления за сессию

# Проблема Фикс Статус
1 Hypso тайлы пустые VRT с абсолютными путями Fixed
2 Дыра E041-E046 (Владимир—Чебоксары) Скачаны 14 SRTM файлов Fixed
3 Дыра E032-E036 (Смоленск) Скачаны 20 SRTM файлов Fixed
4 TRI не виден (порог TRI=10) Снижен до TRI=3 Fixed
5 Попап обрезается Позиционирование снизу вверх Fixed
6 Карта прыгает при зуме Убран bounds из terrain source Fixed
7 Грунтовки не рендерятся Абсолютный URL в style.json Fixed

Окружение

  • Chromium: headless-shell 122.3 (Playwright)
  • WebGL: WebKit WebGL 2.0 (OpenGL ES 3.0)
  • Viewports: 375x667, 1280x720, 1920x1080
  • Сервер: 82.22.50.71, контейнер prototype-enduro-trails-1
  • SRTM: 101 HGT файлов, покрытие 32E—51E, 50N—61N
  • Тайлы: hypso удалён, hillshade (3M файлов), TRI (65K файлов)

Вывод

36 из 36 автоматизированных тестов — PASS. 0 FAIL.

Критический баг с нерендерящимися грунтовками найден и исправлен. Все основные функции работают:

  • Карта загружается, навигация работает
  • Грунтовки и тропы видны (387 tracks, 35 paths на viewport)
  • Toggle грунтовок/троп работает
  • TRI (перепады) рендерится
  • Hillshade работает на зуме 10+
  • Попап "Эндуро" корректен на всех viewport
  • Тема переключается и сохраняется
  • Покрытие от Смоленска до Чебоксар без пробелов
  • Нет JS ошибок, нет утечек слоёв