235b996c5c
Create dedicated cross-platform manual test checklist and link it from docs and technical specification. Made-with: Cursor
4.3 KiB
4.3 KiB
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}возвращает статус/прогресс/statsGET /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 будет частичной.