Есть ли готовые средства для автоматизированного тестирования интернет-проектов на предмет крэша?
Достался на поддержку один небольшой проектик. Написан криво, тестов нету, но поддерживать и расширять нужно. Покрывать сейчас все функциональными тестами не выйдет (и так пытаюсь покрывать тестами весь новый функционал), так что интересует такой вопрос: есть ли готовые средства для автоматизированного тестирования на предмет крэша. Для андроида скажем есть monkey tester, а для web-а? Нужна программа для эмуляции простого действия пользователей, прокликать ссылочки, позаполнять формы, записывать найденные ошибки по http статусам (все что отлично от 200/301/302 - ошибка). Эдакий очень упрощенный вариант смоук теста.
Проект написан на php+yii1.1+, если за сутки не найду решение такое, придется писать самому, чего очень хочется избежать в виду ограниченности времени.
@Fesor а что вы хотите от готового решения? Бот сам зашел на страницу, понял, что вот эта форма это форма логина, разобрался, где поле ввода логина, пароля, другие поля, все это сам ввел после чего сделал вывод, работает? )))
а что в этом сложного? Это же и есть вся суть monkey testing... вся соль в том что бы найти ошибки (404, 400, 500), которые могут быть вызваны пользователем. Речи о корректности работы логики не идет. Нужно просто пробежаться с главной в глубь сайта (скажем на 10-15 уровней), по заполнять формочки если есть, потыкать кнопки... Как бы да, возможно это просто никому не нужно... я сам впервые сталкиваюсь с необходимостью подобного, ибо тестировщика нету, смоук-тесты некому проводить...
Сложного тут в том, что это можно вызвать в двоичной, десятичной и шенадцетиричной системе, sql иньекции, баги. Потом нужна спецификация. Если вы думаете, мы знаем как все работает и что у вас в штатном режиме вызывает 404 и прочее то вы ошибаетесь.
Как вы говорите самом простом случае делается за пару часиков. Берется selenium делаются действия по поиску ошибок 404(это надстрока над Firefox). Переносятся в Selenium Server пишется цикл с регуляркой(Легче всего ставить на Python).
Но опять же вопрос, что вы будете делать, если страница поведет себя неадкватно, cкажем вернет ошибки не предусмотренные сервером. Зависнут полетят, не вернут заголовок.Это я к тому, что нужно составить условия тестирования, а потом тестить.