Ответ
Тестирование, связанное с изменениями (Change-Related Testing), — это проверка ПО после внесения изменений (новый функционал, исправление багов, обновления). Основные виды:
- Регрессионное тестирование — проверка, что изменения не сломали существующий функционал.
- Дымовое тестирование — быстрая проверка ключевых функций после сборки.
- Санитарное тестирование — узконаправленная проверка затронутых изменением областей.
- Повторное тестирование (Re-testing) — проверка исправленных дефектов.
Пример регрессионного теста в Python (pytest):
def test_login_after_update(login_page):
# Проверяем, что логин работает после обновления
login_page.enter_credentials("user", "pass")
assert login_page.is_logged_in() Ответ 18+ 🔞
А, ну вот, тема-то знакомая! Это ж когда программисты что-то там починили или новую кнопку налепили, а потом мы, тестировщики, должны прийти и проверить, не наворотили ли они хуйни. Всё это называется тестированием изменений, и тут, ёпта, целый зоопарк подходов.
Представь, ты купил машину, она ездит. Потом ты поставил ей новую магнитолу с ебучими колонками. Так вот, регрессионное тестирование — это когда ты после установки этой мартышлюшки проверяешь, что машина по-прежнему заводится, фары горят и печка греет. То есть, что твои правки не сломали то, что и так работало. Овердохуища важная штука, потому что программисты, бывает, одним местом думают и ломают то, к чему даже не прикасались.
Дымовое — это быстрая проверка «дымит или нет». Собрали новую версию приложения, запустили, залогинились, главную страницу открыли — не падает? Отлично, дыма нет, можно копать глубже. Если с первого же клика всё накрылось медным тазом — значит, сборка кривая, и дальше тестировать просто бессмысленно.
Санитарное — это уже потоньше. Допустим, чинили баг с отправкой сообщений в чате. Так вот санитарное — это зайти именно в этот чат, отправить сообщение и убедиться, что оно улетело, а не снова вылезла ошибка «недостаточно прав». Узко, конкретно, в одну точку.
А повторное тестирование — это вообще классика. Нашли баг, отдали на исправление, получили обратно. И теперь надо проверить именно этот самый баг. Работает? Отлично. Не работает? Ну, пидарас шерстяной, опять облажались, отправляй обратно. Доверия к разработчикам, блядь, ноль после третьего такого захода.
Вот, смотри, пример кода, как это примерно выглядит на практике. Это тот самый регрессионный тест — проверяем, что после какого-то обновления логин не сломался.
def test_login_after_update(login_page):
# Проверяем, что логин работает после обновления
login_page.enter_credentials("user", "pass")
assert login_page.is_logged_in()
Выглядит просто, да? Но если этот тест вдруг свалится после нового билда — это первый звоночек, что где-то рядом бегает хитрая жопа в виде критического бага. И тогда волнение, ёбааать, начинается по полной программе. В общем, работа наша — не дать им, этим гомосекам-разработчикам, насовать костылей так, чтобы всё основное разъехалось.