В прошлом я создал PHP-скрипты для проверки работоспособности для нескольких проектов, но они всегда были настроены по заказу и не были написаны для абстракции как самостоятельного продукта. Я хотел бы знать, существует ли такое решение.
То, что я называю «проверкой работоспособности», является защищенной веб-страницей, которая функционирует так же, как набор модульных тестов, но на более оперативном уровне, отображая статусы красного / желтого / зеленого цвета для таких вещей, как
Вы делаете это – или его части – в своих приложениях и на веб-сайтах?
Существуют ли какие-либо стандартизированные инструменты для этого, которые обеспечивают всю функциональность для проведения тестов (в идеале, как плагины), и нужно просто настроить их соответствующим образом?
Я говорю о легком решении, которое может работать даже на самых крошечных веб-пакетах на базе PHP без расширения и доступа к серверу.
Может ли быть способ установить это, используя одну из фреймворков Unit Testing, доступных для PHP (желательно PHPUnit)? Если да, то знаете ли вы какие-либо ресурсы / учебники, в которых излагаются способы?
Обновление: похоже, для этого нет популярного готового решения, иначе, с более чем 100 видами, я уверен, что было бы упоминание об этом. Увидев, что есть некоторый первоначальный интерес к созданию такого инструмента, как проект с открытым исходным кодом, пожалуйста, не стесняйтесь публиковать, какое идеальное решение для вас будет выглядеть, и какие функции он должен будет иметь.
Интересный вопрос, но это довольно широко. Я еще не видел инструмент для тестирования модулей, который одновременно выполняет все бэкэнда, midend и frontend. Я проверил этот список , но никто не делает все это. Однако существует один общий подход – xUnit (полностью автоматическое тестирование).
Основными блокировщиками являются то, что тестирование бэкэнд является специфичным для платформы / БД, и что тестирование midend является специфичным для языка программирования. И тогда все же объединить эти ограничения с интерфейсом тестирования. Затем инструмент должен поддерживать почти все языки и платформы, о которых мир знает. Я не думаю, что такой инструмент будет доступен в мире с открытым исходным кодом. Это утопия.
Теоретически, действительно возможно иметь тестовую структуру с возможностями плагина, возможно, основанную на идеологии xUnit, но еще есть, чтобы написать / изобретать / открывать ее. Вы? Это действительно дыра на рынке.
Во всяком случае, для тестирования модулей интерфейса (HTML / CSS / JS / forms) я бы рекомендовал Selenium , или если у вас есть деньги, TestComplete . Я видел, что он использовался в IBM несколько лет назад, было здорово видеть это в действии, и тестеры были очень счастливы с этим.
Для тестирования модулей midend (код программирования, бизнес-логика) просто продолжайте использовать специальные инструменты для тестирования языка программирования, такие как PHPUnit для PHP и JUnit для Java.
Что касается тестирования бэкэнд-модулей (DB, файловая система), я использовал PGTap для PostgreSQL, но для этого существуют также общие инструменты DB, такие как SQLUnit (который, однако, последний раз обновляется почти 4 года назад …). Для условий файловой системы на локальном диске вам придется захватывать языки сценариев на платформе.
Отъезд Nagios . Он может быть настроен для опроса URL-адресов и проверки наличия / отсутствия строк, поиска определенных кодов ответа и совсем другого материала. Если вы выставляете материал, который хотите найти в URL-адресе, Nagios может сделать все остальное.
Поддержка @Franz Nagios стоит денег, но основное программное обеспечение для мониторинга бесплатное. Это своего рода модель Редхата.
Вы можете сделать все это с помощью CruiseControl и phpUnderControl. Но, конечно, вам нужно указать все те задачи, которые вы хотите выполнить, чтобы ваш проект проходил все проверки.
http://topecoders.blogspot.com/2010/04/how-to-install-cruisecontrol.html
С CruiseControl вы можете добавить несколько задач для каждой сборки вашего проекта.