СМ-Консалт
 

Обработка тестовых данных с помощью IBM Rational Performance Tester 7.0: Часть 1: Использование пулов для тестовых данных

Статьи Тестирование программного обеспечения

Введение

Тестовые данные являются важной деталью при тестировании большей части программного обеспечения, особенно при тестировании производительности, которое обычно требует большого количества тестовых данных. IBM® Rational® Performance Tester позволяет использовать структуры пула данных Eclipse Test and Performance Tools Platform (TPTP) на новом уровне с целью обработки тестовых данных. Rational Performance Tester включает в себя много возможностей, делающих использование этих пулов данных чрезвычайно простым и гибким.

Тем не менее, после начала использования пулов данных, содержащих более 10000 строк данных, могут возникнуть длительные задержки в запуске теста. При тестировании производительности больших систем потребность в тестовых данных объёмом в миллион и более записей не является чем-то невообразимым. В таких ситуациях пулы данных TPTP могут быть не самым эффективным решением.

Цель

Данная серия из двух статей показывает, как создать в Rational Performance Tester тесты, использующие вместо пулов данных файлы для хранения и обработки тестовых данных. Данная методика может быть использована для реализации потребности в использовании больших наборов тестовых данных при тестировании производительности с использованием Rational Performance Tester.

Часть 1 начинается с создания простейшего теста и стандартного пула данных для обеспечения переменных тестовых данных. Во 2-й Части вы преобразуете этот же тест для использования файла вместо пула данных.

Примечание: Данная статья была написана при использовании Performance Tester версии 7.0.0. Всё в ней должно работать и с последующими версиями, хотя отдельные процедуры могли измениться. Данную статью можно также использовать с RPT версии 6.1.2, хотя некоторые копии экранов и процедуры могут не совсем совпадать. Performance Tester версии 6.1.1 и младше работать не будет ввиду изменений в прикладном API в Performance Tester.


Обработка больших объёмов тестовых данных с помощью Rational Performance Tester

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

 
Важно! Пример в данной статье использует web-сайт IBM® developerWorks® для записи и запуска очень маленького теста. Этот web-сайт не должен использоваться для тестирования нагрузки. Пожалуйста, не запускайте дополнительных пользователей и повторений теста сверх того, что указано в данной статье.

Установка файлов статьи

К данной статье прилагаются несколько файлов следующего назначения:

  • TestData.csv: Файл, содержащий 50 случайных имён, используемых как строки для поиска.
  • GetTestData.java: Законченный пользовательский программный модуль, из которого вы можете осуществлять операции копирования и вставки, используемый в Части 2.
  • SetupTestDataArea.java: Законченный пользовательский программный модуль, из которого вы можете осуществлять операции копирования и вставки, используемый в Части 2.
  1. Загрузите и распакуйте эти файлы в папку C:\temp\. Можно поместить эти файлы и в другое место, но тогда придётся делать несколько шагов, чтобы внести это изменение. Поэтому проще использовать значение по умолчанию.

Создайте тест с использованием пула для тестовых данных

  1. Создайте проект в Rational Performance Tester.
    1. Запустите Rational Performance Tester и убедитесь, что вы находитесь в перспективе Test, которая является перспективой Eclipse по умолчанию для Rational Performance Tester.
    2. Из меню выберите File > New > Performance Test Project, как показано на Рисунке 1. Можно ввести любое Имя (Name) и Папку с содержимым (Contents directory), какие вы хотите.

      Рисунок 1. Создание нового тестового проекта
      Навигационное меню для создания нового тестового проекта

    3. В окне Create New Test From Recording (создание нового теста путём записи), показанном на Рисунке 2, нажмите Cancel. Теперь можно увидеть новый проект в панели Test Navigator слева.

      Рисунок 2. Отмена создания нового теста путём записи
      выход из окна создание нового теста путём записи

    4. Создайте новую папку, нажав правой кнопкой мыши на имя проекта в панели Test Navigator и выбрав New > Folder. Повторите то же самое для создания следующих папок, как показано на Рисунке 3:
      • tests
      • testdata
      • schedule
      • results

        Рисунок 3. Дополнительные папки проекта
        окно, показывающее созданные папки

Примечание: Можно создать также любые другие дополнительные папки по вашему желанию, чтобы помочь систематизировать тестовые артефакты.

  1. Рассмотрите систему, подлежащую тестированию, и спланируйте шаги теста.

Как упоминалось ранее, в качестве системы подлежащей тестированию (system under test — SUT) будет использоваться web-сайт developerWorks, а в качестве теста будет выполняться простой поиск. Перед записью теста вам всегда следует хотя бы один раз проходить через все шаги теста вручную, чтобы удостовериться, что окружение правильно сконфигурировано и готово для записи теста. Шаги тестирования, которые вы будете выполнять, перечислены ниже. Выполняйте только эти шаги.

  1. Запустите браузер и перейдите в раздел Rational сайта developerWorks на: www.ibm.com\developerworks\rational\.
  2. Нажмите ссылку Performance Tester, находящуюся под Software Quality вблизи центра страницы, как показано на Рисунке 4.

    Рисунок 4. Система, подлежащая тестированию — developerWorks
    список продуктов Rational

  3. В поле Search (поиск) вверху страницы введите ваше имя (или то, что вы хотите найти) и нажмите Search.
  4. После того как возвратятся результаты, закройте браузер.
  1. Создайте пул данных из прилагаемого файла TestData.csv.

Вы не хотите использовать одну и ту же строку поиска для каждого теста, поэтому вы будете использовать набор тестовых данных данном случае случайные имена) для строки поиска. Можно сгенерировать свои собственные данные или использовать файлы, прилагаемые к этой статье. Формат CSV (comma-separated value — значения, разделённые запятыми) — это распространённый формат для данных в файлах, и большинство баз данных может сохранять данные в таком формате. Вы будете импортировать их в пулы данных, чтобы использовать некоторые удобства, имеющиеся в Rational Performance Tester.

  1. Создайте новый пул данных, нажав правой кнопкой мыши на папку с тестовыми данными в панели Test Navigator и выбрав New > Datapool.
  2. В окне New Datapool (Новый Пул данных), показанном на Рисунке 5, убедитесь, что вы выбрали папку с тестовыми данными. Введите имя TestData, затем нажмите Next.

    Рисунок 5. Новый пул данных
    введите или выберите родительскую папку

  3. В следующем окне New Datapool введите любое желаемое описание, затем нажмите Next.
  4. В последнем окне New Datapool, показанном на Рисунке 6, снимите отметку First row contains variable names and suggested types (Первый ряд содержит имена переменных и предложенные типы).
  5. Введите или выберите в броузере местонахождение файла статьи с тестовыми данными (как описывалось ранее, местонахождение по умолчанию — C:\temp\TestData.csv). Если вы сохранили файл в другом месте, то введите здесь этот путь.
  6. Нажмите Finish (Закончить) для создания пула данных. Завершение импорта может потребовать немного времени.

    Рисунок 6. Импортирование данных в новый пул данных
    выбор файла CSV

  7. Теперь вы увидите пул данных (Datapool) открытым в центре рабочего пространства, он будет показывать ряды данных. Новый пул данных содержит только одну переменную (столбец), и вы хотите дать ему более значимое имя. Нажмите имя переменной (заголовок столбца)с меткой “Variable1::String“ один раз, чтобы открыть окно Edit Variable (редактировать переменную).
  8. Измените имя на SearchString, как показано на Рисунке 7, и нажмите OK.
  9. Сохраните изменения пула данных и закройте его.

Рисунок 7. Переименование переменной пула данных
вы можете редактировать переменные

Теперь ваши тестовые данные готовы в форме пула данных.

  1. Запись теста.
    1. Запишите новый тест, нажав на панели инструментов кнопку icon Create New Test From Recording (Создать Новый Тест Путём Записи).
    2. В окне Create New Test (создать новый тест) убедитесь, что выбраны Create Test From New Recording и HTTP Recording, как показано на Рисунке 8. Нажмите Next.

      Рисунок 8. Новый тест HTTP-рекордера
      выбор Recorder и Test Generator

    3. В следующем окне Create New Test убедитесь, что выбрана папка с тестами. Введите имя LargeTestData_datapool, затем нажмите Finish.
    4. Повторите тестовые шаги в точности, как описано в разделе III, чтобы запустить браузер и выполнить поиск с записью по web-сайту developerWorks. Введите любое имя и значения для строки поиска.
    5. Если вы используете Microsoft® Internet Explorer, HTTP-рекордер автоматически остановится, когда вы закроете браузер. Если вы используете Firefox или другой браузер, тогда придётся нажать кнопку Stop Recording (Остановить Запись) (расположенную почти в самом низу окна Rational Performance Tester) во вкладке Recorder Control (Управление Рекордером), как показано на Рисунке 9.
    6. На генерирование теста уйдёт один момент, а затем он откроется для редактирования.

      Рисунок 9. Управление рекордером
      выделенное сообщение

  1. Замените записанное значение для поиска на значение из пула данных.

Записанный тест будет по умолчанию использовать записанные тестовые данные для поисковой строки, пока вы не отредактируете тест, выбрав для использования пул данных.

  1. Во вновь записанном тесте выберите последнюю страницу в панели Test Contents (содержание теста), которая должна называться результаты IBM developerWorks > Search. В разделе Test Data (тестовые данные) редактора тестов, показанного на Рисунке 10, вы заметите строку поиска, введённую вами, как Value (значение) для элемента query (запрос).

    Рисунок 10. Определение параметров для тестовых данных
    Содержание Теста, Детали Элементов Теста и Тестовые Данные

  2. Выберите ряд с именем query, затем нажмите кнопку Substitute From (заменить из).
  3. В подменю, которое откроется, когда вы нажмёте эту кнопку, выберите Datapool Variable.
  4. В окне Select datapool column (выбор столбца пула данных) нажмите кнопку Add Datapool (добавить пул данных).
  5. В окне Import Datapool (импортировать пул данных) выберите пул данных TestData_1k_rows, затем нажмите Select, оставив опции пула данных по умолчанию.
  6. В окне столбца Select datapool выберите SearchString, затем нажмите Use Column (использовать столбец), как показано на Рисунке 11.

    Рисунок 11. Замена столбца пула данных
    описывает имя и использование пула данных

  7. В разделе Test Data редактора тестов вы должны теперь увидеть, что элемент query заменён на переменную SearchString пула данных TestData_1K_rows datapool, как показано на Рисунке 12.

    Рисунок 12. Замена параметров на тестовые данные пула данных
    показывает заменённое значение

  1. Создание расписания для выполнения теста.
    1. Создайте новое расписание, нажав правой кнопкой мыши на папку schedules в панели Test Navigator и выбрав New > Performance Schedule.
    2. В окне Performance Schedule (Расписание исполнения) убедитесь, что была выбрана папка schedules, и введите имя LargeTestData_datapool. Нажмите Finish.
    3. В Schedule Element Details (детали элементов расписания) справа, во вкладке General (общие), установите переключатель Add a delay between starting each user (добавить задержку между запусками каждого пользователя) и введите время задержки, равное 500 миллисекунд, как показано на Рисунке 13.

      Рисунок 13. Расписание исполнения
      задание деталей элементов расписания

    4. Нажмите вкладку Test Log (Журнал теста) в Schedule Element Details, чтобы установить уровень ведения журнала. Установите уровень ведения журнала (Log Level) для And also show all other types также показывать все другие типы) на Action Details (детали действий), как показано на Рисунке 14. Предупреждение с рекомендацией можно проигнорировать, поскольку этот тест не будет записывать в журнал чрезмерное количество данных.

      Рисунок 14. Расписание выполнения — Уровни ведения журнала


    5. Добавьте цикл, нажав правой кнопкой мыши на User Group 1 в разделе Schedule Content (содержание расписания) и выбрав Add > Loop.
    6. При выбранном loop введите в Schedule Element Details справа значение 3 для Number of iterations (количества повторений). Отметьте переключатель Control the rate of iterations (управление скоростью повторений) и введите частоту повторений, равную 10 в минуту, как показано на рисунке 15.

      Рисунок 15. Частота повторений циклов расписания выполнения
      Опции Schedule Element Details

    7. Добавьте тест, нажав правой кнопкой мыши loop в разделе Schedule Content и выбрав Add > Test.
    8. Из окна Select Performance Tests (выбор тестов производительности) выберите LargeTestData_datapool и нажмите OK.
  1. Запустите тест и проверьте тестовые данные, которые используются.
    1. Запустите расписание, нажав кнопкуicon2 Run на панели инструментов.
      Примечание: Не выбирайте Run As > Performance Schedule, потому что при этом результаты сохранятся в корневой папке проекта, а вы хотите сохранить результаты теста в папку results.
    2. В окне конфигурации выполнения (Run configuration) выберите слева Performance Schedule, затем нажмите кнопку New, чтобы создать новую конфигурацию, как показано на Рисунке 16.

      Рисунок 16. Создание новой конфигурации выполнения
      конфигурации создания, управления и выполнения

    3. Введите имя для новой конфигурации. Нажмите вкладку Schedule и выберите расписание LargeTestData_datapool.
    4. Нажмите вкладку Test Logs, снимите отметку у переключателя Use defaults и выберите для Location папку results.
    5. Нажмите Apply (Применить), чтобы сохранить конфигурацию выполнения, как показано на Рисунке 17.

      Рисунок 17. Сохранение тестов производительности в папку resuts
      детали к вкладке Test Logs

    6. Теперь, когда вы настроили расписание на сохранение результатов в намеченную папку, запустите расписание, нажав Run. Тест сразу же начнёт выполнение. Общий Отчёт о Производительности (Overall Performance Report) покажет, когда тест завершится.
      Важно! Web-сайт IBM developerWorks нельзя использовать для тестирования под нагрузкой. Пожалуйста, запускайте пользователей не больше, чем указано в этой статье. Также, не запускайте повторные тесты, кроме тех, которые необходимы, чтобы завершить эти шаги.
    7. Откройте историю выполнения, нажав правой кнопкой мыши на LargeTestData_datapool [date+time] в просмотре Performance Test Runs (Запуски теста производительности) и выбрав Display Test Log, как показано на Рисунке 18.

      Рисунок 18. Отображение истории выполнения
      отбражение журнала тестов

    8. Покажите детали выполнения тестов, выбрав вкладку Events (события) внизу истории выполнения.
    9. Раскрывайте события до тех пор, пока не увидите страницу с названием IBM developerWorks > Search results. Раскройте её и выберите первый запрос, как показано на Рисунке 19. Здесь вы увидите значение запроса в формате URL, которое реально использовалось при выполнении теста.

      Рисунок 19. Визуальная верификация тестовых данных, использованных при выполнении теста
      Отображение значения запроса в формате URL

    10. Повторите это для нескольких различных экземпляров этой страницы и проверьте, чтобы значение запроса было различным, и что оно совпадает со значениями из пула данных.
    11. Другой способ проверить тестовые данные, которые в действительности использовались, — это выбрать запрос страницы (возможно, придётся выбрать второй запрос, если первый возвратит ответ “The document has moved (Документ перемещён)»).
    12. Затем нажмите вкладку Protocol Data и выберите Browser у нижнего края рабочего пространства, как показано на Рисунке 20. Это передаст ответ, полученный во время выполнения теста, в браузер для просмотра. Этот способ занимает большое время, особенно для большого количества результатов теста.

      Рисунок 20. Визуальная проверка использованных тестовых данных путём просмотра в браузере
      Выбор браузера

  1. Закройте test LargeTestData_datapool.

Краткое изложение тестовых данных с пулами данных

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


Краткое изложение

Пулы данных Rational Performance Tester — это легкий способ связать тестовые данные с вашими тестами, что может помочь сократить время, которое требуется на разработку тестов для тестирования производительности и нагрузки. Однако они могут стать неэффективными в случае очень больших размеров общем случае больше 10000 записей). Хорошей новостью является тот факт, что Rational Performance Tester не ограничивает вас в использовании одних лишь пулов данных для тестовых данных; файлы с тестовыми данными можно использовать напрямую через пользовательский код, чтобы обрабатывать любой объём данных, необходимый для тестирования. Этот метод объясняется в Части 2 данной серии.



Загрузка

ОписаниеИмяРазмерМетод загрузки
50 random names used for search strings TestData.zip 1 KB HTTP
A completed custom code module GetTestData.zip 2 KB HTTP
A completed custom code module SetupTestDataArea.zip 1 KB HTTP

24.02.2008

Добавить комментарий (анонимные комментарии не публикуются!!!)

ФИО: 
E-mail: 
Тема: 
Комментарий: 
Оценка:   
 
 
 
 
 
Код подтверждения:
   

Новости СМ-Консалт

Мастер-класс для тренеров и руководителей "Работа в аудитории". 1 ступень уже в марте

Обновлено расписание тренингов до марта 2017 года

Бесплатный вебинар 14 декабря в 14 00 по Мск - «Секреты управления ИТ-командой: 10 важных практик, которые сделают команду эффективной»

Новые статьи в библиотеке

Примеры отраслевых решений на основе BIPULSE

Практика реализации модуля интеграции для Rational Software Architect, позволяющего преобразовывать низкоуровневое представление процесса из IBM Rational ClearQuest в UML

Что удивляет в русских менеджерах иностранцев

Разработка ПО с использованием лучших мировых практик и инструментов на Иркутском авиационном заводе

Презентация доклада для IT Global Meetup Санкт-Петербург: "Почему Agile так популярен? Взгляд циника и психолога"

Отчет, презентация и видео доклада для Октябрьской встречи Петербургского клуба менеджеров проектов в IT - SPM Meetup #36

Заказчики и истории успеха

Наши тренинги, семинары, курсы

Дружите с нами на FaceBook

Проверить настройки
Компания
Сделано в СМ-Консалт
Услуги 
Компетенция
  • CMC-TotalTest (скоро)
    уникальная разработка автоматизации функционального тестирования. Альтернатива HP UFT, IBM RFT и Microsoft!
  • CMC-Bisquiter
    автоматизированное тестирование АБС "Бисквит"
  • CMC-Formater
    тестирование печатных и экранных форм
  • CMC-TerminalTest
    тестирование терминальных приложений
  • ProjectTracker
    интеграция ALM и MS Project
  • GanttChart
    модуль управления проектами для IBM Rational ClearQuest и TeamConcert
    Все разработки СМ-Консалт >
  • ИТ-консалтинг
  • Автоматизированное тестирование
  • Ручное тестирование
  • Аутсорсинг тестирования
  • Оптимизация бизнес-процессов
  • Внедрение методологии и инструментов ALM
  • Обучение и коучинг
  • Разработка ПО
  • Интеграция
ООО СМ-Консалт (СМК), 2004-2016.
Карта сайта