Files
nettopo-go/MANUAL_TEST_CHECKLIST.md
T
Andrey Lutsenko 235b996c5c Add standalone manual acceptance checklist.
Create dedicated cross-platform manual test checklist and link it from docs and technical specification.

Made-with: Cursor
2026-04-09 22:20:00 +10:00

4.3 KiB
Raw Blame History

Manual Test Checklist

Этот чек-лист нужен для финальной ручной проверки перед приемкой на Linux и Windows.

0) Подготовка окружения

  • Установлен Go 1.22+ (go version)
  • Установлен PostgreSQL (локально)
  • Созданы БД nettopo и пользователь nettopo
  • Заполнен .env (или экспортированы env-переменные)

Рекомендуемые env для теста:

STORE_BACKEND=postgres
DB_DSN=postgres://nettopo:nettopo@localhost:5432/nettopo?sslmode=disable
RUN_MIGRATIONS=true
SNMP_ENABLED=true
SNMP_COMMUNITY=public
HTTP_ADDR=:8080

1) Запуск приложения

  • Выполнить go run ./cmd/server
  • Открыть http://localhost:8080/
  • Проверить health: GET /health возвращает status=ok

2) Создание и выполнение scan через UI

  • В UI ввести CIDR (например, 192.168.1.0/24)
  • Нажать Создать scan
  • Убедиться, что scan_id появился в поле
  • Нажать Ждать завершения
  • Дождаться terminal state (done/failed/canceled) без ошибок UI

3) Проверка API результатов scan

  • GET /api/scans/{id} возвращает статус/прогресс/stats
  • GET /api/scans/{id}/hosts возвращает хосты
  • GET /api/scans/{id}/ports возвращает портовые проверки
  • GET /api/scans/{id}/snmp возвращает SNMP-данные (для доступных устройств)
  • GET /api/scans/{id}/lldp возвращает LLDP-соседей (если есть)
  • GET /api/scans/{id}/links возвращает базовые связи
  • GET /api/scans/{id}/topology возвращает nodes/edges

4) Проверка diff между двумя scan

  • Иметь минимум два scan
  • Выполнить GET /api/scans/diff?from=<id1>&to=<id2>
  • Проверить, что поля new_hosts/missing_hosts/new_links/missing_links заполнены корректно
  • В UI выбрать from/to и нажать Сравнить
  • Убедиться, что JSON diff показывается в блоке на странице

5) Проверка визуализации topology в UI

  • Кнопка Загрузить рисует граф
  • Кнопка Последний scan подставляет свежий scan
  • Выпадающие списки scan работают и подставляют id в поля
  • Легенда отображается корректно
  • Фильтр узлов:
    • все
    • только новые
    • только пропавшие

6) Проверка экспорта

  • Экспорт topology JSON сохраняет файл topology_<scan_id>.json
  • Экспорт diff JSON сохраняет файл diff_<from>_to_<to>.json
  • Экспорт без предварительной загрузки показывает понятное сообщение

7) Негативные сценарии

  • Пустой CIDR при создании scan => понятная ошибка
  • Некорректный scan_id в API => 404/сообщение об ошибке
  • Некорректные query-параметры (limit, from/to) => 400

8) Кроссплатформенная приемка (обязательно)

Linux

  • Запуск go run ./cmd/server успешен
  • Все пункты 1-7 пройдены

Windows

  • Запуск go run ./cmd/server (или nettopo-server.exe) успешен
  • Все пункты 1-7 пройдены

9) Результат приемки

  • Linux: PASS
  • Windows: PASS
  • Общий статус: READY / NOT READY

Примечания

  • LLDP/SNMP результаты зависят от реальной сети, ACL и SNMP-доступа устройств.
  • Если SNMP отключен или недоступен, topology будет частичной.