Я стараюсь с самого начала стучать по юнит-тестам. Я не самый большой поклонник TDD в мире, но я действительно играю на юнит-тестах. Я не думаю, что какая-то волшебная фея сможет гарантировать, что интеграционное тестирование будет проходить с летающими цветами, потому что все юнит-тесты работают, но это чертовски близко.
Что касается приемочного тестирования, я даже не собираюсь смотреть на что-то, пока не увижу прохождение модульных тестов (или провал, если предполагается, что они не пройдут). Я не могу вспомнить многих случаев, когда бы я принял полное отсутствие модульных тестов. Что если обновится какая-нибудь базовая библиотека в приложении?
Многие будут утверждать, что модульные тесты ориентированы на разработчиков, они будут правильными. Тем не менее, отсутствие модульных тестов само по себе является индикатором, особенно если тот, кто проводит приемочные тесты, оказывается разработчиком:)
Edit:
Интеграционные тесты также важны для меня. Как правило, мы строим вещи по очень жесткой спецификации. Когда интеграционные тесты не пройдены (после того, как они были пройдены ранее), это является сильным показателем расширения области видимости. Когда это происходит, кто-то должен сделать немного шума, прежде чем просто исправить это.