Часть 2. Введение в исскуство Unit Тестирования на PHP – Заблуждения
Автор: padraic
Оригинал: An Introduction to the Art of Unit Testing in PHP
Перевод: Ярослав Ворожко
Перед введением в процесс блочного тестирования, хочу немного рассказать про общие ошибки и заблуждения начинающих.
Общие ошибки и заблуждения блочного тестирования:
- Тестирование съедает очень много времени;
- Сложный код не может быть протестирован;
- Это небольшой проект, поэтому мне не нужны тесты;
- Тестирование утомляет.
Чаще всего именно эти высказывания можно услышать от начинающих или думающих начать писать тесты.
Тестирование не съедает вермя. На вопрос почему нет, я скажу вам, что это время вы с лихвой отыграете в будущем. Т.к. в процессе работы приложения всегда будут находиться ошибки, будет добавляться новый функционал, и вам снова и снова придеться проверять приложение на то, что вы ничего не поломали и что все работает так как и работало. Намного проще и быстрее с подобными задачами справляется блочное тестирование как процесс разработки.
Второе, сложный код в процессе блочного тестирования разбивается на более простой и более унифицированный код, который потом проще сопровождать, изменять и дописывать. Факт, что если вам ваш код, кажется очень сложным для тестирования – это все потому, что вы не торопитесь или не желаете начать заниматься тестированием!
Третье, рабочий код и рабочий код основанный на тестах – это две большие разницы. Тестирование предоставляет лучшие методы для внесения изменений, рефакторинга и добавления нового функционала с наименьшей головной болей о том, что, что то может сломаться или что то будет несовместимо. С пмощью тестов вы вмиг сможете об этом узнать и сразу исправить проблему, в то время как с обычным кодом может пройти, неделя или месяц пока вы заметите, что что то работает не так.
И последнее, тесты не всегда утомительное занятие. Да, я знаю, они могуть быть иногда утомительными, но в основном они утомительны только если вы начинаете писать их в конце процесса разработки. Если же вы постоянно переходите от тестов к коду и обратно, вы сделаете намного больше и с меньшей усталостью. Поэтому простое лекарство от скуки – это постоянный переход от тестов к коду и обратно. Не создавайте пропуски, тратя сегодняшний день на написание только тестов, а завтра только кода.
Все, больше никаких рассуждений. Присядь, отдохни, и читай дальше. ;-)

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