«тестирование реализации» не является распространенным выражением. Я подозреваю, что вы имели в виду «интеграционное тестирование», поскольку оно обычно используется, особенно в отличие от модульного тестирования.
Интеграционное тестирование означает тестирование нескольких частей или всей системы, действующих вместе. Часто тесты имитируют реального пользователя, работающего с системой через ее обычный пользовательский интерфейс.
Преимущество состоит в том, что вы не просто проверяете, выполняет ли каждый компонент свой контракт, но также проверяет, правильно ли они составлены и настроены и взаимодействуют, как ожидается - вещи, которые вы не можете уловить с помощью модульных тестов. С другой стороны, зачастую сложно провести исчерпывающее тестирование граничных условий с помощью интеграционных тестов, они менее стабильны и требуют гораздо больше времени для выполнения. И, конечно, они не могут быть запущены (или даже записаны), пока большая часть системы не будет работать.
Таким образом, интеграционные тесты происходят намного позже в жизненном цикле разработки, чем модульные тесты.