Тест-план для страницы логина Facebook
1. Типы тестирования
Основной путь — логин должен работать безупречно.
Негативные тест-кейсы для формы авторизации
Общие предусловия
1. Пустые поля
Тестирование REST API для управления пользователями
Предусловия
1. Как тестировать эти endpoints
Стратегия тестирования REST API
Чек-лист тестирования корзины интернет-магазина
1. Добавление товаров в корзину
Баг-репорт: Поле Username позволяет отправить пустое значение
1. Заголовок (Title)
[BUG] Form submission allowed with empty username field despite mandatory requirement
Ор на русском:
[БАГ] Форма принимает пустое значение поля username, несмотря на требование обязательного заполнения
2. Информация об окружении (Environment)
| Параметр | Значение |
|---|---|
| Операционная система | Windows 10 / macOS 13.4 / Ubuntu 22.04 |
| Браузер | Google Chrome 120.0.6099.129 |
| Версия приложения | 2.1.5 |
| URL страницы | https://app.example.com/register |
| Дата обнаружения | 2026-03-23 |
| Время обнаружения | 14:35 UTC |
| Язык интерфейса | English (en-US) |
| Разрешение экрана | 1920x1080 |
3. Предусловия (Pre-conditions)
SQL-запросы для тестирования данных
Предусловия
1. Вывести всех пользователей, зарегистрированных за последний месяц
Задача
Получить список всех пользователей, которые создали аккаунт в течение последних 30 дней (с 2026-02-21 по 2026-03-23).
SQL-запрос (PostgreSQL/MySQL)
SELECT
id,
name,
email,
created_at,
status
FROM users
WHERE created_at >= NOW() - INTERVAL '30 days'
AND created_at <= NOW()
ORDER BY created_at DESC;
Альтернативный синтаксис (для разных СУБД)
PostgreSQL:
SELECT * FROM users
WHERE created_at >= CURRENT_DATE - INTERVAL '30 days'
ORDER BY created_at DESC;
MySQL:
SELECT * FROM users
WHERE created_at >= DATE_SUB(NOW(), INTERVAL 30 DAY)
ORDER BY created_at DESC;
Решение: Диагностика проблемы клиент или сервер
Систематический алгоритм диагностики
Когда ничего не происходит при нажатии кнопки, нужно проверить всё: от клиента до сервера. Ниже — пошаговый процесс.
Шаг 1: Проверка на клиенте (Browser DevTools)
Открыть DevTools (F12) → Console и нажать на кнопку:
// Смотрим на ошибки:
- Uncaught TypeError
- Uncaught ReferenceError
- CORS errors
- Network errors
// Признаки проблемы на клиенте:
❌ console.error() сообщения
❌ Красные сообщения об ошибках
❌ JavaScript не выполняется
Типичные ошибки:
// Ошибка 1: button не найден
Uncaught TypeError: Cannot read property 'click' of null
// Ошибка 2: обработчик события не зарегистрирован
Button clicked, but handler is undefined
// Ошибка 3: CORS
Access to XMLHttpRequest at 'http://api.example.com' from origin
'http://localhost:3000' has been blocked by CORS policy
Проверка отправки данных в БД через DevTools
1. Как проверить отправку данных через DevTools (вкладка Network)
Отфильтруйте по типу запроса:
Найдите запрос, отправляющий данные формы:
submit, api/register, login, /users, /form-dataТестирование граничных значений для проверки возраста 18+
Контекст
Сегодняшняя дата: 23 марта 2026 года (2026-03-23).
Для прохождения регистрации пользователь должен быть 18 лет и старше на момент проверки. Это означает, что ему должно быть ровно 18 или больше.
Дата рождения ограничения:
Техника граничных значений (Boundary Value Analysis)
Техника BVA сосредоточена на значениях на границах допустимого диапазона. При проверке возрастного ограничения 18 лет нас интересуют:
Тестирование калькулятора суммы двух чисел
Контекст
Программа: Калькулятор сложения
Требования:
Пример использования:
Введите первое число (1-9): 5
Введите второе число (1-9): 3
Результат: 5 + 3 = 8
1. Классы эквивалентности (Equivalence Partitioning)
Определение классов эквивалентности
Класс эквивалентности — это группа входных данных, которые система должна обрабатывать одинаково.
Для калькулятора:
Решение: Тестирование лифта
1. Функциональное тестирование
TC-01 Вызов лифта: Нажать кнопку вызова на 5-м этаже → лифт прибывает, двери открываются → войти → нажать 7 → лифт едет на 7-й этаж.
TC-02 Вызов вниз: На 7-м этаже нажать вниз → войти → нажать 2 → лифт едет вниз, останавливается на 2-м этаже.
TC-03 Очередь вызовов: Вызвать лифт с 3-го, 5-го, 7-го этажей → лифт посещает все этажи в логичном порядке.
TC-04 Двери: Лифт остановился → нажать открытие/закрытие дверей → двери открываются/закрываются за 2-3 сек.
2. Безопасность
TC-05 Перегруз: Загрузить более 1000 кг → лифт издаёт сигнал и не движется, датчик срабатывает.
TC-06 Экстренная остановка: Нажать SOS во время движения → лифт немедленно останавливается, включается сигнал и связь с диспетчером.
TC-07 Резервное питание: При отключении питания → лифт плавно едет до ближайшего этажа и останавливается.
Полное тестирование карандаша: от функционала до надежности
Предусловие
Тестируемый объект: Обычный деревянный карандаш (HB или аналогичный)
Основные требования к карандашу:
1. Функциональное тестирование
Проверка основных функций карандаша в нормальных условиях.
Тестовые сценарии