PHP: Как начать тестирование большой существующей кодовой базы и тест на регрессию на производственном сайте? - PullRequest
4 голосов
/ 23 апреля 2010

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

Я работаю с PHP много лет, но, к сожалению, 1004 * новичок в тестировании. (Сожалею!).

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

Я знаю, что в тестовой среде я мог бы установить базу данных в известном состоянии ... но существуют ли надлежащие методы или методы для тестирования живого сайта? С чего мне начать?

[Я знаю о PHPUnit и SimpleTest, но еще не выбрал одно из другого]

Ответы [ 2 ]

3 голосов
/ 23 апреля 2010

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

Что касается выбора между Simpletest и PHPUnit, посмотрите мой недавний вопрос о PHPUnit против SimpleTest - ответы на этот вопрос, особенно @ Gordon's, сумели убедить меня в PHPUnit.

2 голосов
/ 23 апреля 2010

Я второе предложение Пекки. Кроме того, я настоятельно рекомендую использовать PHPUnit, поскольку это де-факто Стандарт в инфраструктурах UnitTesting в мире PHP.

Еще одна вещь, которую вы можете сделать, это зайти на phpqatools.org (редактировать: этот сайт больше не активен) и использовать данные инструменты для анализа вашей кодовой базы, поиска мертвого кода, копирования и вставки, нарушений кода и т. Д. *

Также профилируйте свой код с помощью XDebug или Zend Debugger, чтобы узнать, как часто он работает. Таким образом, вы не только получите представление о том, какой код вы должны сначала протестировать (те, которые выполняются чаще всего), но и как он работает, что является хорошей отправной точкой, когда вы оптимизируете его после написания модульных тестов.

Кроме того, проверить:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...