Ответ
Ретест (Re-test) — это точечная проверка, направленная на подтверждение того, что конкретный ранее обнаруженный дефект был успешно исправлен. Это проверка одного сценария.
Регрессионное тестирование (Regression Testing) — это широкая проверка, цель которой — убедиться, что последние изменения в коде (исправление бага, новая функциональность, рефакторинг) не привели к появлению новых дефектов в уже протестированных частях системы.
Сравнение в таблице:
| Критерий | Ретест | Регрессионное тестирование |
|---|---|---|
| Цель | Подтвердить исправление конкретного дефекта | Убедиться, что изменения не сломали существующий функционал |
| Объем | Узкий (один или несколько связанных тест-кейсов) | Широкий (затронутые модули или вся система) |
| Объект | Исправленный баг | Измененный код и связанные с ним области |
| Автоматизация | Чаще выполняется вручную | Часто автоматизировано (набор регрессионных тестов) |
| Когда выполняется | После получения фикса от разработчика | После сборки, перед выпуском версии, после значительных изменений |
Пример:
В форме регистрации был баг: поле email принимало адрес без символа @.
- Ретест: Тестировщик проверяет только это поле, вводя валидные и невалидные email, чтобы убедиться, что валидация теперь работает.
- Регрессия: После этого фикса запускается набор тестов для всей формы регистрации (поля имени, пароля, кнопки отправки), а также для связанных функций (логин, восстановление пароля), чтобы убедиться, что исправление не повлияло на них.
Ответ 18+ 🔞
А, ну это классика, блядь! Вечная путаница у всех новичков, а иногда и у опытных, если они в говне не копались. Слушай сюда, сейчас разложу по полочкам, как в сортире после хорошего запоя.
Представь себе, ты живёшь в хрущёвке, и у тебя течёт, сука, кран на кухне. Ты вызвал сантехника — дядьку Васю. Он пришёл, почесал жопу, покрутил что-то ключом и ушёл.
Ретест — это когда ты, блядь, сразу идёшь и проверяешь ЭТОТ, ёпта, кран. Капает? Не капает? Всё, хуй с ним. Цель достигнута — конкретная проблема решена. Ты не проверяешь, не начал ли течь унитаз или не отвалился ли смеситель в ванной. Только кран, только хардкор.
Регрессионное тестирование — это, сука, паранойя высшей пробы. После того как дядька Вася ушёл, ты идёшь и проверяешь ВСЁ, нахуй. Потому что этот алкаш мог, чих-пых его в сраку, случайно гаечным ключом по трубе стукнуть, и теперь у тебя в туалете потоп. Или он, мудень, перекрыл общий стояк, и теперь во всей квартире воды нет. Регрессия — это проверка, не сломал ли его «фикс» чего-то ещё, что раньше работало.
Вот тебе таблица, чтобы вообще ни хуя не путать:
| Критерий | Ретест | Регрессионное тестирование |
|---|---|---|
| Цель | Убедиться, что конкретная дыра залатана | Убедиться, что, латая дыру, не насрали на весь ковёр |
| Объем | Точечно, в одно место | Широко, по всей хате, а то и по всему подъезду |
| Объект | Исправленный косяк | Всё, до чего мог дотянуться криворукий разработчик |
| Автоматизация | Чаще ручками, быстро | Часто автоматом, потому что вручную всё проверить — это овердохуища работы |
| Когда | Сразу после «починил» | Перед тем как выпустить новую версию в мир, чтобы не осрамиться |
Пример из жизни, блядь:
Была у тебя форма входа. Пользователь мог вписать логин admin'; DROP TABLE users;-- и всё падало, пиздец.
- Ретест: Разработчик говорит: «Пофиксил, SQL-инъекции больше нет». Ты, ебать мои старые костыли, лезешь и пробуешь вставить ЭТУ ЖЕ, блядь, инъекцию. Не проходит? Отлично, ретест пройден. Можно выдохнуть.
- Регрессия: А теперь включается паранойя. А обычный-то логин
vasyaпроходит? А с русскими буквами? А если пароль на 300 символов? А кнопка «Забыл пароль» работает? А после входа корзина товаров отображается? Вот эта ёбушки-воробушки, эта тотальная проверка всего, что могло задеть исправление, — это и есть регрессия. Потому что могло оказаться, что, защитившись от инъекции, они сломали кодировку, и теперь все кириллические логины не работают. Вот и весь сказ, блядь.