Подскажите средство для тестирования web-приложения?

Доброго времени суток!
Есть нетривиальное веб-приложение (не сайт, просто некоторый веб-сервис, отдающий XML в ответ на различные запросы), активно взаимодействующее с базой данных (MySQL InnoDB). Для тестирования сценариев его работы написано достаточное кол-во функциональных тестов, использующих следующую схему: пишется обычный модульный тест PHPUnit, который заливает в базу стартовые данные, далее в этом же тесте с помощью некоторого объекта, эмулирующего поведение клиента нашего сервиса, производятся различные запросы к тестовому хосту, который работает с базой, прогретой текущим «модульным тестом». После окончания выполнения сценария производится проверка конечного состояния базы. С помощью этого велосипеда проверяются основные способы использования сервиса. Как не трудно догадаться, корректность работы сервиса проверяется исключительно при работе с одним клиентом в один момент времени. В реальной жизни, очевидно, одновременных клиентских запросов тьма.
Вопрос: существуют ли готовые решения для проверки корректности работы веб-сервиса при множестве одновременных запросов, умеющие проверять именно состояние базы (т.е. интересует не нагрузочное тестирование, а тестирование способности сервиса поддерживать состояние данных в базе без нарушения целостности и согласованности этих самых данных).
  • Вопрос задан
  • 3482 просмотра
Решения вопроса 1
ks_ks
@ks_ks
Selenium, spynner, casperjs, phantomjs.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
alekciy
@alekciy
Вёбных дел мастер
>а тестирование способности сервиса поддерживать состояние данных в базе без нарушения
> целостности и согласованности этих самых данных

(Р)СУБД которая не может обеспечить целостности данных не может считаться (Р)СУБД. Собственно в этом и есть смысл таких систем, они обеспечивают инфраструктуру для обеспечения целостности и контроля целостности данных.

Поэтому саму (Р)СУБД в этом аспекте проверять не нужно, но проверять свое приложение (т.е. на сколько вы правильно/эффективно воспользовались предоставляемыми возможностями) необходимо. И в данном контексте получаем как раз именно нагрузочное тестирование.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы