Нетестируемый код появляется, когда мы не можем изолировать поведение какого-либо сегмента кода, потому что этот сегмент сильно зависит от многих других частей системы (и тогда его поведение является производной от поведения и состояния этих частей) прямо или косвенно. Его можно протестировать огромным интеграционным тестом, но тогда тест - это всего лишь крохотный процент от всего спектра возможных состояний других компонентов системы, либо использовать “поддельные объекты” и заглушки, но тогда полезность теста стремится к нулю, так как имитируемое состояние системы не реально.

Баги появляются именно в таких фрагментах кода - сильно связанных, напрямую или косвенно, с большим количеством других частей системы, т.е. в не изолированном коде.

Противоположность нетестируемого кода - код, покрытый модульными тестами (юнит- тестами) Назначение модульных тестов.