Files
TestingWebApp/docs/revision_task/sprint-01-testing.md
T
Константин Лебединский a68331c86b docs: статус проекта, инструкция dev, обновление всех .md
- PROJECT_STATUS: что сделано (черновики, версии, разбор, каталог) и планы
- DEV_CONTOUR_USER_GUIDE: сценарии для проверяющих на dev-стенде
- README, ТЗ, card1, журнал, бэклоги, шаги 01–11+README, спринты, TEST_TABLES: ссылки и примечания
- backend/PROGRESS: ссылка на PROJECT_STATUS

Made-with: Cursor
2026-04-24 22:12:06 +05:00

69 lines
4.7 KiB
Markdown

# Спринт 1 — тестирование (версионирование)
**Актуальный ведённый журнал (авто + ручные шаги, ответы ОК/не ОК):** [TESTING_JOURNAL.md](TESTING_JOURNAL.md) — *этот файл остаётся как подробный черновик сценариев*.
**Сводка «что в коде»:** [../PROJECT_STATUS.md](../PROJECT_STATUS.md).
Ниже: **автоматизировано / проверено при разработке** и **ручная приёмка** — дублирует структуру; статусы переносите в `TESTING_JOURNAL.md`.
**Окружение:** зафиксировать ветку/коммит, URL стенда, тестовые учётки (роль автора, роль сотрудника).
---
## 1. Автоматизировано и self-check (разработка)
_Отмечайте [ ] → [x] по мере выполнения._
### 1.1 Автотесты и статический анализ
- [ ] Unit-тесты правила «0 попыток — правка на месте без новой версии»
- [ ] Unit-тесты: после появления попытки — сохранение создаёт новую версию, старая неактивна
- [ ] Тест: попытка хранит `version_id` совпадающий с версией, по которой проходили
- [ ] Integration/API: нельзя «потерять» цепочку при смене активной версии
- [ ] Линтеры/CI зелёные на MR спринта 1
### 1.2 Смоук вручную (быстрый) перед передачей
- [ ] Создать тест, несколько раз сохранить **до** назначения/прохождения — версия одна
- [ ] Назначить, пройти тест, снова изменить тест — новая версия, старая в истории
- [ ] Список тестов у сотрудника без дублей цепочки
- [ ] Смена активной версии: новые прохождения идут по новой активной; старая попытка в разборе по старой версии
---
## 2. Ручная приёмка (я / заказчик)
_Сценарии для прогона в «боевом» темпе, без доступа к коду._
### 2.1 Автор: жизненный цикл без попыток
- [ ] Создать тест, изменить вопросы/порог — всё в одной версии, номер версии ожидаемо стабилен
- [ ] Убедиться, что в UI явно видно, что тест ещё «ни разу не проходили» (если предусмотрено ТЗ/UX)
### 2.2 Сотрудник + первая попытка
- [ ] Назначить тест, пройти его полностью
- [ ] Как автор изменить вопрос/варианты, сохранить — появляется **новая** версия; старая доступна в истории
### 2.3 Корректность данных
- [ ] Открыть разбор/результат **старой** попытки: формулировки вопросов и правильные ответы соответствуют **той** версии, с которой проходили
- [ ] Новое назначение/новое прохождение — по **актуальной активной** версии
### 2.4 Управление версиями
- [ ] История версий отображается полностью и понятно (номера, даты при наличии)
- [ ] Переключение **активной** версии на предыдущую: списки обновляются; новая попытка идёт по выбранной версии
- [ ] **Деактивация** теста: цепочка не светится сотруднику; данные на месте, старые результаты открываются (если доступ по ролям предусмотрен)
### 2.5 Визуальная согласованность
- [ ] Экраны редактора и списков **визуально** согласованы с остальным internal web (отступы, шрифты, кнопки, таблицы, ошибки) — **без отклонения** от принятого дизайна
### 2.6 Негатив
- [ ] Попытка не может «сломать» цепочку (ошибки пользователю понятны)
---