Деликатное введение в юнит-тестирование и тестирование
Вступление
В нашей повседневной жизни мы так или иначе находим способы проверки или тестирования вещей, чтобы убедиться, что их функциональность соответствует нашим требованиям. Мы тестируем гаджеты, прежде чем платить за них, мы даже тестируем еду, когда мы на кухне, тестирование очень важно в жизни.
В программировании тестирование является неотъемлемой частью каждого языка программирования. Если мы не проверяем наши коды, как мы можем убедиться, что они работают так, как ожидалось? Однако ручное тестирование может выполняться нерегулярно, и это обычно очень ограничено. Таким образом, решением для правильного тестирования программного обеспечения является написание автоматических тестов, которые позволяют нашему приложению всесторонне тестироваться только путем выполнения определенных письменных кодов. В PHP такие тесты обычно пишутся с использованием модульного тестирования.
За прошедшие годы модульное тестирование приобрело популярность, и теперь оно имеет тенденцию быть стандартной практикой в PHP со многими популярными средами, такими как Laravel, Code Igniter и Phalcon, все из которых требуют покрытия модульных тестов своим исходным кодом.
Хотя модульное тестирование часто считается утомительным и отнимает много времени, что может быть правдой большую часть времени, но затрачивая время на написание тестов, вы улучшаете общее качество нашего кода, освобождая нашу программу от ошибок и обеспечивая максимальную производительность. Модульное тестирование в целом дает нам уверенность в том, что наши программы могут зависеть.
Мифы о модульном тестировании
У модульного тестирования и практически всех других форм тестирования есть некоторые мифы разработчиков, которые часто мешают их принятию разработчиками.
- Модульное тестирование занимает много времени.
- Модульное тестирование слишком сложно.
- Сложные коды не могут быть проверены.
- Если мой код работает, зачем писать тест.
- Написание юнит-теста скучно.
Это тестирование ошибок, оправдания, которые кажутся вполне разумными, но дезинформированы тонкими способами. Итак, давайте все исправим!
Тестирование занимает много времени? Этот вопрос лучше перефразировать, стоит ли тестирование того времени, которое оно занимает? Тестирование должно рассматриваться как неотъемлемая часть разработки программного обеспечения, поскольку оно устраняет или уменьшает будущее время, которое должно быть потрачено на изменение, рефакторинг и исправление непредвиденных ошибок в нашем коде. Тестирование может не полностью устранить ошибки, а просто представить ошибки без тестирования.
Сложные коды не могут быть протестированы: сложные коды состоят из меньших практических частей, и тестирование этих меньших частей приведет к тестированию всего сложного кода. Если наши коды не могут быть легко протестированы, то мы не смогли написать практичные и хорошо структурированные гибкие коды, которые можно легко отделить. Всегда рекомендуется писать тесты вместе с нашими кодами, чтобы нам не пришлось так долго ждать, чтобы начать тестирование «сложных» кодов.
Работает ли код? Да, наши коды могут работать правильно, но рабочий код полностью отличается от работающего проверенного кода. Тесты избавляют нас от боли, возникающей при внесении изменений, рефакторинга и добавления новых функций, поскольку большинство проблем интеграции уже были обнаружены во время теста.
Наконец, тестирование действительно и всегда скучно? Многие разработчики скажут, что тестирование скучно, но это не так. Им может показаться скучным, потому что они всегда будут ждать конца фазы разработки, чтобы начать писать тесты. Если вы будете постоянно переходить от тестирования к коду и далее, вы действительно добьетесь большего с меньшим утомлением. Таким образом, чтобы избежать предполагаемой скуки тестирования, всегда переключайте задачи и не попадитесь в ловушку необходимости ждать до конца приложения, чтобы начать писать тесты.
Модульное тестирование в PHP
Как мы упоминали ранее, модульное тестирование существует практически во всех языках программирования, но для целей данного руководства мы кратко представим модульное тестирование на языке программирования PHP.
Существует множество способов выполнить модульное тестирование в PHP, три наиболее распространенных метода: SimpleTest Маркуса Бейкера и PHPUnit Себастьяна Бергмана и старый, но надежный phpt. Все три позволяют нам писать коды модульных тестов в php, и они предлагают множество функций.
В этом уроке мы говорили о тестировании и модульном тестировании и пытались объяснить, почему мы должны написать тест для наших кодов. В следующем уроке мы рассмотрим вещи, необходимые для написания нашего первого теста PHP.
Не забудьте лайкнуть, поделиться и прокомментировать этот урок. Следите за нами в социальных сетях для получения дополнительных обновлений, пока пока.
Далее: Установка модуля phpНовый контент: Composer: менеджер зависимостей для PHP , R программирования