Как начать тестирование сайта?
Selenium - на базе обычных юнит-тестов, с ассертами ("сколько пальцев видишь?", "на месте ли кнопка?"). Они медленные, поэтому гонять оптимально ночью, вместе с интеграционными (API, сложные сценарии с данными). Они интеграционные, поэтому покрывать нужно реальные сценарии, т.е. функциональные блоки. У нас, например, тестировщики пишут тест-кейсы (текст вида: "Пойди туда - получишь то."), а по ним программируются автотесты, т.е. точно так, как бы проверял человек. Неплохо бы помимо логов при падении делать скриншоты. 
Чем больше покрытие - тем лучше, хотя нужно как-то балансировать, чтобы не чинить их 50% времени от разработки новой фичи =)
Юнит тесты гонять каждый коммит (в маленьком проекте можно руками перед коммитом, а в большом - силами CI после каждого коммита).
Интересуют вопросы: Как вообще должно выглядеть тестирование?(теста на каждый блок\модуль сайта, или на каждую страницу, или на целый сайт),
Тут как пожелаете. Конечно в первую очередь нужно написать тест на критичные бизнес-процессы.
Затем на менее критичные и т.д. на сколько позволяет время и бюджет при каждом обновлении сайта запускать тесты или раз в день\неделю, 
По хорошему, нужно запускать при каждом изменении, но тут все зависит от того, какие именно были изменения.
У нас автотесты бегают принудительно каждую ночь на свежесобранной чистой среде. + по запросам комитовкуда тесты пишут о своем успехе\проблемах, и кто читает этот "лог". 
Тут надо понять, каким образомы вы собираетесь их запускать. Существует куча фреймворков Тестранеров. 
У них обычно есть методы логирования результатов тестов. Но есть и фреймворки для сбора отчетов типа Alura