Конференция Heisenbug («по тестированию, но не только для тестировщиков») близится: программа уже готова, и пришло время поделиться с Хабром всеми подробностями. 

Во-первых, напоминаем формат. Конференция будет проходить три дня. Первые два — полностью онлайновые. А вот в третий всё на выбор участников: можно приехать на конференцию в Москве, чтобы как следует пообщаться лично, или подключиться удалённо из любой точки планеты. 

Во-вторых, публикуем полную программу. В ней не только доклады-монологи: будут и воркшопы с мастер-классами, где можно научиться чему-то на практике, и круглые столы с тематическими обсуждениями. Среди прочего будут звучать слова «SRE», «Kaspresso», «бенчмаркинг», «TestOps» и не только. Но обо всём по порядку.

Оглавление

Воркшопы и мастер-классы

Всё, что вы хотели знать о Kaspresso и UI-тестах под Android (часть 1, часть 2)

Евгений Мацюк

Careem (UAE)

Автотесты под Android — всё еще боль? Тогда вам прямая дорога на этот большой воркшоп из двух частей. Его цель — построение процесса автотестирования на Android от А до Я в теории и на практике. Выберем инструменты для написания автотестов, развернем инфраструктуру, выстроим процессы CI/CD и разработки, сделаем удобные отчеты. После воркшопа вы выйдете абсолютно другим человеком.

Чтобы воркшоп был максимально полезным, советуем изучить гайд на Хабре перед конференцией.


Просто и понятно про Citrus Framework

Александр Кузнецов

МТС

Александр затронет такие темы, как:

  • Быстрый старт в Citrus Framework.

  • Возможности фреймворка и его особенности.

  • Что такое Citrus Framework, почему и когда его стоит использовать (на практических примерах).

На воркшопе будут использованы IntelliJ IDEA, maven.


Браузерные инструменты: как и зачем их приручать

Татьяна Дроздова

Онлайн-кинотеатр START

За последние несколько лет у браузеров появилось много неочевидных функций, которые помогают с функциональным тестированием, тестированием вёрстки и иногда даже с автоматизацией UI-тестов. На примере повседневных задач Татьяна покажет, как браузерные инструменты и функции позволяют выполнять всё проще и быстрее.


Использование Docker Compose для разработки и тестирования

Алексей Романов

Иннотех

Мы часто слышим, что Docker упрощает жизнь разработчиков и QA, но давайте разберемся, как им пользоваться в мире микросервисов? Поговорим, как с помощью Docker Compose собирать и тестировать все свои сервисы, как собирать и отлаживать микросервисы, поднимая остальное окружение в контейнерах.


Поиск уязвимостей IDOR (BOLA)

Анна Васильева

ATI.SU

Дополнительные навыки в нагрузочном тестировании, производительности, UX, безопасности, автоматизации и так далее помогают QA эффективнее повышать качество в своем продукте. QA, имея знания в тестировании безопасности, может быть евангелистом безопасности в своей команде (Security Champion).

С чего обычно начинают знакомиться с тестированием безопасности — пентестом? Пробуют перебрать пароли от какого-либо сервиса (брутфорс). Знакомятся с OWASP Top 10 и начинают искать XSS, добавляя в поля <img src=x onerror=alert('XSS');>.

Но начинать, по мнению спикера, лучше всего с простой и распространённой уязвимости IDOR (BOLA). На мастер-классе вы научитесь искать её с помощью инструмента Burp Suite. Сохраняйте инструкцию, что нужно сделать перед участием.

Инструменты и фреймворки

E2E-тестирование в CI с помощью Testcontainers

Семен Киреков

МТС Digital

Доклад Семена — о том, что такое E2E-тесты, чем они отличаются от юнит-тестов и интеграционных тестов и почему являются неотъемлемой частью релизного цикла в микросервисных продуктах. На конкретном примере вы увидите, как писать свои E2E-тесты на JUnit5 + Spring Boot Test и настроить их автоматический запуск на каждый пул-реквест с помощью Testcontainers.


Бенчмаркинг и тестирование анализаторов кода и компиляторов

Андрей Кулешов

Huawei

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

Андрей расскажет про то, какие бенчмарки, фреймворки и подходы существуют для этого, а также про разрабатываемую сейчас открытую cloud-платформу Save Our Tool для автоматизации и упрощения тестирования и бенчмаркинга статических анализаторов.


TestOps. Построение процесса тестирования на примере Azure DevOps

Александр Шарков

Монитор Электрик (monitel.ru)

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

Принципы TestOps могут быть использованы на любой платформе. В докладе в качестве примера взят Azure DevOps — это комплексное решение по разработке программного обеспечения, объединяющее в себе планирование работ, систему управления версиями, сборку, CI/CD, баг-трекинг, TCMS, запуск тестов и многое другое. На его примере Александр рассмотрит, как можно автоматически построить TestOps во множестве команд и уходить в отпуск с уверенностью, что все процессы работают без вас.


Жизнь за Нерзула, или Как сгенерировать 1000 моков и отказаться от тестовых стендов

Алексей Белоглазов

Тинькофф

Возникает куча проблем при работе на тестовом контуре? Хочется все замокать? Со временем моки начинают разъезжаться с сервисами? Соответствие моков реальным сервисам нужно постоянно поддерживать?

Решением может стать «Нерзул» — инструмент, который генерирует моки на основе поведения реальных сервисов. Это один из инструментов в подходе shift left, где нужно тестировать требования к бизнес-задачам.


Как сделать удобный инструмент для тестирования операционной системы

Олег Пригода

Kaspersky

Олег расскажет, как в его команде написали обвязку для pytest и теперь прогоняют разные типы тестов для разных продуктов — от разных команд на разном железе в требованиях SDL.

В каждой компании, выпускающей релизы крупных продуктов, разработчики, тестировщики, билд-инженеры и менеджеры преследуют разные цели. 

Чтобы угодить всем, требуется написать много разнородного кода. В команде Олег попробовали структурировать его и на основе pytest в качестве движка написали инструмент, удовлетворяющий желаниям всех перечисленных ролей. Главной идеей была модульность, которая дает возможность из набора готовых кубиков собирать любые конфигурации. 

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


Best practices

Секреты строительства пирамид

Дмитрий Андриянов

Яндекс

Все видели «пирамиду тестирования», которая учит, что «дешевых» (быстрых, лёгких) тестов должно быть больше, чем «дорогих» (медленных, сложных). Звучит логично.

Но когда дело касается пользовательского интерфейса, построить пирамиду мало у кого получается. Сложное окружение (браузер или ОС), асинхронность и большое количество внешних зависимостей — кажется, дешевые тесты не применимы в тестировании GUI. Или применимы?

Спикер расскажет, как в Яндексе провели эксперимент — как получилось заменить 80% функциональных Selenium-тестов, юнит-тестами на Jest и JSDOM. Покрытие функциональных требований тестами сохранилось, но теперь вместо нескольких часов, тесты стали выполняться за пять минут. Приятный бонус — стало удобнее разрабатывать и отлаживать автотесты.

Доклад будет интересен middle+ разработчикам и тестировщикам, которые организуют автоматизированное тестирование своего проекта.


Как мы автотестируем VK Звонки

Михаил Шваркунов

VK

С начала пандемии и бума онлайн-конференций решения для видеозвонков VK тоже сильно эволюционировали: появились новые функции, увеличилось количество участников с восьми до бесконечности, стали поддерживаться разные платформы. 

Спикер расскажет, с чего начиналась автоматизация тестирования десктоп-клиента, какие автоматические проверки в команде делают для контроля качества звонков и как проверяют клиентский перформанс.


Где кончается функциональное и начинается юзабилити-тестирование

Яна Елизарова

Доклад закрывает несколько вопросов, возникающих в процессах заказной разработки и в небольшой команды продукта:

  • В зоне чьей ответственности лежит эргономика — инженера тестирования, дизайнера, UX-исследователя?

  • Если нужного специалиста нет под рукой, как провести консистентное юзабилити-тестирование?

  • Как зафиксировать результаты тестирования удобства?

В докладе — юзкейсы и постановка задачи в бэклог. Best practices и истории факапов.


k-ветки: использование фича-веток в микросервисной архитектуре

Евгений Харченко

Авито

При работе с монолитом работать с фича-ветками просто и удобно. При работе с микросервисами работать с фича-ветками проще, чем с  отдельным сервисом. Увидеть же фича-ветку продукта целиком сложнее: это либо дорого, либо создаёт проблемы другим.

Спикер расскажет о реализаци фича-веток на динамической маршрутизации между сервисами:

  • как это сделано в «Авито» и как оформляется в продукт для внутренних пользователей;

  • какие проблемы составляют подводную часть айсберга, и что с ними делать;

  • какие возможности это открывает.

Тема будет интересна инженерам, связанным с организацией CI/CD и с поддержкой процессов разработки.

Нагрузка

Jira-based генератор трафика в автоматической системе сервисов стрельб по проду

Анатолий Пласковский

Это выступление о том, как:

  • автоматизировать систему исследований производительности от модуля запуска до модуля анализа результатов;

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

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

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

С процессной — будет полезен проектным и продуктовым менеджерам.


Нагрузочное тестирование на прод: сложный путь, но great success

Василий Кудрявцев

РТЛабс

Многие это делают, но мало кто об этом говорит: нагрузочное тестирование на прод — кошмар некоторых «академически настроенных» специалистов и старожилов.

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


Яндекс.Танк в Облаке

Александр Иванов

Яндекс

Доклад о том, что представляет собой сервис Load Testing, какие возможности дает синергия облачного провайдера и Яндекс.Танк и как оптимально подобрать ресурсы под подачу нагрузки.

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


Сразу к практике: опыт обучения нагрузке

Максим Рогожников

Тинькофф

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


Метрики качества для регулярных нагрузочных тестов. Автоматизация остановки неуспешных тестов

Дмитрий Цитман

Мир Plat.Form

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


Ещё три доклада по нагрузке (описания добавятся на сайте позже)

Подводные камни в нагрузке

Владимир Ситников

JMeter Committer

Что нового в нагрузке?

Вячеслав Смирнов

Miro

Из Performance Engineer в SRE

Кирилл Юрков

Самокат


Безопасность

Тестирование безопасности API: кейсы, инструменты и рекомендации

Рамазан Рамазанов

DeteAct

При анализе защищенности API приложений почти всегда находят кучу уязвимостей. На примере реальных проектов за последние несколько лет Рамазан расскажет, как ломают API, какие недостатки чаще всего встречаются и как сделать API безопаснее.


Анализ защищенности Windows-приложений

Василий Буров

Kaspersky

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


Добавляем поддержку скриптового языка в AFL и LibFuzzer на примере Lua

Сергей Бронников

VK/Tarantool

Один из компонентов СУБД Tarantool — это сервер приложений на Lua, который предоставляет Lua API к самой СУБД и четырем десяткам вспомогательных модулей. До сих пор тестирование функциональности с помощью Lua ограничивалось тестированием на основе примеров. Рандомизированное тестирование было ограничено из-за отсутствия поддержки Lua в фаззерах. Сергей реализовал поддержку фаззинга Lua-скриптов в популярных движках American Fuzzy Lop и libFuzzer, что позволило найти проблемы, которые не находили другие тесты. 

Доклад будет интересен всем, кто разрабатывает серверное ПО, интересуется рандомизированным тестированием или планирует добавить поддержку нового языка в AFL или libFuzzer. Знание Lua не потребуется.

Мобильное тестирование

MockServer-driven development

Алексей Альтер-Песоцкий

Stream

Одновременно тестировать фронтенд и бэкенд с помощью автоматических тестов может быть довольно проблематично. Бывают ситуации, когда с фронтендом все в порядке, а UI-тесты все равно падают из-за перебоев или задержек на бэкенде, и это может сильно замедлять процесс тестирования и, как следствие, разработки.

Спикер расскажет про нестандартный подход к разработке автоматизированного тестирования под названием MockServer-driven development (MSDD), при котором автоматические тесты разрабатываются через создание фиктивного сервера, а тестовое покрытие непосредственно зависит от покрытия серверной части.


Инфраструктура Android UI-тестов

Эмилия Куцарева

VK

В «Одноклассниках» UI-автотесты на Android запускаются на каждый коммит в каждом пулл-реквесте. По результатам запуска происходит автоматический анализ запрета мерджа.

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

Сейчас в команде спикера около 1000 тестов, из которых падает менее 1%. В этом им помогает собственная система перезапуска не только тестов, но и отдельных действий и шагов. О том, как это устроено, вы узнаете из доклада.


Hardware

Тестируем воздух: беспроводные устройства умного дома с протоколом Zigbee

Клавдия Осенникова

Яндекс

Дмитрий Башев

Яндекс

Клава и Дима расскажут о тестировании новых устройств умного дома с Яндекс Станцией. Вы познакомитесь с протоколом Zigbee и узнаете, как поддерживать интеграцию на всех уровнях: от прошивки устройства до интерфейса в приложении и голосовых команд.  

Ребята поделятся best practices, расскажут о проблемах, с которыми столкнулись при тестировании работы сети, и объяснят, почему важно проводить тесты при участии реальных пользователей и помнить о наличии разных ревизий устройств.


Автоматизация проверок дронов в стиле дзен

Антон Ласточкин

Ручные проверки сложных программно-аппаратных комплексов — дело неблагодарное. Тестирование дронов включает в себя проверки embedded-систем и наземной станции. Представьте, что тестировщик будет думать о том, как создать автотест, вместо того, чтобы проверять все вручную. 

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

В докладе будут затронуты ключевые моменты, которые позволили проекту эволюционировать. Вы узнаете, как избежать ошибок при внедрении автоматизации проверок во встраиваемых системах и GUI на Qt.


VoT, или Как тестировать голосом

Максим Немченко

Альфа-Банк

Роман Кудрявцев

Альфа-Банк

Все мы привыкли к традиционным методам и подходам тестирования. Проверяем бездушные экраны и респонсы руками или скриптами. За этим всем легко утратить творческий подход к работе. Но все меняется, когда дело касается тестирования Альфа — голосового ассистента Альфа-Банка. Ведь сказать можно всё что угодно! И в ответ можно услышать совершенно неожиданно саркастичный ответ.

Спикеры «разберут» Альфа по косточкам, расскажут о функциональности и, конечно же, о тестировании. Его будет много, и оно будет творческим! Доклад будет интересен ручным QA-инженерам любого уровня и всем тем, кто интересуется голосовыми технологиями.


Warehouse Automating Testing

Mesut Durukal

Indeed

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

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

Автоматизация тестирования подобных вещей приводит к сразу нескольким вызовам. Роботы и hardware-компоненты вроде сенсоров усложняют задачу. У каждого заказчика свой склад со своей конфигурацией. Система должна поддерживать разные конфигурации — по количеству двигающихся роботов, количеству товаров на складе, приоритетности заказов. Возникает множество вопросов от воспроизводимости багов до зависимости от железа.

О различных сложностях и способах их решения и пойдёт речь в докладе.

UI

Дизайн и унификация UI-тестов на базе Model Based Testing

Никита Чегодаев

ВТБ

Спикер поделится опытом в сфере тест-дизайна UI-тестов. Расскажет о подходе, который применяет, на практическом примере разберет его сильные и слабые стороны.

Напоследок

Не докладами едиными живут конференции. Во-первых, на Heisenbug будут и другие активности. Например, такие интервью и обсуждения:

Но важнее, наверное, другое: конференция — это не только про просмотр докладов. Можно будет активно пообщаться и в Москве на офлайн-дне 18 ноября, и при удалённом подключении: после каждого доклада происходит видеосозвон со спикером, и у каждого доклада есть свой чат для вопросов. 

А нам остаётся напомнить: все подробности (вроде расписания) и билеты — на сайте конференции.

Комментарии (2)


  1. polarnik
    22.10.2022 16:39

    В этом году конференция очень нагрузочная. Докладов по нагрузке 8. А еще круглый стол по карьере в нагрузке. И не только.

    Пусть и habr будет быстрее!

    Когда смотрел на раздел Нагрузка https://habr.com/ru/company/jugru/blog/690438/#load, то заметил, что изображения грузятся долго. И подумал, как так, это же habr, тут же отдельный быстрый и надежный хостинг фото?

    Фото Анатолия размыто
    Фото Анатолия размыто
    И оно размыто более 1 секунды (это снимок из результатов тестов sitespeed.io)
    И оно размыто более 1 секунды (это снимок из результатов тестов sitespeed.io)

    Разобрался, при загрузке изображения на сайт предоставляется ссылка:
    https://habrastorage.org/getpro/habr/upload_files/5fb/14d/3b8/5fb14d3b82545757b366e83cdf6efda6.jpeg (ответ отдается за 200-300 мсек)
    и она используется в публикации. Ответ на такой запрос отдается всегда без кеширования и содержит редирект на другой сайт
    https://hsto.org/getpro/habr/upload_files/5fb/14d/3b8/5fb14d3b82545757b366e83cdf6efda6.jpeg (ответ за 600-700 мсек для первого ответа, и 2 мсек для ответа из кеша).
    А этот ответ уже успешно кешируется

    И поэтому минимальное время загрузки изображения 200-300 + 2 мсек при повторном открытии. Или 200-300 + 600-700 при первом открытии. А могло быть лишь 2 мсек почти всегда!

    Убедиться в этом можно, используя инструменты разработчика вашего браузера:

    1344 мсек на habrastorage.org, потом редирект и еще 966 мсек на hsto.org
    1344 мсек на habrastorage.org, потом редирект и еще 966 мсек на hsto.org

    К сожалению такие проблемки есть много где, и на проекте, где сам работаю - знаю о них, все будет ускорено. Искать их несложно и интересно.

    Надеюсь, что заинтересовал темой. До встречи!


    1. polarnik
      22.10.2022 22:00

      upd: написал разработчикам о проблеме и варианте решения