Что пишут в блогах

Подписаться

Очные тренинги

Все очные тренинги
Оставь заявку на тренинг в своем городе

Онлайн-тренинги

  • Все онлайн-курсы
  •  

    http://software-testing.ru/about/authors/9-barancev

    Разделы портала

    VIP-вакансии

    Наши партнёры

    www.it4business.ru

    UML2.ru

    SysIQ Inc.

    Подготовка сценариев для JMeter с помощью BadBoy
    17.01.2011 12:15

    Автор: Алексей Баранцев

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

    Начну я с рассказа про "золотую середину" -- инструменты с декларативным стилем описания сценариев, то есть не требующие умения программировать, но всё-таки позволяющие задать достаточно сложный сценарий. Потом постепенно перейдём к инструментам, которые позволяют писать сценарии на некотором языке программирования. Далее я расскажу про онлайновые сервисы, позволяющие генерировать нагрузку "из облака". А потом -- про всё остальное :)

    Единственный инструмент, про который я рассказывать не буду -- это JMeter, потому что он заслуживает не отдельной заметки, а подробного и обстоятельного рассказа. Как ни крути, это основная "рабочая лошадка" большинства тестировщиков производительности. Кто хочет послушать про него уже сейчас -- добро пожаловать на вышеупомянутый тренинг, а кто не торопится -- ждите, рано или поздно я напишу и про него.

    А в этой заметке я начну рассказывать про BadBoy, который некоторые тестировщики используют как рекордер, чтобы готовить тесты для JMeter, и как раз этот способ его использования я сегодня опишу.

    Начать надо, наверное, с того, что инструмент BadBoy не абсолютно бесплатный. Лицензия допускает использование BadBoy беcплатно только либо для некоммерческих целей, либо с коммерческими целями, но при условии, что в организации его используют не более пяти человек (точнее говоря, он установлен не более чем на пяти компьютерах). Во всех других случаях необходимо приобрести лицензию, которая, впрочем, не слишком обременительна -- всего $45 за штуку или $300 за десяток.

    Итак, будем считать, что вы внимательно ознакомились с условиями лицензии, загрузили и установили BadBoy.

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

    Ну и конечно там есть рекордер. Вот с него-то мы и начнём:

    Давайте запишем парочку тестов. Встаём на нужный тест, жмём красную кнопку, вводим в адресную строку URL приложения и работаем с ним как в обычным браузере (впрочем, это и есть обычный браузер -- для записи и воспроизведения тестов в BadBoy используется вложенный Internet Explorer). Потом аналогично делаем второй тест. Результат выглядит примерно так:

    Теперь полученные тесты можно воспроизвести -- нажать на панели инструментов кнопку Play All и наслаждаться автоматически выполяемыми тестами. Но, конечно, нашей целью является не просто получение удовольствия от достигнутого уровня автоматизации тестирования, но проверка того, что сценарии выполняются без ошибок. И если всё хорошо -- значит, можно попробовать использовать их для тестирования производительности.

    Вообще-то BadBoy и сам может использоваться для генерации нагрузки, но об этом я расскажу в другой раз.

    А сейчас мы перенесём подготовленные сценарии в JMeter. Для этого нужно воспользоваться пунктом меню "File->Export to JMeter" и сохранить сценарий в jmx-файл:

    Внимание: здесь имеется тонкий момент, связанный с тем, что JMeter, начиная с версии 2.4 прекратил поддержку старого формата jmx-файлов, а BadBoy версий до 2.1 включительно сохраняет jmx-файл как раз в старом формате. Поэтому нужно либо использовать BadBoy версии как минимум 2.1.1 (которая на момент написания статьи существует пока только в виде беты), либо сконвертировать jmx-файл в новый формат при помощи какой-нибудь предыдущей версии JMeter (например, 2.3.4) -- открыть файл в старом формате и снова сохранить его, он автоматически сконвертируется.

    В итоге, когда вы сумеете открыть полученный файл в JMeter, вы увидите там записанный сценарий:

    И теперь уже в JMeter вы можете продолжить над ним работу -- перегруппировать, параметризовать, уточнить проверки (которые иногда экспортируются не совсем корректно, потому что BadBoy позволяет делать более мощные проверки, чем JMeter), определить профили нагрузки, добавить необходимые средства мониторинга, и в конечном итоге -- запустить тесты.

    На этом пока всё. В следующей заметке я продолжу рассказ про BadBoy, потому что не очень большую нагрузку можно генерировать прямо в нём. В некоторых ситуациях это имеет смысл делать, потому что BadBoy может использовать при этом движок настоящего браузера. Это даёт возможность реалистично генерировать нагрузку для AJAX-приложений, что достаточно сложно делать при помощи обычных инструментов типа JMeter.

    Обсудить в форуме

     
    Комментарии (1)
    !!
    1 07.05.2011 12:45
    ainomc
    Алексей! А когда же будет обещенное продолжение?
    Очень хочется! И про дальнейшее использование БэдБой и отдельно и вкусно про JMeter!
    Заранее спасибо!

    Добавьтe Ваш комментарий

    Ваше имя (псевдоним):
    Ваш адрес почты:
    Заголовок:
    Комментарий: