SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
Нагрузочное тестирование клиент-
     серверных приложений
         Алексей Якимович. IBA
Пилотный проект по нагрузочному
             тестированию Lotus Notes
Бизнес цель проекта: Нужно организовать нагрузочное тестирование
   клиент-серверного ПО на платформе Lotus Notes, чтобы понять и
   улучшить характеристики системы.
Цели пилотного проекта:
1. Понять существует ли техническая возможность проведения
   нагрузочного тестирования.
2. Создать тестовый стенд, на котором можно провести испытания
   производительности.
3. Написать программные скрипты, эмулирующие реальные действия
   пользователя и понять особенности написания скриптов для
   терминалов.
4. Провести пробное нагрузочное испытание с небольшим количеством
   виртуальных пользователей, чтобы доказать принципиальную
   возможность проведения нагрузочных испытаний для большого
   количества пользователей и понять связанные с этим проблемы.
5. Понять требования к программному и аппаратному обеспечению для
   создания тестового стенда, эмулирующего работу большого
   количества пользователей.
Проблемы нагрузочного
            тестирования клиент-серверного
                          ПО
Написание нагрузочных скриптов
   для клиент-серверных
   приложений технически и
   организационно является
   сложной задачей:
1. Трафик между клиентом и
   сервером может не
   обрабатываться приложениями
   по нагрузке (например, он
   может быть зашифрован).
2. Распознавание интерфейса для
   некоторых видов приложений не
   возможно из за отсутствия
   библиотек распознавания.
3. Обработка протоколов трафика
   или библиотеки распознавания
   интерфейса должна быть либо
   разработана с нуля либо
   куплена.
Терминальное ПО как решение
         проблем распознавания интерфейса
Решением проблем нагрузочного тестирования клиент-серверного ПО
 является использование терминального ПО. В этом случае интерфейс
               “стандартизируется” терминальным ПО.
Терминальный сервер Сitrix
                   XenApp

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




Ограничения тестового стенда:
1. OC на XenApp сервере была 32х битной, что ограничило возможности
   расширения памяти. -> Для реального стенда нужна 64- битная ОС
2. Для каждого приложения Lotus Notes на сервере XenApp нужно от
   50Мb памяти.
3. Сеть была 100Мбит/с -> Для реального стенда нужна будет 1Gbit/c
   сеть.
4. Ограничение графических ресурсов генератора нагрузки. Безопасно
   запускать 20-40 пользователей на одном генераторе.
IBM Performance Tester -
             написание нагрузочных скриптов
Что показало написание нагрузочных скриптов для Сitrix:
1. Только штатный выход из приложения. Lotus - это не web приложение,
   когда браузер можно закрыть в любой момент.
2. Элементы интерфейса не распознаются, взаимодействие идет по
   координатам.
3. Распознавание и синхронизация страниц замедляют выполнение
   скрипта, но улучшают выполнение скриптов.
4. Нужно избегать использование мыши,когда это возможно.
5. Скрипты должны быть достаточно простыми и тестировать только
   определенную функциональность.
6. Отсутствие распознавания элементов интерфейса приводит к тому,
   что запись и отладка скриптов нагрузки занимает в 3-4 раза больше
   времени, чем, например, для web приложений.
IBM Performance Tester –
                  нагрузочное тестирование
Что показало показало нагрузочное тестирование Lotus:
1. Нельзя использовать синхронизацию действий виртуальных
   пользователей (rendezvous points).
2. Количество виртуальных пользователей ограничено графическими
   ресурсами компьютера. Рекомендуется записывать скрипты нагрузки
   для маленьких размеров экрана и небольшого количества цветов.
3. Из видов нагрузочного тестирования измерение времени отклика для
   различного количества виртуальных пользователей было наиболее
   востребованно и просто получить.
4. Результаты тестирования показали, что время отклика было от 1.5 до 5
   секунд, что является хорошим результатом.
Выводы
1. Виртуализация приложений с помощью терминального ПО позволяет
   проводить нагрузочное тестирование для любых клиент-серверных
   приложений.
2. Для запуска большого количества одновременно работающих клиентов
   нужно создавать высокопроизводительный тестовый стенд.
3. Поскольку нагрузочное ПО работает с интерфейсом на низком уровне,
   то существуют ограничения на создание и выполнение нагрузочных
   скриптов.
Вопросы




 ?
Контактная информация




 AliakseiYakimovich@iba.by

Weitere ähnliche Inhalte

Was ist angesagt?

Prezent Spbnet Dev Acc 0509
Prezent Spbnet Dev Acc 0509Prezent Spbnet Dev Acc 0509
Prezent Spbnet Dev Acc 0509Irina Zimitskaya
 
Управление конфигурациями в проектах разработки и сопровождения ПО: опыт внед...
Управление конфигурациями в проектах разработки и сопровождения ПО:опыт внед...Управление конфигурациями в проектах разработки и сопровождения ПО:опыт внед...
Управление конфигурациями в проектах разработки и сопровождения ПО: опыт внед...Alexander Novichkov
 
Сущность и создание общефирменной стратегии
Сущность и создание общефирменной стратегииСущность и создание общефирменной стратегии
Сущность и создание общефирменной стратегииDmitryMilenky
 
проектная деятельность.
проектная деятельность.проектная деятельность.
проектная деятельность.guestffb2e9
 
13 Webibar Seonews
13 Webibar Seonews13 Webibar Seonews
13 Webibar Seonewsguest12a03e
 
РИФ 2008: Электронные платежные системы: универсализация или специализация? (...
РИФ 2008: Электронные платежные системы: универсализация или специализация? (...РИФ 2008: Электронные платежные системы: универсализация или специализация? (...
РИФ 2008: Электронные платежные системы: универсализация или специализация? (...E-Money News
 
Learning Evaluation Cake Model 2009
Learning Evaluation Cake Model 2009Learning Evaluation Cake Model 2009
Learning Evaluation Cake Model 2009Yulya Uzhakina
 
TMPA-2013 Conference Proceedings
TMPA-2013 Conference ProceedingsTMPA-2013 Conference Proceedings
TMPA-2013 Conference ProceedingsIosif Itkin
 
стратегический план презентация
стратегический план презентациястратегический план презентация
стратегический план презентацияdacenkoff
 
Brand Resources
Brand ResourcesBrand Resources
Brand Resourceschjuncu
 
для менеджер клуба
для менеджер клубадля менеджер клуба
для менеджер клубаarealconsulting
 
Стратегический план
Стратегический планСтратегический план
Стратегический планDarina14
 
инвестиции новые
инвестиции новыеинвестиции новые
инвестиции новыеtrenders
 
Смешное обучение в «Росгосстрах» (Россия)
Смешное обучение в «Росгосстрах» (Россия)Смешное обучение в «Росгосстрах» (Россия)
Смешное обучение в «Росгосстрах» (Россия)Vitaliy Mazurenko
 
Winalite Health Ru
Winalite Health RuWinalite Health Ru
Winalite Health Rudanny_sh2000
 

Was ist angesagt? (20)

Prezent Spbnet Dev Acc 0509
Prezent Spbnet Dev Acc 0509Prezent Spbnet Dev Acc 0509
Prezent Spbnet Dev Acc 0509
 
Управление конфигурациями в проектах разработки и сопровождения ПО: опыт внед...
Управление конфигурациями в проектах разработки и сопровождения ПО:опыт внед...Управление конфигурациями в проектах разработки и сопровождения ПО:опыт внед...
Управление конфигурациями в проектах разработки и сопровождения ПО: опыт внед...
 
Сущность и создание общефирменной стратегии
Сущность и создание общефирменной стратегииСущность и создание общефирменной стратегии
Сущность и создание общефирменной стратегии
 
Slide analyst
Slide analystSlide analyst
Slide analyst
 
IMU_Uamaster
IMU_UamasterIMU_Uamaster
IMU_Uamaster
 
проектная деятельность.
проектная деятельность.проектная деятельность.
проектная деятельность.
 
13 Webibar Seonews
13 Webibar Seonews13 Webibar Seonews
13 Webibar Seonews
 
corel
corelcorel
corel
 
РИФ 2008: Электронные платежные системы: универсализация или специализация? (...
РИФ 2008: Электронные платежные системы: универсализация или специализация? (...РИФ 2008: Электронные платежные системы: универсализация или специализация? (...
РИФ 2008: Электронные платежные системы: универсализация или специализация? (...
 
Learning Evaluation Cake Model 2009
Learning Evaluation Cake Model 2009Learning Evaluation Cake Model 2009
Learning Evaluation Cake Model 2009
 
123
123123
123
 
TMPA-2013 Conference Proceedings
TMPA-2013 Conference ProceedingsTMPA-2013 Conference Proceedings
TMPA-2013 Conference Proceedings
 
стратегический план презентация
стратегический план презентациястратегический план презентация
стратегический план презентация
 
Brand Resources
Brand ResourcesBrand Resources
Brand Resources
 
3
33
3
 
для менеджер клуба
для менеджер клубадля менеджер клуба
для менеджер клуба
 
Стратегический план
Стратегический планСтратегический план
Стратегический план
 
инвестиции новые
инвестиции новыеинвестиции новые
инвестиции новые
 
Смешное обучение в «Росгосстрах» (Россия)
Смешное обучение в «Росгосстрах» (Россия)Смешное обучение в «Росгосстрах» (Россия)
Смешное обучение в «Росгосстрах» (Россия)
 
Winalite Health Ru
Winalite Health RuWinalite Health Ru
Winalite Health Ru
 

Mehr von SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

Mehr von SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Нагрузочное тестирование клиент-серверных приложений

  • 1. Нагрузочное тестирование клиент- серверных приложений Алексей Якимович. IBA
  • 2. Пилотный проект по нагрузочному тестированию Lotus Notes Бизнес цель проекта: Нужно организовать нагрузочное тестирование клиент-серверного ПО на платформе Lotus Notes, чтобы понять и улучшить характеристики системы. Цели пилотного проекта: 1. Понять существует ли техническая возможность проведения нагрузочного тестирования. 2. Создать тестовый стенд, на котором можно провести испытания производительности. 3. Написать программные скрипты, эмулирующие реальные действия пользователя и понять особенности написания скриптов для терминалов. 4. Провести пробное нагрузочное испытание с небольшим количеством виртуальных пользователей, чтобы доказать принципиальную возможность проведения нагрузочных испытаний для большого количества пользователей и понять связанные с этим проблемы. 5. Понять требования к программному и аппаратному обеспечению для создания тестового стенда, эмулирующего работу большого количества пользователей.
  • 3. Проблемы нагрузочного тестирования клиент-серверного ПО Написание нагрузочных скриптов для клиент-серверных приложений технически и организационно является сложной задачей: 1. Трафик между клиентом и сервером может не обрабатываться приложениями по нагрузке (например, он может быть зашифрован). 2. Распознавание интерфейса для некоторых видов приложений не возможно из за отсутствия библиотек распознавания. 3. Обработка протоколов трафика или библиотеки распознавания интерфейса должна быть либо разработана с нуля либо куплена.
  • 4. Терминальное ПО как решение проблем распознавания интерфейса Решением проблем нагрузочного тестирования клиент-серверного ПО является использование терминального ПО. В этом случае интерфейс “стандартизируется” терминальным ПО.
  • 5. Терминальный сервер Сitrix XenApp Виртуализация приложений на стороне сервера абстрагирует пользовательский интерфейс от логики выполнения приложения.
  • 6. Тестовый Стенд Ограничения тестового стенда: 1. OC на XenApp сервере была 32х битной, что ограничило возможности расширения памяти. -> Для реального стенда нужна 64- битная ОС 2. Для каждого приложения Lotus Notes на сервере XenApp нужно от 50Мb памяти. 3. Сеть была 100Мбит/с -> Для реального стенда нужна будет 1Gbit/c сеть. 4. Ограничение графических ресурсов генератора нагрузки. Безопасно запускать 20-40 пользователей на одном генераторе.
  • 7. IBM Performance Tester - написание нагрузочных скриптов Что показало написание нагрузочных скриптов для Сitrix: 1. Только штатный выход из приложения. Lotus - это не web приложение, когда браузер можно закрыть в любой момент. 2. Элементы интерфейса не распознаются, взаимодействие идет по координатам. 3. Распознавание и синхронизация страниц замедляют выполнение скрипта, но улучшают выполнение скриптов. 4. Нужно избегать использование мыши,когда это возможно. 5. Скрипты должны быть достаточно простыми и тестировать только определенную функциональность. 6. Отсутствие распознавания элементов интерфейса приводит к тому, что запись и отладка скриптов нагрузки занимает в 3-4 раза больше времени, чем, например, для web приложений.
  • 8. IBM Performance Tester – нагрузочное тестирование Что показало показало нагрузочное тестирование Lotus: 1. Нельзя использовать синхронизацию действий виртуальных пользователей (rendezvous points). 2. Количество виртуальных пользователей ограничено графическими ресурсами компьютера. Рекомендуется записывать скрипты нагрузки для маленьких размеров экрана и небольшого количества цветов. 3. Из видов нагрузочного тестирования измерение времени отклика для различного количества виртуальных пользователей было наиболее востребованно и просто получить. 4. Результаты тестирования показали, что время отклика было от 1.5 до 5 секунд, что является хорошим результатом.
  • 9. Выводы 1. Виртуализация приложений с помощью терминального ПО позволяет проводить нагрузочное тестирование для любых клиент-серверных приложений. 2. Для запуска большого количества одновременно работающих клиентов нужно создавать высокопроизводительный тестовый стенд. 3. Поскольку нагрузочное ПО работает с интерфейсом на низком уровне, то существуют ограничения на создание и выполнение нагрузочных скриптов.