architect/standards/3-process/process-testing.md

type: standard
aspect: process
title: "Стандарт тестирования модулей"
version: 1.0.0
date: 2026-02-19
status: active


Стандарт тестирования модулей

Версия: 1.0.0
Область: Все проекты с CMS (CS-Cart, Drupal, etc.)


Принцип

Пошаговое развёртывание с проверкой на каждом шаге.

Никогда не делать несколько изменений сразу. После каждого действия - проверка.


Алгоритм

1. ПОДГОТОВКА
   └── Проверить синтаксис локально
   └── СТОП: файлы готовы?

2. ЗАГРУЗКА
   └── Загрузить файлы на сервер
   └── СТОП: сайт работает?

3. АКТИВАЦИЯ
   └── Активировать модуль
   └── СТОП: сайт работает?

4. ТЕСТ МИНИМАЛЬНЫЙ
   └── Проверить базовую функцию
   └── СТОП: работает?

5. ТЕСТ ПОЛНЫЙ
   └── Проверить на реальных данных
   └── СТОП: работает?

6. ГОТОВО

Правила

  1. Один шаг = одно изменение
  2. После каждого шага - проверка в браузере
  3. При ошибке - откат на предыдущий шаг
  4. Не менять чужой код - только свои модули
  5. Логировать все действия

Запрещено


Правило отката

Если что-то сломалось и не получается быстро починить (5 минут):

  1. СТОП - не пытаться чинить дальше
  2. Откатить до предыдущего рабочего состояния
  3. Сообщить оператору что произошло

Если сломалось ВСЁ:

  1. Сказать оператору: "Сайт сломан, нужно переустановить движок"
  2. Получить разрешение
  3. Восстановить из чистого архива (голый CS-Cart после установки)
  4. Заново накатить только проверенные модули

Чистый архив: Hub: projects/lider/archive/cscart_clean_installed.zip


Обязательное логирование

Каждое изменение на сайте записывать в лог:

projects/{project}/site/@{domain}/CHANGELOG.md

Формат записи:

## YYYY-MM-DD HH:MM

### Действие
- Что сделано
- Какие файлы затронуты
- Результат (ОК / ОШИБКА)

### Откат (если нужен)
- Команды для отката

Шаблон лога тестирования

=== ТЕСТ: [Название модуля] ===
Дата: YYYY-MM-DD HH:MM

[✓] Шаг 1: Синтаксис проверен
[✓] Шаг 2: Файлы загружены, сайт работает
[✗] Шаг 3: Модуль активирован, ОШИБКА: ...
    Откат: модуль отключён
    Анализ: ...

Создано: 2025-12-09