Лично я думаю, что вся эта шумиха по поводу тестируемости устройства полностью раздута. Вы можете очень легко протестировать приложение ASP.NET (которое хорошо спроектировано). Мы привыкли называть это «тестом на дым». Каждое действие, которое может быть выполнено в приложении, проверяется QA с целью что-то сломать. Обычно они добиваются успеха, и разработчики добиваются исправления. Просто мои 2 цента.
Множество модульных тестов, которые я видел, просто представляют кого-то, кто не может видеть лес за деревьями, которые пишут кучу дополнительного кода и слоев, которые могут быть не очень важны.