Что можно будет узнать о тестировании на Heisenbug 2022 Autumn

6eb617aeacaf9fb439158bad82b2c14a.jpeg

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

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

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

Оглавление

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

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

2ef46f237f0455812880178bfb90d54e.jpegЕвгений Мацюк

Careem (UAE)

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

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

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

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

МТС

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

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

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

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

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

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

0c095d1f253334fc3615430ff8f0e689.jpegТатьяна Дроздова

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

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

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

043e9a358a60c7b687f9b0d605c12ae9.jpegАлексей Романов

Иннотех

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

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

2c9009e0356c8d3ae2f7e10da799a2ce.jpegАнна Васильева

ATI.SU

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

С чего обычно начинают знакомиться с тестированием безопасности — пентестом? Пробуют перебрать пароли от какого-либо сервиса (брутфорс). Знакомятся с OWASP Top 10 и начинают искать XSS, добавляя в поля .

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

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

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

463a549467c07cec61d123f325fac650.jpegСемен Киреков

МТС Digital

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

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

3a18e8b46fe66e886f8371e5969d80ad.jpegАндрей Кулешов

Huawei

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

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

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

22c3e138fe223756cc5029c07efc8277.jpegАлександр Шарков

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

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

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

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

600602a9462310904ce6879aff667b2d.jpegАлексей Белоглазов

Тинькофф

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

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

Пилим питона на конструктор. Как мы кастомизировали PyTest для счастья разработчиков, билд-инженеров, тестировщиков и менеджеров

54a0532fcc22f40052c0565a9086ee94.jpegОлег Пригода

Kaspersky

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

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

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

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

Best practices

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

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

Яндекс

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

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

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

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

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

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

VK

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

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

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

fa504a164482a631ddbc439be1cd1898.jpegЯна Елизарова

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

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

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

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

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

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

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

Авито

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

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

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

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

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

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

Нагрузка

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

5fb14d3b82545757b366e83cdf6efda6.jpegАнатолий Пласковский

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

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

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

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

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

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

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

76593acf06c523d09ac1252991148511.jpegВасилий Кудрявцев

РТЛабс

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

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

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

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

Яндекс

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

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

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

06f9f5847c3f4b83b30ec0ba6d35ef26.jpegМаксим Рогожников

Тинькофф

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

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

e6a1853a8fabb24755513aee501ce8b9.jpegДмитрий Цитман

Мир Plat.Form

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

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

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

93f89e910c79400776ebbec71efb3ac5.jpegВладимир Ситников

JMeter Committer

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

3adcd98183ffd596efbb1c094d100f46.jpegВячеслав Смирнов

Miro

Из Performance Engineer в SRE

e55e8f1c2a43d25268863cfd05ecf504.jpegКирилл Юрков

Самокат

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

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

ea6af24629612b40067d626c0fa9d528.pngРамазан Рамазанов

DeteAct

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

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

a2573b746ea687055649a23cc7b8253e.jpegВасилий Буров

Kaspersky

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

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

49278a8cfa152e46b873cb0f914f1ac2.pngСергей Бронников

VK/Tarantool

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

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

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

MockServer-driven development

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

Stream

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

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

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

33cfb9b133557fbfb7dce12a9244809d.jpegЭмилия Куцарева

VK

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

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

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

Hardware

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

1f92aeb38cf8d3680cfd7ee9a386788c.jpegКлавдия Осенникова

Яндекс

f05a73dca9a34f163553a65f8713166c.jpegДмитрий Башев

Яндекс

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

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

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

e16bc0ac15457a3c179b40ae9a0025ab.pngАнтон Ласточкин

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

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

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

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

6a1891ca083937fc16df4eda6947a7ae.jpegМаксим Немченко

Альфа-Банк

7ce8559bd1c6c9677e31d4fe2c71c15e.jpegРоман Кудрявцев

Альфа-Банк

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

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

Warehouse Automating Testing

be3cc9553ca5830570cd7219e555f58a.jpegMesut Durukal

Indeed

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

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

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

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

UI

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

0f7524e416b4e6618bf81364e55c4d77.jpegНикита Чегодаев

ВТБ

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

Напоследок

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

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

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

© Habrahabr.ru