Проверка на прочность или нагрузочное тестирование с JmeterAleksey Derkach
Мой доклад на второй мини-конференции компании Anadea в феврале 2015 года. Обобщение опыта, полученного в результате проведения полноценной сессии нагрузочного тестирования Web-приложения с использованием Jmeter.
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр КовалевPositive Hack Days
1. Сложности при распутывании перекрёстных и вложенных зависимостей.
2. Пакетный менеджер CrossPM. Его возможности и примеры использования.
3. Интеграция CrossPM и системы хранения пакетов Artifactory.
Проверка на прочность или нагрузочное тестирование с JmeterAleksey Derkach
Мой доклад на второй мини-конференции компании Anadea в феврале 2015 года. Обобщение опыта, полученного в результате проведения полноценной сессии нагрузочного тестирования Web-приложения с использованием Jmeter.
Пакетный менеджер CrossPM: упрощаем сложные зависимости | Александр КовалевPositive Hack Days
1. Сложности при распутывании перекрёстных и вложенных зависимостей.
2. Пакетный менеджер CrossPM. Его возможности и примеры использования.
3. Интеграция CrossPM и системы хранения пакетов Artifactory.
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаYandex
Нагрузочное тестирование интернет-сервиса начинается с того, что мы выясняем ожидаемый профиль нагрузки. Вооружившись подходящим инструментом, мы проводим типовую последовательность тестов и измеряем основные показатели производительности: ёмкость, скорость и надёжность. При этом особое внимание необходимо уделять наблюдению за состоянием ресурсов тестируемой системы.
Часто о нагрузочном тестировании рассказывают через призму используемого инструментария, хорошо раскрывая слово «нагрузочное» и часто оставляя слово «тестирование» за кадром. Так давайте же попробуем поговорить о месте именно тестирования в нагрузочном тестировании.
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровPositive Hack Days
1. Система мониторинга ресурсов различных отделов
2. Шаблоны и роли серверов, разграничение доступа и зон ответственности
3. ptzabbixtools - конфигурация мониторинга на целевых серверах
4. Пример встраивания системы мониторинга в процессы разработки/тестирования
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинPositive Hack Days
1. VIX API против pysphere.
2. vSphereTools - это набор скриптов от DevOps для поддержки работы с vSphere и виртуальными машинами.
3. Описание инструмента, его достоинства и недостатки, возможные доработки.
Инструментарий для создания дистрибутивов продуктов | Владимир СелинPositive Hack Days
1. Что такое дистрибутив большого продукта?
2. Проблема: знаниями о процессе установки продукта владеет малое число людей.
3. Шаблоны + DSL - решение всех проблем!
Доклад на конференции Selenium Camp 2012.
http://seleniumcamp.com/program/#parallel-testing
Видео: http://video.yandex.ru/users/xpinjection/view/105/#hq
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Andrey Rebrov
Как-то так происходит, что “на 10 девчонок по статистике 9 ребят”, а точнее на группу из 5-7 разработчиков – 1 тестировщик. Или его нет совсем. Так что очень часто приходится и код писать, и тестировать, а дата релиза все ближе и ближе.
В тех случаях, когда мы пишем веб-приложение, помочь в нашей нелегкой судьбе может бодрящий микс из Selenium и TestNG... Как это сделали мы, какие потом получили выводы и результаты — все это я и хочу рассказать и показать
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
Вячеслав Марков, QA engineer в Weezlabs
Я расскажу о том, как в нашей фирме организовано тестирование бэкенда с помощью тестового фреймворка TestNG и Java. Расскажу о data-driven тестировании и о том, почему его удобно применять. Покажу и опишу разработанную нами структуру типового тестового проекта. Представлю применяемые нами способы сбора и документирования результатов, а так же их анализ в условиях CI.
От простого к сложному: автоматизируем ручные тест-планы | Сергей ТимченкоPositive Hack Days
1. Смотрим по сторонам - обычный процесс авто-тестирования
2. Убираем лишнее - реалистичный целевой процесс
3. DataDrivenTesting - создание спец. инструментов для конкретных сценариев
4. RobotFramework - что делать, если простых сценариев слишком много
Как построить свой фреймворк для автотестов?Dmitry Buzdin
Мы пройдемся по всем основным блокам построения тестового фреймворка и тому, как они связаны между собой. Вы научитесь собирать свое решение по автоматизации из библиотек с открытым кодом и делать так, чтобы они дополняли друг друга.
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Mail.ru Group
Алексей рассказал, какие задачи и проблемы стояли перед командой в начале пути, какие технологии используются для автоматизации тестирования, какие проблемы при этом возникают и как решаются, а также поделится достигнутыми результатами.
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаYandex
Нагрузочное тестирование интернет-сервиса начинается с того, что мы выясняем ожидаемый профиль нагрузки. Вооружившись подходящим инструментом, мы проводим типовую последовательность тестов и измеряем основные показатели производительности: ёмкость, скорость и надёжность. При этом особое внимание необходимо уделять наблюдению за состоянием ресурсов тестируемой системы.
Часто о нагрузочном тестировании рассказывают через призму используемого инструментария, хорошо раскрывая слово «нагрузочное» и часто оставляя слово «тестирование» за кадром. Так давайте же попробуем поговорить о месте именно тестирования в нагрузочном тестировании.
Система мониторинга Zabbix в процессах разработки и тестирования | Алексей БуровPositive Hack Days
1. Система мониторинга ресурсов различных отделов
2. Шаблоны и роли серверов, разграничение доступа и зон ответственности
3. ptzabbixtools - конфигурация мониторинга на целевых серверах
4. Пример встраивания системы мониторинга в процессы разработки/тестирования
vSphereTools - инструмент для автоматизации работы с vSphere | Тимур ГильмуллинPositive Hack Days
1. VIX API против pysphere.
2. vSphereTools - это набор скриптов от DevOps для поддержки работы с vSphere и виртуальными машинами.
3. Описание инструмента, его достоинства и недостатки, возможные доработки.
Инструментарий для создания дистрибутивов продуктов | Владимир СелинPositive Hack Days
1. Что такое дистрибутив большого продукта?
2. Проблема: знаниями о процессе установки продукта владеет малое число людей.
3. Шаблоны + DSL - решение всех проблем!
Доклад на конференции Selenium Camp 2012.
http://seleniumcamp.com/program/#parallel-testing
Видео: http://video.yandex.ru/users/xpinjection/view/105/#hq
Бодрящий микс из Selenium и TestNG- регрессионное тестирование руками разрабо...Andrey Rebrov
Как-то так происходит, что “на 10 девчонок по статистике 9 ребят”, а точнее на группу из 5-7 разработчиков – 1 тестировщик. Или его нет совсем. Так что очень часто приходится и код писать, и тестировать, а дата релиза все ближе и ближе.
В тех случаях, когда мы пишем веб-приложение, помочь в нашей нелегкой судьбе может бодрящий микс из Selenium и TestNG... Как это сделали мы, какие потом получили выводы и результаты — все это я и хочу рассказать и показать
Дело тестера боится: как в опытных руках могут заиграть Java и TestNgIT61
Вячеслав Марков, QA engineer в Weezlabs
Я расскажу о том, как в нашей фирме организовано тестирование бэкенда с помощью тестового фреймворка TestNG и Java. Расскажу о data-driven тестировании и о том, почему его удобно применять. Покажу и опишу разработанную нами структуру типового тестового проекта. Представлю применяемые нами способы сбора и документирования результатов, а так же их анализ в условиях CI.
От простого к сложному: автоматизируем ручные тест-планы | Сергей ТимченкоPositive Hack Days
1. Смотрим по сторонам - обычный процесс авто-тестирования
2. Убираем лишнее - реалистичный целевой процесс
3. DataDrivenTesting - создание спец. инструментов для конкретных сценариев
4. RobotFramework - что делать, если простых сценариев слишком много
Как построить свой фреймворк для автотестов?Dmitry Buzdin
Мы пройдемся по всем основным блокам построения тестового фреймворка и тому, как они связаны между собой. Вы научитесь собирать свое решение по автоматизации из библиотек с открытым кодом и делать так, чтобы они дополняли друг друга.
Алексей Халайджи, Mail.Ru Group, «Как мы автоматизируем UI-тестирование в iOS...Mail.ru Group
Алексей рассказал, какие задачи и проблемы стояли перед командой в начале пути, какие технологии используются для автоматизации тестирования, какие проблемы при этом возникают и как решаются, а также поделится достигнутыми результатами.
"Опыт создания системы управления сборкой и тестированием" (полная)SPB SQA Group
Доклад посвящен вопросам создания и использования собственной системы управления процессами сборки и тестирования ПО. Описываются ключевые моменты построения таких систем, в частности: вопросы интерфейсов, быстродействия, качества и интеграции в общую инфраструктуру. Затрагиваются концепции встраивания качества в код, сбора и использования метрик ПО, неотделимости сборки от тестирования, автоматизированного ведения базы знаний об ошибках и другие.
Solit 2013, Эволюция тестирования на Selenium, Мычко Алексейsolit
Алексей Мычко, Минск, компания JazzTeam, Software Engineer (test automation)
«Эволюция тестирования на Selenium». Лекция и мастер-класс. Development секция. Для заинтересованных.
Для автоматизации web-приложений самым популярным средством является Selenium. Этот продукт дает возможность создавать как очень простые тесты, так и сложные тестовые фреймворки, позволяющие тестировать системы любой сложности.
В мастер-классе будет наглядно показано создание следующих видов тестов:
- с использование программ, генерирующих тесты по манипуляциям с браузером
- тесты в стиле процедурного программирования
- тесты в стиле объектно-ориентированного программирования
- тесты на DSL (Domain Specific Language) языке
Презентация со встречи QA Club Minsk 11 декабря 2013 г., посвященная одному из поппулярнейших инструментов тест-менеджмента Test Link, автор Вадим Зубович
Presentation from 11th SQADays conference in Kiev (April 2012) and Selenium Camp 2013 (February 2013) about how to measure what functional tests are really testing from requirements, code and UI perspective.
2. Немного теории
• Apache JMeter — инструмент для проведения
нагрузочного тестирования, разрабатываемый Apache
Software Foundation.
• Он способен проводить нагрузочные тесты для JDBC-
соединений, FTP, LDAP, SOAP, JMS, POP3, IMAP, HTTP и TCP.
• Организовано логирование результатов теста и
разнообразная визуализация результатов в виде
диаграмм, таблиц и т. п.
• Архитектура, поддерживающая плагины сторонних
разработчиков, позволяет дополнять инструмент новыми
функциями.
3. Что пишут люди
• Широкий выбор готовых компонентов. В JMeter есть все.
Во всяком случае — практически все, что нужно для
тестирования. В противном случае под конкретную задачу
всегда можно написать новый компонент.
• Возможность работать, как с UI, так и без него.
Выполнение тестовых сценариев в командной строке
позволяет полноценно интегрировать их в сценарии CI
инструментов.
• JMeter умеет кластеризоваться, т.е. вы можете создать
ферму нагрузочных машин, управляемых как единое
целое.
• Больше тут: https://jetruby.com/ru/blog/почему-мы-
используем-jmeter/
4. Запуск JMeter
• Для работы над созданием и отладкой теста мы
используем JMeter UI
6. • JMeter может быть запущен на любой системе, где установлена Java
– Mac OS
– Windows
– Linux
7. Перейдем к интерфейсу
• Тест план имеет древовидную структуру
• Внутри тест плана располагаются тесты, которые могут
состоять из одного или нескольких запросов, графиков,
прочих модификаторов ввода/вывода
• Создадим один тест на примере запроса «login» в нашем
продукте
• Тест будет запущен один раз в одном потоке
• Тест состоит из одного запроса (с добавлением
отсутствующего header) и таблицы результатов
8.
9. • Запрос будет отправлен на сервер a1-qa.dev.whirl.sg
• В теле запроса передается JSON с данными (Логин –
Admin, Пароль – Admin)
• Добавлен header который отсутствует (Content Type) – без
него запрос будет не валидным
• После запуска результат выполнения теста появляется в
таблице результатов (одна запись соответствует одному
запросу)
• Детали запроса (адрес запроса, тело запроса, headers
запроса) и ответ сервера отображается в соответствующих
вкладках
10.
11.
12.
13.
14. А что если усложнить?
• Если продолжать развивать тест, то мы невольно
столкнемся со следующими проблемами:
– Постоянное повторение имени сервера для каждого запроса
(решается созданием и вызовом переменной)
– Зависимость последующих запросов от id сессии (решается
парсингом ответа сервера при логине и добавлением переменной
в headers)
– Зависимость последующих запросов/потоков от id страницы
(решается генерацией уникального ключа и добавлением
переменной в тело запросов)
21. Подведем итоги!
• Мы создали тест, который может быть масштабирован как
в длину (количество запросов), так и в ширину (количество
потоков)
• Мы научились генерировать случайные данные для
переменных
• Мы научились парсить ответы для дальнейшего
переиспользования их в переменных
• После запуска мы видим в таблице результатов что все
отработало
• Проверяем информацию, которую отправили и которую
получили
24. Запустим наш тест с нагрузкой
• Запустим тест из двух запросов
• Будут использованы 5 потоков (пользователей)
• Каждый запрос будет отправлен 3 раза
• Перерыв между запросами – 2 секунды
• Добавим несколько разных вариантов отчетов
• В суммарной таблице видим средние данные по каждому
запросу
• На графике видим отчет о длительности запросов
• Пройдемся более детально…
31. Попробуем запустить через консоль
• Заходим в папку и запускаем jmeter в консоли
• Флаг –n означает запуск без GUI
• Флаг –t позволяет вводить путь к файлу с тест планом
• Флаг –l позволяет указать куда сохранить файл отчета
• Отчет опционален и поддерживается в формате csv
34. Попробуем запустить поломанные
тесты
• Чтобы проверить пользу нагрузочного тестирования мы
можем проверить разные виды запросов:
– Запрос, который написан неверно
– Запрос, который усложнен и будет выполняться дольше обычного
• Рассмотрим репорты после запуска этих запросов
– Таблицу результатов
– Суммарный отчет
– График длительности