Модульное тестирование сайта

php unit-testing codeigniter

17794 просмотра

7 ответа

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

Этот конкретный сайт находится в CodeIgniter, поэтому у меня есть несколько тестов для моих моделей. Я бы хотел выйти за рамки простого тестирования. Тем не менее, я уверен, что это проблема, с которой пришлось столкнуться даже разработчикам не из MVC.

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

Автор: Parrots Источник Размещён: 17.05.2019 02:54

Ответы (7)


25 плюса

Решение

Для реального модульного тестирования без тестирования пользовательского интерфейса вы должны просто протестировать функции в модели. Большая часть вашей функциональности должна быть там в любом случае.

Возможно, вы захотите взглянуть на Selenium для тестирования пользовательского интерфейса вашего сайта. Он может записывать ваши действия и воспроизводить их, или вы можете редактировать сценарии напрямую. (источник: seleniumhq.org )альтернативный текст

Автор: ryeguy Размещён: 13.02.2009 07:25

5 плюса

Вы пробовали Fitnesse ?

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

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

Проект, над которым я работаю, - это приложение для рабочего стола, написанное на c ++, в котором используются тесты Fitnesse.

Но если вы имели в виду модульное тестирование моделей (что, я думаю, вы не сделали), их можно создать с помощью библиотеки phpunit. Я думаю, что у платформы ZEND есть подобная библиотека для этого.

Автор: Edison Gustavo Muenz Размещён: 13.02.2009 07:28

2 плюса

Вы можете проверить PHPUnit http://www.phpunit.de/manual/current/en/

Я начал использовать его в своих проектах PHP, с ним очень легко работать и он очень мощный. В частности, изучите и используйте макеты: http://www.phpunit.de/manual/3.0/en/mock-objects.html

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

Автор: OverloadUT Размещён: 13.02.2009 07:23

1 плюс

Посмотрите на тост . Он построен специально для CodeIgniter. Он использует инфраструктуру CI, поэтому вы можете запускать все тестовые тесты через браузер, и результаты отображаются в виде веб-страницы (HTML). Это очень просто в использовании.

Я предлагаю вам также проверить свои контроллеры. Модель тестирования в порядке, но модель - это просто хранилище БД. Контроллеры содержат всю «бизнес-логику» и являются местом, где большинство вещей идет не так, как надо.

Автор: Milan Babuškov Размещён: 16.07.2009 12:04

0 плюса

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

Вообще говоря, автоматическое тестирование приложений с графическим интерфейсом (веб-сайты являются приложениями с графическим интерфейсом) сложно и, как правило, не нужно. Модульные тесты лучше всего работают с простыми библиотеками.

Автор: Michał Tatarynowicz Размещён: 13.02.2009 07:30

0 плюса

Я использую Canoo WebTest. Это лучший бесплатный фреймворк для веб-сайтов. Это полностью сценариев с XML и не требует браузера, поэтому он может работать с сервера сборки.

Автор: Otávio Décio Размещён: 13.02.2009 07:34

0 плюса

Мы модифицировали Официанта (Рубин). Он воспроизводит «сценарии» URL-адресов и заполнения форм в IE, и мы добавили сценарий «команда» для захвата экрана; изображение снимка экрана сравнивается с известным-хорошим изображением (т. е. мастер-изображением), и если это изображение отличается, оно регистрируется (в основном готовится веб-страница с такими результатами), и «человек» делает обзор мастера Тестовое изображение. Очевидно, что на данный момент есть два результата - «Различие является преднамеренным» или «Существует неправильное изменение». В первом случае мастер-образ заменяется новым. во втором мы исправим ошибку, и изменение будет включено в следующий тестовый прогон

Автор: Kristen Размещён: 13.02.2009 07:34
Вопросы из категории :
32x32