← Назад к вопросам
Как начать тестирование если нет документации
1.0 Junior🔥 261 комментариев
#Теория тестирования
Комментарии (1)
🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)
Ответ сгенерирован нейросетью и может содержать ошибки
Как подходить к тестированию без документации
Отсутствие документации — распространённая, хотя и нежелательная, ситуация в реальных проектах. Мой подход основан на принципе «тестирование — это исследование», и в таких условиях особенно важны исследовательское тестирование и адаптивность.
Ключевые шаги и стратегии
- Немедленный старт через исследование (Exploratory Testing)
* Не жду документов, а начинаю взаимодействовать с продуктом как пользователь. Для веб-приложения это означает:
* Навигация по всем видимым интерфейсам.
* Составление **ментальной карты (mind map)** или блок-схемы основных модулей и их связей.
* Фиксация всех найденных экранов, кнопок, форм в простом документе (например, в Confluence или даже в текстовом файле).
- Поиск и анализ любых доступных артефактов
Даже если нет формальной спецификации, ищу:
* **Коммиты и тикеты в трекере (Jira, Git):** Описание задач разработчика часто содержит ключевую логику.
* **Письма и сообщения в чатах (Slack, Teams):** Обсуждения между продакт-менеджером и командой.
* **Рабочую версию продукта (production или staging):** Самый точный «документ». Сравниваю поведение новой версии с текущей.
* **Тесты разработчиков (Unit, Integration):** Просмотр кода тестов помогает понять ожидаемое поведение модулей.
- Активное взаимодействие с командой
* **Разработчики:** «Я вижу здесь поле ввода. Какие валидные данные оно ожидает? Какие основные сценарии обработки?»
* **Продакт-менеджер или владелец продукта:** «Какова основная цель этого раздела? Кто ключевой пользователь и что он хочет здесь сделать?»
* **Технические специалисты:** Запросы к базе данных или API через инструменты вроде **Postman** или **Swagger** (если есть), чтобы понять контракты данных.
Практические техники и примеры
- Реверс-инжиниринг через API:
Часто API более стабильны и информативны, чем UI. Я анализирую сетевые запросы в DevTools браузера (`F12 -> Вкладка Network`) и воспроизвожу их в Postman, чтобы понять модель данных и бизнес-правила.
```javascript
// Пример: анализ ответа API для понимания структуры данных пользователя
// Ответ на GET /api/v1/user/123
{
"id": 123,
"email": "user@example.com",
"subscription": {
"type": "premium",
"expires_at": "2024-12-31",
// Поле "active" отсутствует. Значит, статус, вероятно, вычисляется на основе даты.
// Это важно для тестирования сценариев истечения подписки.
}
}
```
- Метод «Черного ящика» и техники тест-дизайна:
Даже без знаний о внутреннем устройстве, применяю:
* **Эквивалентное разделение:** Предполагаю, что если поле принимает email, то все валидные email-адреса (класс эквивалентности) должны работать, а все не-email (другой класс) — вызывать ошибку.
* **Анализ граничных значений:** Для числового поля с видимым ограничением от 1 до 100 тестирую значения: 0, 1, 2, 99, 100, 101.
* **Тестирование состояний и переходов:** Составляю упрощенную диаграмму состояний. Например, для заказа: `Корзина -> Оформлен -> Оплачен -> Доставлен`. Тестирую каждый переход.
- Документирование «на лету»:
В процессе исследования сам создаю документацию, которая станет основой для будущих тест-кейсов и для команды.
```
### Модуль: Регистрация пользователя
**Найденные поля:**
1. Email - обязательное, проверка на формат.
2. Пароль - обязательное, минимум 8 символов, требуется цифра и заглавная буква.
3. Подтверждение пароля - обязательное, должно совпадать с полем "Пароль".
**Наблюдаемое поведение:**
- При неверном email показывается сообщение "Введите корректный email".
- При слабом пароле - сообщение "Пароль слишком простой".
- Успешная регистрация перенаправляет на /dashboard.
**Неясности (вопросы к разработчику):**
- Есть ли ограничение на длину email?
- Блокируется ли повторная регистрация на один email?
```
Важные принципы и выводы
- Коммуникация важнее перфектной документации. Постоянный диалог с командой снижает риски недопонимания.
- Продукт — это и есть документация. Его поведение — главная истина.
- Я создаю артефакты тестирования в процессе. Мои заметки, чек-листы и баг-репорты со временем становятся ценным источником информации для всех.
- Фокусируюсь на рисках. Без спецификации легко утонуть в деталях. Задаю вопрос: «Что может сломать бизнес-логику или привести к потере данных?» Тестирую это в первую очередь.
Таким образом, отсутствие документации не блокирует начало тестирования, а смещает фокус на активное исследование, критическое мышление и усиленную коммуникацию. Этот подход часто приводит к более глубокому пониманию продукта и более эффективному выявлению серьезных дефектов, которые могли быть пропущены при формальном следовании спецификации.