Часть 1. Введение в исскуство Unit Тестирования на PHP

Written by Yaroslav Vorozhko on January 15, 2008 – 12:39 pm -

Автор: padraic
Оригинал: An Introduction to the Art of Unit Testing in PHP
Перевод: Ярослав Ворожко

unit_testing

 

Введение

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

Ручное тестирование может выполняется не регулярно и обычно в сокращенных рамках. Для тестирования исходного кода регулярно и глубоко применяют автоматические тесты, которые могут исполняються периодически. В PHP такие тесты обычно пишутся используя Unit Test framework - это фреймоврк, который позволяет тестировать исходный код приложения или библиотеки изолированными блоками функциональности, такими как классы или методы.

Как только блочное тестирование стало популярным, то это стало стандартом для таких приложений как Swiftmailer, Zend Framework и Symfony - все они используют блочное тестирование для проверки исходного кода.

Блочное тестирование часто видят как что то загадочно, съедающее время задачу - которая иногда должна исполняться! Но цель расходовать время на блочное тестирование - это улучшение качества вашего кода программы, уменьшение количества багов, большинство из которых выявляются на ранних этапах разработки, непрерывное тестирование предотвращается изменение поведения старого кода при написании нового, и предоставляет вам уверенность в вашем коде, что ваш код защищенный и чистый от багов. Также есть и другие преимущества блочного тестирования, но о них мы поговорим позже.

От себя добавлю:

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


Tags: , , , , , , , , , ,
Posted in Development | No Comments »