Не пишешь тесты - ты плохой программист?
Это от задачи зависит. Автоматизированное тестирование - это вещь. Но на недорогих проектах обходятся без этого.
Есть тесты серверной части, есть тесты JS, есть тесты функциональные, есть юнит-тестирование. Они все пишутся по разному и на разном.
Ну, например, Selenium используется для тестов с эмуляцией пользователя.
А методика юнит-тестирование как правило описана в документации к используемым инструментам.