/
DexScen
/
ProjectPOH
Обзор
Документация
Войти
/
DexScen
/
ProjectPOH
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
my-testing
66 строк
6 KB
Александр
changes
14 май 2026, 15:02
14 май 2026, 15:02
3f3feb2
Код
Авторство
О чём код?
4. ТЕСТИРОВАНИЕ СИСТЕМЫ 4.1. Автоматизированное тестирование В текущей версии проекта реализовано автоматизированное unit-тестирование backend-части на Go. Проверки запускаются стандартной командой: `go test ./...` Фактический результат последнего прогона: 1. internal/auth - `ok`; 2. internal/comments - `ok`; 3. internal/config - `ok`; 4. internal/httpapi - `ok`; 5. internal/middleware - `ok`; 6. internal/posts - `ok`; 7. internal/users - `ok`. Служебные пакеты `cmd/api`, `internal/db`, `internal/domainerr` на данный момент не содержат test files, что корректно для их текущей роли. Покрытые автоматизированные сценарии: 1. валидация и нормализация входных данных в сервисах `auth`, `users`, `posts`, `comments`; 2. проверка доменных ограничений (обязательные поля, допустимые роли, корректные параметры сортировки/пагинации); 3. сценарии аутентификации: регистрация, вход, refresh, logout, проверка токена, извлечение Bearer; 4. обработка конфликтов и ошибок репозитория в сервисном слое; 5. вспомогательные HTTP-функции (`ReadJSON`, `ParsePagination`, `ParsePositiveInt64`); 6. middleware-поведение (`Chain`, `Recovery`, `CORS`); 7. загрузка конфигурации и парсинг env-переменных. Для изоляции бизнес-логики использованы mock-реализации repository-интерфейсов, что позволяет детерминированно проверять прикладные правила без зависимости от внешней БД. 4.2. Функциональное тестирование Функциональные сценарии системы проверялись вручную через frontend и API с учетом ролевой модели доступа. Проверенные сценарии: 1. регистрация, авторизация, обновление access-токена и logout; 2. получение и изменение профиля пользователя; 3. просмотр списка постов и страницы конкретного поста; 4. создание и редактирование постов с учетом ролевых ограничений (создание только admin); 5. публикация комментариев и ответов в древовидной структуре; 6. каскадное удаление дочерних комментариев при удалении корневого; 7. модерация комментариев ролью moderator/admin (список непроверенных, подтверждение, удаление); 8. запрет доступа к административным действиям для неадминистративных ролей. Результаты функциональной проверки соответствуют реализованной бизнес-логике проекта. 4.3. Тестирование пользовательского интерфейса Проверка интерфейса выполнена для основных страниц frontend-приложения: 1. `/` - список постов и поиск; 2. `/post.html` - просмотр поста и дерево комментариев; 3. `/register.html`, `/login.html` - формы регистрации и входа; 4. `/create-post.html`, `/edit-post.html` - редактор постов; 5. `/admin.html` - панель администрирования пользователей; 6. `/moderation.html` - модерация непроверенных комментариев. В ходе UI-проверки подтверждены: 1. корректная работа форм и отображение ошибок валидации; 2. show/hide пароль в формах аутентификации; 3. корректное отображение управляющих элементов по ролям; 4. отображение счетчика/индикатора непроверенных комментариев для модерации; 5. корректная обработка API-ошибок на клиентской стороне. 4.4. Выводы по тестированию Система прошла автоматизированные unit-проверки backend и функциональную/UI-проверку основных пользовательских сценариев. Текущее состояние тестирования можно считать достаточным для базовой стабильной эксплуатации. В качестве следующего шага развития качества рекомендуется добавить: 1. интеграционные тесты repository-слоя с PostgreSQL в тестовом контейнере; 2. e2e-тесты ключевых пользовательских потоков (auth, посты, комментарии, модерация); 3. автоматический запуск тестов в CI/CD при каждом merge request.