Ответ
Шаг проверки должен быть атомарным, воспроизводимым и содержать четкие критерии успеха.
Структура шага:
- Действие (Action): Конкретное действие, выполняемое тестировщиком или системой.
- Ожидаемый результат (Expected Result): Однозначная и проверяемая реакция системы на действие.
| Пример для тестирования авторизации: | Шаг | Действие | Ожидаемый результат |
|---|---|---|---|
| 1 | В поле "Email" ввести test@example.com. |
Поле заполнено введенным текстом. | |
| 2 | В поле "Пароль" ввести Qwerty123!. |
Поле заполнено, символы скрыты. | |
| 3 | Нажать кнопку "Войти". | Происходит переадресация на страницу личного кабинета, отображается приветствие "Добро пожаловать, Test User". |
Критерии качества:
- Конкретность: Избегать общих фраз ("проверить работу"). Указывать конкретные данные и элементы интерфейса.
- Один результат на шаг: Каждый шаг проверяет один четкий критерий.
- Независимость: Шаг должен быть понятен без контекста предыдущих (где это возможно).
- Проверяемость: Результат должен быть объективно наблюдаем (например, текст, состояние кнопки, URL).
Ответ 18+ 🔞
А, слушай, вот эта вся хуйня про «атомарные шаги» — это, блядь, не просто заумь какая-то, это священное писание для тестировщика, который не хочет, чтобы его потом послали нахуй с вопросом «а что ты, собственно, проверял-то?».
Вот смотри, чтобы шаг был годный, его надо раздробить, как этот ёбаный сахарный кубик, до состояния пыли. Один шаг — один пиздюлек по системе. И всё должно быть так ясно, что даже этот мудак из соседнего отдела, который кофе наш проливает, смог бы повторить.
Из чего этот кирпичик состоит, блядь:
- Действие (Action): Что ты делаешь своими кривыми ручками или что система должна сделать. Конкретно, ёпта! Не «покликать», а «нажать на кнопку с id="submit"».
- Ожидаемый результат (Expected Result): И что должно случиться в идеальном мире, где багов нет. Однозначно и без вариантов «ну, вроде работает».
Вот, смотри пример, как надо, на случае «зайти в систему, сука»:
| Шаг | Действие | Ожидаемый результат |
|---|---|---|
| 1 | В поле с лейблом "Email" ввести test@example.com. |
В поле отображается введённый текст test@example.com. |
| 2 | В поле с лейблом "Пароль" ввести Qwerty123!. |
В поле отображаются точки или звёздочки, символы скрыты. |
| 3 | Нажать кнопку с текстом "Войти". | Происходит редирект на URL /dashboard. На странице отображается элемент h1 с текстом "Добро пожаловать, Test User". |
А теперь, блядь, правила, чтобы не было мути:
- Конкретность, ёпта: Забудь слова «проверить работу кнопки». Это пиздец какой расплывчатый бред. Пиши: «нажать кнопку "Сохранить", которая становится активной после заполнения поля».
- Один результат на шаг: Не пытайся впихнуть невпихуемое. Один шаг — одна проверка. Иначе запутаешься, где хуйня случилась, и будешь как тот Герасим — «Муму» говорить, а нихуя не понятно.
- Независимость, где можно: В идеале, шаг должен жить сам по себе. Чтобы его можно было выдернуть и проверить отдельно, без танцев с бубном из предыдущих десяти шагов. Хотя, понятно, с авторизацией это не всегда выйдет.
- Проверяемость: Результат должен быть таким, чтобы на него можно было ткнуть пальцем и сказать: «Вот, сука, оно!». Текст, цвет, состояние кнопки (активна/неактивна), URL в адресной строке. Никаких «чувствуется, что работает быстрее». Чувства оставь своей мартышке, нам факты нужны.
Вот если будешь так писать, то и тест-кейсы твои будут не просто бумагой для подтирки, а реальной инструкцией, а баги будут такие явные, что даже менеджер, этот полупидор, не сможет сделать вид, что не заметил.