Pull to refresh
170.26
JUG Ru Group
Конференции для Senior-разработчиков

Гейзенбаг 2017 Piter: Call for Testing

Reading time 10 min
Views 4.8K
Старший инструктор Дуайт Т. Барнс (Half-Life) о конференции по тестированию Гейзенбаг 2017 Piter: «… Как твоё имя, солдат? Представляешь, твоё имя каким-то мистическим образом попало наверх списка продвинутой тренировки! И я попрошу тебя… а ну тащи своё тело вниз на тренировочную зону и отрапортуй полковнику Шарпу!… До Гейзенбаг 2017 Piter осталось три недели — все взводы уже оформили бейджики и вовсю полируют штиблеты. А тебя-то где носит? На конференции будут все: спецы по автоматическому и нагрузочному тестированию, тимлиды, разработчики. 17 докладов в 3 треках за один день — это тебе не мышку щелкать. Ветераны доложат о новых боевых приемах практического и хардкорного тестирования на реальных проектах.»

Давайте посмотрим, что будет ждать вас на месте.


Учитывая мнения участников Гейзенбаг 2016 Moscow, мы поддали жару и увеличили количество технически сложных, глубоких и необычных докладов. Для вашего удобства мы прикрутили к каждому докладу индикацию хардкорности, чтобы вы точно знали, где раздают РПГ, а где — мастер-класс по бою монтировкой. Для тех, кому до Питера не добраться, мы делаем онлайн-трансляцию с возможностью задавать «вопросы из зала» во время докладов и смотреть интервью со спикерами в перерывах между сессиями.

Итак, обзор докладов с группировкой по тематике:


Подходы и правильные паттерны в тестировании




Умение применять паттерны — один из базовых навыков профессионала. Знание подходов позволяет решать задачи на высоком уровне абстракции и не допускать «детских» ошибок. Именно поэтому блок с подходами и правильными практиками у нас занимает первое место с 8 докладами:

Claudio Criscione — Security testing at a scale

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

В этом докладе Claudio постарается развенчать эту вопиющую ложь, опираясь на некоторые уроки, которые он выучил, имея дело с тестированием безопасности в до некомфортности большой инфраструктуре. После того, как он продемонстрирует, что среди практик тестирования тестирование безопасности является полноправным гражданином, а не странным инопланетянином, он представит свои путевые заметки по созданию средств тестирования безопасности в Google.

Внимание, спойлер: моментов в голливудском стиле типа «root-shell-и-ускакал-в-закат» не будет —
масштабируемое тестирование безопасности — это окопная война, а не прогулка в парке. Для эффекта неожиданности Claudio, помимо прочего, расскажет про вещи, которые не совсем работали, а также про вещи, которые не работали вообще, потому что провалы местами даже более интересны, чем победы.

Если вы заботитесь о безопасности «в окопах», хотите знать о мелочах, которые могут подрывать инициативу, или беспокоитесь о ПО или инфраструктурах для тестирования безопасности, то вы должны найти этот доклад интересным.



Николай Алименков — Паттерны проектирования в автоматизации тестирования

Паттерны проектирования известны в разработке уже много лет. Одни разработчики любят их, другие считают бесполезными. При этом у паттернов проектирования есть очень чёткие задачи: описать типичные решения для типичных проблем, создать общий язык для сообщества, улучшить понимание и переиспользование существующих подходов.

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



Игорь Хрол — Тестирование в мире данных

Руководство компаний старается принимать решения не по наитию, а на основе цифр и объективных данных. Как же тестировать работу программного обеспечения, которое эти цифры считает? Если код, обработав данные компании за год, показывает 42% — это правильный ответ, или же там ошибка, и мы должны были получить 43%? На основе практик, наработанных в отделе аналитики компании Toptal, хотелось бы ответить на эти вопросы. BI, ETL, DWH, ML… Если вы знаете, что означают эти аббревиатуры — приходите поговорить о тестировании в мире данных.



Jan Jaap Cannegieter — Finding the best way to test your system

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

Для начала обозначим разницу между сценарным (scripted) и исследовательским (exploratory) тестированием, а потом пройдемся по всей палитре способов на пространстве от scripted до exploratory, включая: detailed scripting, global scripting, session based testing, bug hunts, test tours и freestyle exploratory testing, прочувствовав как сущность каждого подхода, так и ситуацию, в которой он наиболее применим. Помимо прочего, Jan Jaap объяснит, как автоматизированное тестирование может быть связано с любым из этих видов.

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



Ilari Henrik Aegerter — Think Bigger – How to Truly Become World-Class in Testing

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

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

Этот доклад не о том, чтобы жаловаться, а про конкретные действия, которые помогут вам стать лучшей версией самого себя.



Алексей Виноградов — Как улучшить автотесты: сеанс черной магии

Писать UI-автотесты можно по-разному. Какие приёмы стоит применять профессиональному разработчику, а какие лучше обходить стороной? Где кроется боль в современном автоматизированном тестировании? Алексей продемонстрирует свою позицию на наглядных примерах. Начнём с простого кода и последовательно применим к нему популярные дизайн-паттерны, как-то: PageFactory, LoadableComponents, Single Responsibility Principle и другие.



Юлия Ковалева, Анна Чернышева — BDD Girls Battle: Cucumber vs. JBehave

В своем докладе две девушки — Java-разработчицы автотестов — будут соревноваться друг с другом в стиле Mortal Kombat, чтобы показать, у какого из двух инструментов — Cucumber или JBehave — наибольшее количество ограничений. Они будут выбирать худший инструмент. А для чего?


Многие из нас при выборе BDD-библиотеки задаются вопросом «что лучше». У какой больше возможностей? А с какими проблемами мы столкнёмся?

Узнать о возможностях можно, зайдя в документацию библиотеки или посмотрев доклады, где докладчик хвалит уже выбранный им инструмент. Но вот узнать о том, что именно подстерегает разработчика при выборе Cucumber или JBehave, он сможет, только если «прошуршит» весь Stack Overflow или сам попробует библиотеку в работе. Этот доклад поможет вам избежать переписывания старого фреймворка с автотестами на новую либу просто из-за того, что однажды кто-то выбрал не тот инструмент.



Кирилл Меркушев — Кодогенерация как способ решения проблем автоматизатора

Автоматизация — один из наиболее важных паттернов, используемых специалистами Senior-уровня. Автоматизация тестирования — это не только про написание WebDriver-тестов. Это, прежде всего, решение регулярно возникающих проблем и оптимизация повторяющегося труда.

Для того, чтобы написать качественные, поддерживаемые тесты и утилиты для тестирования, требуется множество дополнительных издержек — http-клиенты, организация проверок, описание проекта с тестами, поддержка документации,… (этот список гораздо длиннее!)

В этом докладе Кирилл расскажет о том, как можно автоматизировать написание кода, облегчающее бремя поддержки дополнительного кода для тестов; какие уже готовые инструменты и механизмы существуют в Java-экосистеме и что использует его команда, чтобы превратить десяток строк декларативного описания в сотни строк кода, который можно просто брать и использовать.



Тестирование web-проектов



Очевидно, что повсеместное использование интернета — не только уже существующая реальность, но и мощнейший и продолжающий крепнуть тренд. Поэтому на Гейзенбаг 2017 Piter тестированию web-проектов посвящен отдельный блок докладов.



Алексей Лавренюк — Учимся анализировать результаты нагрузочного тестирования

Мы «обстреляем» демонстрационный web-сервис на Python Tornado, который специально написан так, чтобы проявились проблемы производительности. Алексей покажет, как в отчётах нагрузочных тестов проявляются утечки ресурсов, тяжёлые cron job, плохие алгоритмы и тяжёлые запросы в базы данных. Мы сделаем выводы, поправим узкие места и сравним производительность сервиса «до» и «после».



Илья Коробицын — Пишем Selenium тесты на JS для тестирования Angular: плюсы, минусы, подводные камни

При создании Selenium-тестов для современных веб-приложений часто возникают сложности с поиском элементов на странице или с ожиданием момента, когда представление обновится после получения ответа от сервера. Если приложение написано на Angular, то фреймворк Protractor призван с этим помочь, однако сценарии придётся писать на JavaScript. В данном докладе мы рассмотрим сюрпризы, которые может преподнести этот язык, и попытаемся разобраться, действительно ли нам нужен Protractor, или можно обойтись и без него.



Ирина Пчелинцева — Моки данных для фронтенда: как сделать эффективно и востребованно

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



Фреймворки и инструменты, облегчающие тестирование



Как правильная боевая тактика облегчает для вас схватку и фактически предрешает её исход, так и корректно выбранный фреймворк ускоряет и упрощает разработку. Мы отбираем самые лучшие из новых инструментов и приглашаем их мейнтейнеров на конференцию, чтобы за один день вы могли понять и оценить, какие новинки наилучшим образом поспособствуют решению ваших задач.



Артем Ерошенко — Allure 2: тест-репорты нового поколения

Каждому человеку, который сталкивается с автоматизированным тестированием, приходится разбирать результаты тестов. Чем больше ваш проект, тем больше отчётов вам приходится отсматривать. Мир не стоит на месте, релизный цикл ускоряется, некоторые продукты успевают релизиться несколько раз в неделю, а некоторые несколько раз в день.

Allure Framework — популярный инструмент построения отчётов автотестов, упрощающий их анализ. В докладе Артем расскажет про новую версию Allure 2. В ней появилось много нового: окружение, перезапуски и история теста, отображение фикстур, категории ошибок и многое другое. Одной из ключевых особенностей является возможность адаптировать Allure под себя с помощью системы плагинов.



Marc Philipp — JUnit 5 — The New Testing Framework for Java and Platform for the JVM

Много воды утекло за последнее десятилетие в мире Java и тестирования — вот и JUnit 4 уходит в небытие. На смену ему появился JUnit 5, призванный сфокусировать будущее JVM-тестирования на возможностях и расширяемости Java 8, а также на современном API для тестирования. Кроме того, JUnit не будет больше фреймворком исключительно для Java-тестирования. Сторонние компании вовсю разрабатывают движки для тестирования Scala, Groovy, Kotlin, и пр., которые будут работать на новой JUnit-платформе.

В начале этого доклада мы на реальном примере рассмотрим новую парадигму программирования для Jupiter и научимся миграции имеющихся на JUnit 4 тестов. Затем мы разберем основную идею JUnit 5, присмотримся к его архитектуре и обсудим совместимость с JUnit 4. Далее мы изучим модель расширений Jupiter, возможности их реализации и посмотрим, как создаются и регистрируются пользовательские расширения для тестирования условий, разрешений параметров метода, обратных вызовов жизненного цикла и т.д. В завершение посмотрим на «дорожную карту»: что еще находится в разработке и когда ожидать GA.



Dan Cuellar — Appium: The Language of Automation

За последние 5 лет Appium де-факто стал стандартом для автоматизации мобильных приложений. Совсем недавно в Appium была добавлена поддержка множества других платформ: от приложений Windows и Mac до приложений для TV. В мире, где большинство продуктов поддерживают несколько платформ и устройств, становится совершенно необходимым, чтобы вам не требовалось изучать новый фреймворк каждый раз, когда вам нужно автоматизировать новое устройство. Так же, как композитор использует одну и ту же музыкальную нотацию для всех инструментов, Appium-разработчик может писать скрипты для всех устройств в своем оркестре с использованием одного протокола.

В этом докладе подробно рассказывается о новейших членах семейства продуктов Appium — Appium для Mac и Windows, а также обсуждается будущее Appium как языка и протокола автоматизации.



Андрей Сатарин — Мойте руки перед едой, или Санитайзеры в тестировании

Как известно, «с большой силой приходит и большая ответственность». С++ – это язык с большой выразительной силой и огромными возможностями. За эти возможности приходится платить потенциальными дефектами, которые отсутствуют в программах на управляемых (managed) языках.

Санитайзеры – замечательные инструменты, которые позволяют находить сложные дефекты в программах на C++. Андрей расскажет об этих инструментах, их возможностях и о том, как их использовать с пользой для своего проекта.



Алексей Махов — Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного взрыва

Когда в прошлом году Apple с выходом Xcode 8 отказались от UI Automator, команда Алексея, как и многие, оказалась у разбитого корыта. Appium, который у них использовался, потерял актуальность, они начали искать альтернативы и нашли инструмент WebDriverAgent от Facebook. Доклад о том, с какими проблемами они столкнулись, как их решали и как это повлияло на их инфраструктуру тестирования iOS-приложений.



Леонид Руденко — Java → Kotlin: пишите тесты проще

Что, если вам скажут, что вы можете писать тесты на языке Kotlin? Никогда про него не слышали? Если вы используете Java, есть причины, почему языком ваших тестов может стать Kotlin. Без паники, Kotlin — это просто. Леонид расскажет, как особенности языка позволяют тратить меньше времени на поддержку тестов. Насколько код становится лаконичнее. И почему ваши любимые библиотеки и фреймворки (например, JUnit, HtmlELements, Allure) останутся с вами. И, конечно, самое главное: с чего начать. Где это возможно, будет приведено сравнение с Java и Groovy. Если вы тестируете или разрабатываете на Java/Groovy — этот доклад для вас.



Как видно невооружённым глазом, конференция обещает быть «огонь» — крутейшие эксперты, технологии на острие атаки, баттлы на сцене и, конечно, наша фирменная фишка — дискуссионные зоны, куда после доклада отправляется каждый спикер для кулуарного общения с участниками по любым актуальным вопросам.

В общем, дорогие камрады, до встречи на локации или онлайн! Узнать дополнительные подробности и приобрести билеты можно на сайте конференции: heisenbug-piter.ru
Tags:
Hubs:
+27
Comments 4
Comments Comments 4

Articles

Information

Website
jugru.org
Registered
Founded
Employees
51–100 employees
Location
Россия
Representative
Алексей Федоров