Visual Studio 2010 тестирование веб-приложения

    Очень хочется принять участие в конкурсе Visual Studio 2010. Уже писали о Unit-тестировании, о UI тестировании приложений, поэтому я напишу про тестирование веб-приложений. А так как в комплекте с новой Visual Studio 2010 поставляется ASP.NET MVC Framework 2, то использовать я буду именно его.
    Это НЕ серьезное руководство по UI тестированию, это лишь легкое чтиво, которое просветит еще зеленых любителей студии (таких как я) о важном и удобном, но слегка пугающем функционале.

    Создаем проект «Веб-приложение ASP.NET MVC 2». Завидую тем кто работает с этим фреймворком, сам же я пока только балуюсь и читаю книжку Г.Магданурова и В.Юнева, а потому начну именно с этого.



    Cтудия сама предлагает создать проект модульного теста, мелочь а приятно.



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



    Перед вами откроется великий и ужасный IE, с дополнительной панелью записи тестов, которую к слову можно открыть и без помощи студии. Необходимо ввести в адресную строку путь к нашему сайту, в моем случае это «http://localhost:42258/».



    При каждом нажатии на одну из ссылок внутри нашего сайта Средство записи веб-тестов (Web Test Recorder) будет фиксировать путь по которому был совершен переход, и время задержки перед переходом (ThinkTime) — ведь система должна будет имитировать реального пользователя, который «думает» прежде чем перейти по ссылке. Для того чтобы закончить тест необходимо нажать на Stop (у меня был панель тест-рекодера на английском языке, видимо это связано с англо-язычной локалью Windows).
    Подобным образом создаем еще несколько тестов производительности веб-сайта. В одном из них я специально пытался залогинится на сайт под неверным паролем, чтобы проверить взаимодействие с системой входа на сайт и посмотреть, как выглядят провалившиеся тесты.
    Такое тестирование пригодно для быстрой проверки работоспособности веб-сайта. На мой взгляд перевод «Web Test...» как «Тест производительности веб-сайта...» не самый удачный, т.к. производительность несколько отличается от простой способности работать. А вот нагрузочное тестирование как раз и покажет на сколько эффективно может работать наш сайт в условиях хоть отдаленно приближенных к реальным.
    Создадим Нагрузочный тест (Load test):



    Стоит отметить нововведение на одном из этапов Мастер создания теста. В Visual Studio 2010 представлен новый способ моделирования набора тестов — «На основе последовательного порядка». Аналогичный пункт не был обнаружен мной в 2008 студии, если я ошибаюсь поправьте.



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



    Запустив тест мы увидим прорисовку целого набора графиков, сбор не малого количества статистических показателей, анализ которых на первый взгляд кажется достаточно трудоемким занятием. Стоит сказать, что мои опыты проводились на довольно слабеньком ноутбуке поэтому, если вы обратили внимание — на второй картинке ярко выражен пик красного графика, вот в этот самый момент я сохранял скриншот, что и отразилось на производительности веб-приложения.





    Конечно, в реальных условиях сервера необходимо тестировать нагрузкой с целого ряда физических машин, но для первоначального «домашнего» тестирования встроенных средств Visual Studio более чем достаточно.
    • +26
    • 9,2k
    • 4
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 4
    • +3
      перенесите плиз пост в блог Visual Studio, чтобы он смог выйти на главную
    • –1
      позновательно, спасибо
      • 0
        Очень похоже на jmeter, переписанный на .net.

        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.