Эд Изотов: "In God we trust the REST we test".Hub-IT-School
Выступление Эда Изотова про тестирование REST-систем на Hub QA meetup #1.
Больше мероприятий:
https://vk.com/hub.itschool
https://facebook.com/Hub.IT.School
Запустить нагрузочный тест — дело нехитрое. Но запуск без анализа — время на ветер. При анализе выявляется такое, от чего приходится повторять замер. Например: времена отклика получились хорошее, а при детальном анализе оказалось, что все страницы показывали 404-ую ошибку. В начале теста времена хорошие, а потом вообще никакие. Или даже так: JMeter показывает, что «всё замечательно», а в реальности нагрузка не подавалась полчаса. Бывает, что в целом всё хорошо, но есть неприятные выбросы. Как анализировать причины выбросов? Как узнать, на каких данных они возникают? И на этот вопрос будет рекомендация.
В докладе будут рассмотрены типичные подводные камни при тестировании enterprise приложений и варианты решения этих проблем. Доклад построен на примере JMeter, но многие подходы могут с тем же успехом применяться и к другим инструментам. Владимир расскажет, чем среднее отличается от 90% line, как coordinated omission мешает измерять времена отклика, и научит способам обхода типичных проблем, возникающих при замере производительности.
Эд Изотов: "In God we trust the REST we test".Hub-IT-School
Выступление Эда Изотова про тестирование REST-систем на Hub QA meetup #1.
Больше мероприятий:
https://vk.com/hub.itschool
https://facebook.com/Hub.IT.School
Запустить нагрузочный тест — дело нехитрое. Но запуск без анализа — время на ветер. При анализе выявляется такое, от чего приходится повторять замер. Например: времена отклика получились хорошее, а при детальном анализе оказалось, что все страницы показывали 404-ую ошибку. В начале теста времена хорошие, а потом вообще никакие. Или даже так: JMeter показывает, что «всё замечательно», а в реальности нагрузка не подавалась полчаса. Бывает, что в целом всё хорошо, но есть неприятные выбросы. Как анализировать причины выбросов? Как узнать, на каких данных они возникают? И на этот вопрос будет рекомендация.
В докладе будут рассмотрены типичные подводные камни при тестировании enterprise приложений и варианты решения этих проблем. Доклад построен на примере JMeter, но многие подходы могут с тем же успехом применяться и к другим инструментам. Владимир расскажет, чем среднее отличается от 90% line, как coordinated omission мешает измерять времена отклика, и научит способам обхода типичных проблем, возникающих при замере производительности.
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаYandex
Нагрузочное тестирование интернет-сервиса начинается с того, что мы выясняем ожидаемый профиль нагрузки. Вооружившись подходящим инструментом, мы проводим типовую последовательность тестов и измеряем основные показатели производительности: ёмкость, скорость и надёжность. При этом особое внимание необходимо уделять наблюдению за состоянием ресурсов тестируемой системы.
Часто о нагрузочном тестировании рассказывают через призму используемого инструментария, хорошо раскрывая слово «нагрузочное» и часто оставляя слово «тестирование» за кадром. Так давайте же попробуем поговорить о месте именно тестирования в нагрузочном тестировании.
Ты узнаешь 10 конкретных шагов, которые помогут тебе стать качественным тестировщиком. А еще получишь ответы на вопросы:
- Must-have skills Junior`а
- Что учить самостоятельно?
- Нужны ли курсы?
- Что поможет получить работу?
- Как может развиваться карьера?
Presentation from https://heisenbug-piter.ru/en/talks/2018/spb/kkw6oivsoywayacggksmk/
Once upon a time, we got a requirement to finish all testing in 2 days despite the number of tests to run. That number grew, and grew, and grew, and now there are tens of millions of them. So this is a story about building a dam against the never-ending flood which turned out to be not that scary. You are very welcome to join and see it for yourself.
Производительность имеет значение: производительность сайта напрямую влияет на успешность проекта и прибыль.
Что может быть измерено, может быть улучшено: основные показатели (метрики) производительности для веб-приложений: доступность и время отклика.
Почему нельзя доверять усредненным показателям? Процентили. Показатель удовлетворенности пользователей Apdex.
Тестируем производительность. Инструменты нагрузочного тестирования: ab, tsung, jmeter, blazemeter. Регрессионное тестирование производительности.
Следим за нагрузкой и производительностью на продакшен серверах. Инструменты: RRD, Graphite, NewRelic.
Из чего складывается производительность сайта: сервер + сеть + браузер.
Оптимизируем время загрузки страницы. Инструменты: YSlow, Google Page Speed, GTmetrix. Отдача статики с помощью Nginx, используем CDN, переносим сервера ближе к конечным пользователям.
Оптимизируем обработку запросов на сервере. Реверс-прокси. Php-fpm. Производительность СУБД. Кэширование. Стратегии обновления кэша. Асинхронность. Мониторинг фоновых процессов и очередей.
DUMP-2015: «Тестирование постановок в Naumen Contact Center» Константин Бекле...it-people
Выступление на DUMP-2015.
Видео доклада: https://youtu.be/YCNfJceX_RE?list=PLRdS-n5seLRp_rmnC69UpyhiPpo1tRYLv
Организатор конференции: IT-People.ru
Сайт конференции: www.dump-conf.ru
За пределами PageObject, Дмитрий Жарий
Есть ли необходимость в использовании объектно-ориентированного подхода в автоматизации тестирования? Нужно ли нам экономить исходный код, или лучше скопировать, вставить и подправить? Что лучше, “сложное” ООП или простые “дубовые” тесты. Ответ зависит от Вашего проекта автоматизации и от дальнейших планов его развития. Если Вы планируете остановится на десятке тестов, то в таком случае в “более сложных практиках” необходимости нет. Если же Вы планируете долгосрочное развитие фреймворка автоматизации, то задуматься о правильной архитекторе и будущем росте необходимо уже прямо сейчас.
В своем докладе Дмитрий расскажет, как очень несложные практики ООП помогут сделать код еще проще и понятней. И поверьте, в хорошем коде может разобраться любой человек, а горы “вечно падающего копи-паста” будут просто ненавидеть. Также Дмитрий расскажет о том, как Автоматизация может тестировать сама себя при помощи легких UI тестов перед тем, как запустить более тяжелые функциональные тесты и сценарии. Он покажет, как написав код тестового набора всего лишь один раз, применить его для каждой страницы отдельно. Примеры кода к докладу будут на C#/.NET. Но, любую такую практику можно реализовать на любом общеизвестном и популярном языке программирования.
Андрей Похилько — Нагрузочное тестирование типичного интернет сервисаYandex
Нагрузочное тестирование интернет-сервиса начинается с того, что мы выясняем ожидаемый профиль нагрузки. Вооружившись подходящим инструментом, мы проводим типовую последовательность тестов и измеряем основные показатели производительности: ёмкость, скорость и надёжность. При этом особое внимание необходимо уделять наблюдению за состоянием ресурсов тестируемой системы.
Часто о нагрузочном тестировании рассказывают через призму используемого инструментария, хорошо раскрывая слово «нагрузочное» и часто оставляя слово «тестирование» за кадром. Так давайте же попробуем поговорить о месте именно тестирования в нагрузочном тестировании.
Ты узнаешь 10 конкретных шагов, которые помогут тебе стать качественным тестировщиком. А еще получишь ответы на вопросы:
- Must-have skills Junior`а
- Что учить самостоятельно?
- Нужны ли курсы?
- Что поможет получить работу?
- Как может развиваться карьера?
Presentation from https://heisenbug-piter.ru/en/talks/2018/spb/kkw6oivsoywayacggksmk/
Once upon a time, we got a requirement to finish all testing in 2 days despite the number of tests to run. That number grew, and grew, and grew, and now there are tens of millions of them. So this is a story about building a dam against the never-ending flood which turned out to be not that scary. You are very welcome to join and see it for yourself.
Производительность имеет значение: производительность сайта напрямую влияет на успешность проекта и прибыль.
Что может быть измерено, может быть улучшено: основные показатели (метрики) производительности для веб-приложений: доступность и время отклика.
Почему нельзя доверять усредненным показателям? Процентили. Показатель удовлетворенности пользователей Apdex.
Тестируем производительность. Инструменты нагрузочного тестирования: ab, tsung, jmeter, blazemeter. Регрессионное тестирование производительности.
Следим за нагрузкой и производительностью на продакшен серверах. Инструменты: RRD, Graphite, NewRelic.
Из чего складывается производительность сайта: сервер + сеть + браузер.
Оптимизируем время загрузки страницы. Инструменты: YSlow, Google Page Speed, GTmetrix. Отдача статики с помощью Nginx, используем CDN, переносим сервера ближе к конечным пользователям.
Оптимизируем обработку запросов на сервере. Реверс-прокси. Php-fpm. Производительность СУБД. Кэширование. Стратегии обновления кэша. Асинхронность. Мониторинг фоновых процессов и очередей.
DUMP-2015: «Тестирование постановок в Naumen Contact Center» Константин Бекле...it-people
Выступление на DUMP-2015.
Видео доклада: https://youtu.be/YCNfJceX_RE?list=PLRdS-n5seLRp_rmnC69UpyhiPpo1tRYLv
Организатор конференции: IT-People.ru
Сайт конференции: www.dump-conf.ru
За пределами PageObject, Дмитрий Жарий
Есть ли необходимость в использовании объектно-ориентированного подхода в автоматизации тестирования? Нужно ли нам экономить исходный код, или лучше скопировать, вставить и подправить? Что лучше, “сложное” ООП или простые “дубовые” тесты. Ответ зависит от Вашего проекта автоматизации и от дальнейших планов его развития. Если Вы планируете остановится на десятке тестов, то в таком случае в “более сложных практиках” необходимости нет. Если же Вы планируете долгосрочное развитие фреймворка автоматизации, то задуматься о правильной архитекторе и будущем росте необходимо уже прямо сейчас.
В своем докладе Дмитрий расскажет, как очень несложные практики ООП помогут сделать код еще проще и понятней. И поверьте, в хорошем коде может разобраться любой человек, а горы “вечно падающего копи-паста” будут просто ненавидеть. Также Дмитрий расскажет о том, как Автоматизация может тестировать сама себя при помощи легких UI тестов перед тем, как запустить более тяжелые функциональные тесты и сценарии. Он покажет, как написав код тестового набора всего лишь один раз, применить его для каждой страницы отдельно. Примеры кода к докладу будут на C#/.NET. Но, любую такую практику можно реализовать на любом общеизвестном и популярном языке программирования.
Философия и построение тестового фреймворка на основе BDD в PHP проектахautomated-testing.info
Философия и построение тестового фреймворка на основе BDD в PHP проектах, Зозуленко Алексей
Доклад содержит реальный опыт реального проекта, написанного на PHP с использованием подхода BDD (Behavior Driven Development). Будут рассмотрены практические стороны архитектуры тестового фреймворка с разных сторон: патернов (PageObject), уровня абстракций, функциональной декомпозиции тестов. Также Вы познакомитесь с инструментом Behat, который играет далеко не последнюю роль для фреймворка.
Швейцарский нож для Android, Сергей Высоцкий
При тестировании мобильных приложений порой возникают проблемы, адекватный разбор которых возможен только непосредственно на устройстве. Увы поставщики смартфонов и софта для написания мобильного ПО не предоставляют практически никаких средств для подобной работы. Сергей расскажет, как при помощи python’а и небольшой сноровки получить маленький централизованный аналитический центр, к которому можно подключить на лету практически любое устройство. А также какие проблемы встречаются при попытках измерить производительность на мобильных устройствах (и через мобильную сеть) и как их проще искать. Это меньше ста строчек кода и море удовольствия.
Автоматизация тестирования как сервис, Павел Сташевский
Все мы хотим получать качественные сервисы. Мы хотим, чтобы обслуживание было быстрым, качественным и недорогим. Нам важно получить удовольствие от сервиса, будь то парикмахерская или бронирование авиабилетов. Автоматизация тестирования в этом плане практически не отличается от других сервисов, особенно, если она развивается в крупной компании. При этом нужно учесть стек технологий и уровень развития проекта и при этом не наступить на те грабли, что мы собрали при автоматизации тестирования других продуктов. Как строить такой сервис, как его адаптировать под различные команды и получать предсказуемый результат, именно про эти вопросы Павел расскажет в своем докладе. И все это на примерах из 2ГИС.
Курс молодого бойца-автоматизатора – как стать ветераном и остаться в живыхautomated-testing.info
Курс молодого бойца-автоматизатора – как стать ветераном и остаться в живых, Андрей Ребров
Сейчас, когда интерес к автоматизации более чем велик, многие команды задумываются над вопросом – нужна ли автоматизация им самим? Нужно ли TDD? Какой CI сервер поставить? Какую автоматизацию применить? Да и вообще, какой первый шаг сделать?
В своем докладе я постараюсь рассказать основные приемы внедрения автоматизации:
- постановка цели автоматизации
- первые шаги
- анализ и метрики
- коммуникации
Конечной темой доклада будет переход к DevOps.
Тестирование производительности Ajax приложений с помощью JMeter, Владимир Примаков
В этом докладе будет раскрыт вопрос автоматизации тестирования производительности Ajax приложений с помощью бесплатного инструмента jmeter. Я расскажу об основных особенностях и трудностях автоматизации производительности Ajax приложений, о том, с какими конкретно проблемами я сталкивался и как они решались. Также я приведу ряд полезных советов, которые, возможно, облегчат вашу жизнь, если Вы вдруг решитесь провести тестирование производительности ajax приложений.
Быстрое расширение Robot Framework под свои нужды с использованием Pythonautomated-testing.info
Быстрое расширение Robot Framework под свои нужды с использованием Python, Михаил Поляруш
Когда мы начинаем заниматься автоматизацией тестирования ПО, мы редко знаем и понимаем, что нам надо будет делать, а тем более, как это нужно реализовать. Потому, выбираем самые простые решения, которые иногда даже не подразумевают программирования. Вы считаете, что успешная автоматизация может быть без программирования? Я уверен, что НЕТ, и с уверенностью могу сказать, что процесс автоматизации с помощью python и RobotFramework может значительно упростить Вам жизнь. Убедитесь в том, что архитектура RobotFramework очень гибкая, а python – лучший друг автоматизатора. Вас ждет увлекательная теория и много практики в живую.
“Обезьянье тестирование” в мобильных проектах, Роман Подолян
Хотите уйти от проторённых путей, проверить приложение самыми разнообразными, случайными последовательностями действий? Задать ему встряску чтобы проверить его на выносливость? Сделать с ним то, что даже не собирались? Отдайте его “обезьяне”.
Проблемы автоматизации крупных проектов: TestComplete, Дмитрий Марков
Дмитрий в своем докладе рассмотрит следующие вопросы:
Инструмент TestComplete. В чем сила?
Чем отличается автоматизация мелкого, среднего, крупного проекта?
Нужно ли что-то дополнительно делать при автоматизации крупного проекта?
Ошибки на начальных стадиях автоматизации
Раз говорим об ошибках, то также поговорим о том, как можно построить все так, чтобы этих ошибок избежать
Практические набитые шишки автоматизатора
Совершенный тестовый фреймворк, Андрей Иваровский
Идеальный тестовый фреймворк – миф или реальность? Поиск “философского камня”.
Расширяемость – как впихнуть “невпихуемое” и объять необъятное?
Кейворд-дривен, дата-дривен – извращения или путь к совершенству?
Многопоточность – мультиплексор или “каждой твари по паре”?
Обо всем этом, а также о кое-чем еще я расскажу в своем докладе.
В поисках магической кнопки или как приручить SOAP UI, Михаил Дырда
Жил да был проект – чудище многосервисное. Многие тестировщики пытались одолеть его тестом умелым да скриптом надежным. Да только на месте каждого протестированного сервиса вырастало два новых, еще асинхроннее предыдущего. Пригорюнились богатыри-тестеры, поняли, что не одолеть им зверя коварного копипастом булатным. И решили открыть они рукописи древние – мануалы-священные. И познали они тайну заветную – тайну кнопки магической… Это только присказка, а доклад будет о том, какими средствами располагает SOAP UI для расширения функциональности и как знания об этом могут облегчить жизнь Вам и Вашим коллегам.
Фреймворк для регрессионного тестирования на основе WebDriver, Бордюг Иван
В этом докладе слушатели услышат об идее автоматизации для людей с разным уровнем знаний в этой области. Также слушатель увидит, как быстро могут создавать тестовые сценарии по технологии BDD, которые в будущем станут тестами для регрессионного тестирования. Доклад будет построен на уже существующей разработке докладчика, будут высветлены все позитивные и негативные стороны данного подхода, а также проблемы, которые удалось решить в процессе автоматизации и проблемы, с которыми столкнулась команда в процессе использования данного подхода.
Тестирование в PHP: Inception? Perception? Codeception!, Михаил Боднарчук
Михаил в своем докладе затронет следующие темы:
“Terra Incognita” тестирования в PHP
Знакомимся с Codeception
Пробуем тестировать простое Веб приложение
Используем паттерн PageObject в Codeception
Интегрируемся с фреймворками и базой данных
Расширяем стандартные модули
Делаем покрытие кода
Тестируем API
Генерируем читабельные отчеты
И как бонус: пробуем на вкус сценарные юнит-тесты.
Keyword-driven testing, Геннадий Алпаев
Keyword-driven подход к автоматизации тестирования был описан в литературе более 10ти лет назад, однако в русскоязычных источниках по этой теме информации довольно мало. В докладе Геннадий расскажет о том, в чем заключается подход, когда применяется, его достоинства и недостатки, а также покажет пример практической реализации Keyword-driven подхода для простого тестируемого приложения с помощью TestComplete и SilkTest.
Основные ошибки внедрения ATDD, BDD, CI, CD на проектах, Резчиков Алексей
Каждый новый проект, к которому Алексей подключается в качестве консультанта, уже имеет свою историю внедрения автоматизации тестирования, CI и CD. Истории очень разные, каждая интересна по-своему, каждая рассказывает об ошибках. О самых распространенных из них, а также о том, как их не допустить, Алексей расскажет в своем докладе.
1. Эффективное нагрузочное
тестирование
Андрей Похилько
JMeter Plugins + Loadosophia.org
Киев, 20 апреля 2012г.
2. Путь в нагрузочное тестирование
Email: apc@apc.kg Twitter:@jmeter_plugins
3. Нам не хватает эффективности
Вслепую!
Все больше вопросов
Повторяем тесты
Теряем результаты
Думаете, все это – нормально?
4. Где взять эффективность
Что и как делает инструмент
Правильная последовательность
тестов
Знание типовых узких мест
Представление результатов
Доступ к результатам
5. Понимаем инструмент
Сценарные: LR, grinder, tsung, ab
Пулемёты: phantom, gatling
Что делает при деградации сервиса
JMeter может и то и другое, но!
6. Что мне подойдет?
Зависит от сервиса
Очень часто нужен пулемёт
Но вынуждены брать сценарный
Ответ: следите за рейтом запросов
RPS
7. Правильная последовательность
Setup / Debug S
Capacity (Stress) C
Measure (Performance) M
Endurance / Spike / Whatever... E
8. Capacity: знай меру
Ключевой тест
Точка предела по RPS
Начало деградации
Проблемный ресурс
28. Реальность вносит коррективы
Так все же сценарный или пулемет
Разные по тяжести запросы – проблема
Таймеры — зло, но необходимое
Все совсем неидеально на практике
Крепитесь!
29. Автоматизация серий тестов
Ночью просыпаются роботы
Zero Setup – тест по кнопке
Jenkins / Bamboo / Whatever
Авто-стоп
30. Представление результатов
Экономьте время, свое и чужое
Менеджменту – немного цифр и
тренды
Себе и разработчикам – понятность
Составные графики и компоновка
+ отчета =
Интерактивность
31. Доступ к результатам
Отладка превращается в измерение
Понадобится то, что не сохранили
Организация хранения экономит время
Loadosophia.org – пример хранилища
33. Где взять эффективность
Что и как делает инструмент
Правильная последовательность
тестов
Знание типовых узких мест
Представление результатов
Доступ к результатам
34. Happy End
Вопросы?
Email: apc@apc.kg
Twitter: @jmeter_plugins