Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
т.е, основа тестов должны быть unit tests, они самые дешевые и быстрее всего дают обратную связь; потом integration tests с иммитацией частей системы, они дороже, чаще падают от «вуду» проблем, но все еще достаточно дешевы чтобы часто использоваться; ну и наконец идут end to end тесты, которых должен быть самый минимум, проще говоря — они должны проверять, что система работает и можно делать самые базовые операции. Почему e2e тестов должно быть минимум? Потому что их ОЧЕНЬ дорого писать и они, по своей натуре, не стабильны (зависимость от внешних API, реальные денежные транзакции, ошибки распознования в таких иструментах как Selenium: все эти маленькие вероятности падений банально перемножаются). Грубо говоря, чем выше мы поднимаемся в этой иерархии, тем меньше конечное соотношение «цена к ценности».Написание юнит тестов приводит к лучшему пониманию что надо писать
Юнит тесты объясняют как должен работать код
Имхо, после некоторой практики оптимальная структура кодовой базы сама пишется.
Это актуально, если модуль, который обложили юнит-тестами, выполняет какие то сложные вещи, ну например умные подсчеты.
Автотесты – барское дело