Статья понравилась. Первую еще не читал, но полагаю, что она имеет такое же качественное содержание.

Обычно я думаю, что тестирование — это хорошо, но оно также сопряжено с большим риском. Whitebox-тестирование помогает избежать наиболее распространенных ошибок разработки, которые допускают в основном новички. Например, скажите NullPointerExceptions.

Я считаю модульные тесты и интеграционные тесты наиболее полезными при работе над большими устаревшими проектами. Для этих проектов риск развертывания ошибки (даже если только в тестовой среде, развертывание которой может занять даже часы), чтобы затем обнаружить, что есть еще глупый случай, для которого реализация не работает должным образом, слишком высок с точки зрения времени. потерял.

Интеграционные тесты также полезны в основном по той же причине. Должен сказать, я видел, как интеграционные тесты проводились очень неправильно. Тесты, которые полагаются на ответ стороннего Rest API. Интеграционные тесты больше подходят для средних и старших классов, которые знают, какими должны быть границы тестируемых предметов.

Тем не менее, на мой взгляд, нужно быть очень уравновешенным и не религиозным в отношении тестирования или TDD. Тестировать каждую строчку кода просто глупо по своей сути. Если кто-то думает, что можно сделать ошибку в каждой строке кода, почему тест, написанный тем же человеком, не должен быть ошибочным и сообщать о ложном успешном тесте?

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