Меня учили, что регрессионный тест - это небольшая (достаточная только для того, чтобы доказать, что вы ничего не сломали с введением изменений или новых модулей) выборку общих тестов. Однако эта статья Рона Моррисона и Грэди Буча заставляет меня думать иначе:
Желаемой стратегией было бы объединять каждый блок по отдельности, выполнять обширный регрессионный тест, исправлять любые дефекты и затем переходить к следующему блоку.
В том же документе также говорится:
Как только добавляется небольшое количество модулей, создается тестовая версия и "дымовые испытания", при которой выполняется небольшое количество тестов, чтобы получить уверенность в том, что интегрированный продукт будет функционировать должным образом. Целью является ни тщательное тестирование нового модуля (ов), ни полное регрессионное тестирование всей системы.
Описывая дымовые испытания, авторы говорят следующее:
Также важно, чтобы Smoke Test выполнял быструю проверку всей системы, а не только новых компонентов.
Я никогда не видел, чтобы «расширенный» и «регрессионный тесты» использовались вместе, или регрессионный тест, описанный как «полностью регрессионный тест всей системы». Предполагается, что регрессионные тесты должны быть максимально легкими и быстрыми. А определение дымового теста - это то, что я узнал из регрессионного теста.
Я неправильно понял то, чему меня учили? Меня неправильно учили? Или существует несколько интерпретаций «регрессионного теста»?