Тестирование средствами приложения

Материал из Eludia
Перейти к: навигация, поиск
Pm.gif Здесь описана идея, которая в настоящий момент не реализована в Eludia.pm. Однако, может быть, однажды... Такие случаи уже бывали.

Разработать механизм для автоматического тестирования приложения его же средствами.

Выглядеть это должно так. При обращении к некоему волшебному URL (пункт меню "Тест") открывается новое окно браузера, куда подгружается js-код тестовых сценариев. В основном сценарий выполняет следующее:

  • управляет основным окном, имитируя ввод в поля, нажатия на кнопки и т. п. действия;
  • анализирует его состояние, вычисляя выражения от загруженного DOM;
  • логгирует ход исполнения (посылая специальные запросы в собственный невидимый iframe).

Сами сценарии должны писаться вместе с приложением, на том же языке (Perl5). Вероятно, их тексты должны размещаться в директории lib/Tests, рядом с lib/Content. Они должны использовать API, генерирующий необходимый js-код. Помимо собственно процедур управления браузером, неплохо бы добавить туда ходовой функционал типа генерации случайных русскоязычных текстов с неприятными спецсимволами и денежных сумм в неудобоваримых форматах. Но это уже по месту. Во всяком случае, необходимо стремиться к максимальной простоте тестов. В идеале их должны иметь возможность писать не программисты.

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

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Разработчику
Администратору
Инструменты