Разница между дымовым, санитарным, регрессионным и повторным тестированиями заключается в их целях и задачах:
- Дымовое тестирование (Smoke Testing) — короткий цикл тестов, который подтверждает, что приложение нормально запускается и выполняет свои функции после сборки кода. deveducation.com github.com Цель — проверить «стабильность» системы в целом. habr.com
- Санитарное тестирование (Sanity Testing) — узконаправленное тестирование, которое доказывает, что конкретная функция работает согласно заявленным в спецификации требованиям. github.com Используется для определения работоспособности определённой части приложения после изменений, произведённых в ней или окружающей среде. github.com Является подмножеством регрессионного тестирования. github.com
- Регрессионное тестирование (Regression Testing) — вид тестирования, который проверяет, что внесённые изменения не повлияли на работу функционала, разработанного ранее. deveducation.com Цель — убедиться, что свежие изменения в коде не оказали побочных эффектов на устоявшуюся работающую функциональность. habr.com
- Повторное тестирование (Re-testing) — тестирование, во время которого исполняются тестовые сценарии, выявившие ошибки во время последнего запуска, для подтверждения успешности исправления этих ошибок. github.com
Граница между этими понятиями весьма условная, и выбор вида тестирования зависит от конкретных требований проекта. habr.com