> И ловит ситуации, ловля которых предусмотрена автором кода и теста.
Вот именно, что ловит. А без unit tests - не ловит. И ранее найденные и исправленные баги - могут появиться снова. И, по закону бутерброда, появляются.
> обычные юнит-тесты могут выполнять только роль регрессионных
1) Основная цель юнит тестов - regression testing. 2) Есть и другие цели. Например, написанный unit test - облегчает тестирование при модификации кода. В unit test документируются примеры разных ситуаций, с которыми должен работать основной (тестируемый) код.
> регрессионные тесты должны быть повыше уровнем
Регрессионные тесты могут быть повыше уровнем. Но регрессионные тесты полезны и на низком уровне.
> все интересные регрессии происходят не внутри модулей, а на стыке
Нет, не все. Внутри модулей тоже бывают интересные регрессии. Особенно если модули сложные.
Re: Regression testing
Вот именно, что ловит.
А без unit tests - не ловит. И ранее найденные и исправленные баги - могут появиться снова.
И, по закону бутерброда, появляются.
> обычные юнит-тесты могут выполнять только роль регрессионных
1) Основная цель юнит тестов - regression testing.
2) Есть и другие цели.
Например, написанный unit test - облегчает тестирование при модификации кода.
В unit test документируются примеры разных ситуаций, с которыми должен работать основной (тестируемый) код.
> регрессионные тесты должны быть повыше уровнем
Регрессионные тесты могут быть повыше уровнем.
Но регрессионные тесты полезны и на низком уровне.
> все интересные регрессии происходят не внутри модулей, а на стыке
Нет, не все.
Внутри модулей тоже бывают интересные регрессии.
Особенно если модули сложные.