Тестирование — штука очень разнообразная. Пока кто-то пишет юнит-тесты для мобильного приложения, другой в это время занимается нагрузками в бэкенде, а третий — вообще безопасностью… О чём тогда должны быть доклады на конференции по тестированию? Обо всём этом, поэтому программа Heisenbug тоже очень разнообразная. В октябре на конференции поговорят и о сокращении времени UI-тестов на iOS, и о применении AI в автоматизации тестирования. Сейчас программа уже известна, поэтому публикуем все описания докладов на Хабре единым постом. Инструменты и фреймворки Best practices Мобильное тестирование Hardware Нагрузочное тестирование Безопасность UI Кейноуты ИИ  The art of JUnit extensions  Здесь не просто доклад, а воркшоп. В режиме онлайн возьмем микросервисный проект (Spring Authorization Server, Spring OAuth 2.0 Resource Server) и построим полноценную инфраструктуру для работы с тестовыми данными, авторизацией и другим, используя JUnit Extensions. Только практические навыки, которые будут полезны большинству автоматизаторов на Java. Model-Based Testing with Hypothesis  Евгений рассмотрит применение подхода model-based testing с использованием связки PyTest и hypothesis. Поговорим о базовых концепциях, конечных автоматах, углубимся в детали использования hypothesis и попробуем решить несколько интересных задач с его помощью. Также узнаем, когда применять этот подход не стоит и каких граблей можно избежать. Если ищете новые способы разнообразить тестирование у себя в проекте — заходите, будет интересно. Оценка качества релиза Московский кредитный банк В докладе решаются проблемы качества выпуска версии, а также заблаговременного планирования и управления системой. Дарья расскажет о том, как оценивали выпускаемые изменения на основе количества инцидентов, проведения согласований, результатов планирования и позиций заказчика. Будет интересно командам, у которых есть релизный регламент либо интеграционные задачи между командами и/или сторонними ресурсами. Многообразие mock-инструментов МТС Банк Александр разберет существующие и проведет анализ популярных инструментов для мокирования запросов: Mockoon; Prism; Castle Mock и других. Рассмотрим основные особенности и преимущества каждого из инструментов. Разработка средств визуализации для анализа покрытия auto API-тестами X5 Tech Кирилл рассмотрит актуальные вопросы, связанные с определением и визуализацией тестового покрытия auto API-тестами. Основное внимание уделит механизму выбора источника информации, который определяет целевой процент покрытия auto API-тестами и предоставляет информацию о фактическом покрытии. Будут представлены различные варианты визуализации аналитической информации о тестовом покрытии, основанные на использовании технологического стека, который включает Kibana, Allure, Python и GitLab. Как мы встраивали fuzzing-тестирование, или Как огрести кучу проблем одним коммитом Ozon Fintech Руслан расскажет, как они прикручивали fuzzing-тесты и к чему это привело. Он начнет с самого интересного — зачем им это понадобилось. Поговорит про выбор инструмента и способы подключения fuzzing-тестов, с какими проблемами они столкнулись в процессе, как их решили. А под конец посмотрит, какие проблемы удалось выявить. Доклад будет интересен тем, кто в той или иной мере связан с бэкендом: разработчикам, которые ищут проблемные места без привлечения команды тестирования; QA, только пришедшим на проект, даст идею как внезапно покрыть бэкенд API большим количеством кейсов; QA-старожилы проекта увидят кейс реального применения fuzzing-тестов. Распределенный запуск E2E-тестов в CI Yclients Долгое прохождение E2E-тестов — известная боль для многих. Роман поделится опытом того, как они снимали эту боль. Он расскажет про: Эволюцию подхода к запуску E2E-тестов в CI. Опыт написания своего инструмента для распределенного запуска тестов на примере Python и PyTest. Переход от вертикального к горизонтальному масштабированию ресурсов, требуемых для тестов. Возможность получения условно бесконечного количества потоков выполнения тестов. Как мы оптимизировали запуски е2е и дооптимизировались Ozon Fintech Перед командой спикера стояла задача научиться запускать е2е API-тесты для конкретного сервиса без боли и лишних тестов. В докладе Алексей поделится, как они дошли до запуска тестов по трейсам, какие с этим есть проблемы и как это помогло им ускорить пайплайны. В докладе будет использоваться pytest+xdist. Сервис оптимизации был написан на Go, но его рассмотрим только схематично, без привязки к языку. Также спикер расскажет, как они раскладывали тесты по воркерам и ускоряли конкретный запуск пайплайна. Облачная ферма устройств платформы автоматизации тестирования VK Евгений расскажет о ферме устройств (браузеры/эмуляторы) для параллельного выполнения тестов. Он покажет пример их системы, построенной с использованием доступных open source-инструментов, библиотек и технологий. Спикер также расскажет о переезде фермы с hardware в облако: чего это для них стоило и какие преимущества принесло. Проблема: запуск большого числа тестов, которым необходимы устройства (веб-браузеры и Android-эмуляторы). Технологии: Java, Selenium Standalone Server, Android SDK Tools. Доклад будет интересен SDET, автоматизаторам и QA-инженерам.  The Future is Today: Leveraging AI in Software Testing Indeed Месут расскажет об эффективном использовании машинного обучения в тестировании ПО, приведет несколько примеров из практики и поделится результатами тематического исследования, которое он использовал на своем проекте для отладки багов. Тестирование — очень трудоемкий процесс. Agile-подход означает, что ожидаемое поведение может со временем меняться. Кроме того, после внесения изменений тесты могут быть сломаны. А время ограничено! Нужно свести к минимуму ручное тестирование, чтобы увеличить покрытие и выделить время на исследования с ограниченными ресурсами. Машинное обучение позволяет свести к минимуму ручное тестирование и сделать его более удобным и последовательным. Тестирование может применяться на следующих этапах: Определение тестирования. Автоматическая генерация кода. Выполнение: исследовательское тестирование. Maintenance and grouping. Ревью тестового кода. Исправление тестового кода. Приоритизация тест-кейсов. Отладка багов. Мы увидим, как машинное обучение помогает на всех этапах. В докладе спикер перечислит все области применения с алгоритмами и обсудит аргументы за применение ИИ и риски для тестирования ПО. Хотите 400 релизов в неделю – используйте эти инженерные практики Ozon Fintech Опыт автоматизации Go-микросервисов и работа команды SDET содержит много разных тем. Егор поговорит о том, что еще не рассматривали в большой аудитории, и где достижения получают долго и интересно – обсудим генерацию, актуализацию и переиспользование тестовых данных; на что обращать внимание при покрытии тестами и зачем; как помочь разработке участвовать в QA-процессах для их же блага, а также как с помощью юнит-тестов подружить разработку и тестирование. Как мы автоматизировали тесты с несколькими пользователями  В сервисе доставки еды Василий с командой столкнулись с задачей написания E2E-тестов. Главный вызов был в том, что для тестирования сущностей клиента, курьера и ресторана нужно действовать от имени других сущностей – чтобы ресторан был онлайн, курьеры были в городе и т.д. Сначала попробовали подход с моками и фальшивым API, но это команду не устроило, потому что тестировалось только мобильное приложение и в искусственных условиях. Позже создали (и удачно) библиотеку, которая через API-вызовы позволяет симулировать все действующие лица в системе. Спикер расскажет про то, как к решению шли и чем все закончилось. Нагрузочное тестирование в Яндексе. Что, если тестировать будут разработчики Яндекс Спикер расскажет о том, как устроено нагрузочное тестирование в Яндексе, продемонстрирует результаты активного вовлечения разработчиков в процесс и поделится плюсами и минусами такого подхода. Обсудим, что примененные практики могут дать компании, разработчикам и нагрузочным тестировщикам. В дополнение Александр покажет, как можно на базе инструментов Яндекса сэкономить время и сделать у себя так же. Антипаттерны в автоматизации, и как Playwright позволяет их избежать Ozon Fintech Выбор мощного инструмента — не гарантия успеха: нужно еще уметь им пользоваться. А еще оказывается, что приобретение опыта — это во многом понимание того, каких практик и решений стоит избегать. В докладе поговорим про типичные ошибки при написании автотестов, которые приводят к деградации кодовой базы, удорожанию поддержки и даже неработоспособности самих тестов. Особый акцент сделаем на том, как типичные проблемы автоматизации, приводящие тестировщика на путь костылей, были решены в Playwright. API-слой в функциональных тестах: тонкости настройки Signant Health Как добавить API-слой в функциональные тесты? API служит отличным подспорьем в UI-тестах и тестах на проверку бизнес-логики приложений. Но как грамотно встроить API-слой, чтобы он был универсален, чтобы его легко можно было переиспользовать, модифицировать, применять в комбинации с UI-шагами? Юлия расскажет о технических тонкостях работы с API-слоем и покажет все на конкретных примерах. Она также расскажет про билдеры, группировку кода с помощью ServiceObject (аналог PageObject для API-сервисов), общие настройки коннекта, логирование с реквест-айди запроса и прочие технические приемы. Производительность веб-приложений: мифы и факты о Web Vitals Самолет Web Vitals становится важным инструментом для оценки производительности веб-приложений, но вместе с этим существуют и определенные сомнения относительно его надежности и применимости. В ходе доклада разберем ключевые аспекты, связанные с Web Vitals, и выявим возможные ограничения, которые следует учесть при использовании этой метрики. Также обсудим дополнительные инструменты, которые могут быть полезны для более полного анализа производительности веб-приложения. Метрики в тестировании, или Как большой брат следит за вами ВКонтакте для бизнеса На основе опыта построения метрик в Ситимобиле, Яндексе, СберЗвуке, ВК Александр расскажет о том, какие метрики полезные, какие в его команде делали и ошибались в ценности этих метрик, какие знания можно из них извлечь и как их используют менеджеры. Будет и несколько смешных случаев из жизни, связанных с метриками тестирования.  Интеграционное тестирование на Flutter и CI/CD AVO.uz В рамках доклада погрузимся в анализ особенностей UI-тестирования с использованием интеграционных тестов на Flutter. Спикер выявит и подробно рассмотрит ключевые проблемы, которые влияют на затрачиваемое время при проведении таких тестов, а также представит эффективные способы решения. Ахмат пристально рассмотрит динамическое создание эмуляторов для параллельного выполнения тестов на CI для возможности оптимизации времени их проведения. Цель анализа – продемонстрировать улучшение эффективности и скорости CI/CD-процессов. Доклад будет полезен специалистам в области автоматизации тестирования (SDET) и разработчикам, которые желают глубже изучить возможности и нюансы тестирования с применением Flutter. Сокращаем время UI-тестов на iOS с 4 часов до 30 минут Звук В начале года команде Бориса поставили амбициозную задачу по сокращению времени прохождения UI-тестов на iOS. В ходе доклада Борис поделится лучшими практиками, которые использовали для достижения цели и расскажет о том, как команде удалось сократить время прохождения тестов в 8 раз и при этом не потерять в стабильности. Как приручить Android-эмулятор ВКонтакте Иван расскажет о том, как собрать своими руками и подготовить Android-эмуляторы для запуска автотестов. Спикер объяснит, что означают различные параметры в докерфайле, зачем они нужны и как улучшить сборку эмуляторов, автоматизируя ручные действия. Также обсудим, как создавать и запускать быстрый эмулятор и при необходимости сохранять внесенные изменения. Embedded, Mobile, Web и как это все связано в Flipper Zero Flipper Devices Все мы сталкивались с embedded-устройствами – это могут быть погодные станции, контроллеры в нашем авто, даже обычный домофон. Уровень интеграции таких устройств непрерывно растет. Мы привыкли к тому, что можем взаимодействовать с самыми разными устройствами через смартфон или браузер. Flipper Zero – не исключение: если мы хотим обновить прошивку устройства, сделать бэкап ключей или удаленно работать с устройством, то можно воспользоваться одним из компаньонов. Работали с Web Serial, Appium, Selenium или просто хотите узнать, как это можно использовать с Flipper? Мы попробовали все это соединить и использовать в тестировании нашего устройства. Обсудим построение всех процессов тестирования с нуля. Такого вы еще не видели. Как автоматизировать WebView в гибридном мобильном приложении и не поменять работу X5 Tech X5 Tech Гибридная архитектура мобильного приложения предоставляет как возможности, так и ограничения в тестировании. С какими проблемами можно столкнуться и как их решить? Спикеры расскажут, какие инструменты выбрали для автоматизации web-части, как интегрировали в написание E2E-тестов всю команду QA, и как за короткий срок автоматизировали 70% регресса. Автоматизируем инфраструктуру с помощью ботов VK Приходилось ли вам напоминать исполнителям задач в Jira о том, что они забыли поменять статусы или запутались в ветках? Забывали обновить документацию после выкатывания релиза? Знакома ли вам ситуация, когда одни и те же интеграционные тесты запускались по 10 раз, а исполнитель и заинтересованные лица не знали об этом и тратили лишнее время? Решение этих проблем – автоматизировать инфраструктуру проекта с помощью ботов и сделать так, чтобы при изменении бизнес-процесса в Jira запускались определенные действия на CI/CD, а также приходили уведомления в комментарии к задаче, на почту и в мессенджеры. Также с помощью ботов можно сократить CI/CD-скрипты для однотипных действий и ускорения релизного процесса. Сверим часы: как мы тестировали VK на Apple Watch VK VK Рассказ о том, как тестировали и выпустили в прод приложение VK для Apple Watch. Спикеры поговорят о том, как родилась идея создать приложение ВКонтакте для Apple Watch, как они его тестировали, с какими проблемами и неожиданностями столкнулись, как провели конкурс среди тестировщиков на поиск самых интересных багов и в конце концов успешно выпустили приложение в App Store. Затронут и автоматизацию тестирования — Ксения и Даниил поделятся опытом написания автотестов для Apple Watch. Доклад будет интересен не только mobile QA, но и разработчикам, которые работают с платформами iOS и watchOS, а также всем, кому интересно мобильное тестирование.  Тестирование автономного транспорта: место, где встречаются software и hardware QA Evocargo В Evocargo производят собственный автономный транспорт для перевозки грузов. Каждая единица ТС, вышедшая с конвейера, подвергается целому ряду испытаний. Часть из них – полигонные испытания. Про них Дмитрий и расскажет в докладе. Спикер покажет, как они тестируют свои машины при выпуске из производства, а также как решают, готова ли новая разработка пойти в серийную конструкцию. И всё это на примерах из реальной практики. Сложности тестирования программного обеспечения IoT Electrolux AB Сергей кратко пройдется по тестированию программного обеспечения IoT, проанализирует важность тестирования для обеспечения функциональности, безопасности и надежности, а также рассмотрит сложности и способы их решения. Сергей даст практические советы тестировщикам, которые хотят перейти в тестирование программного обеспечения IoT: расскажет, чего стоит ожидать, как лучше подготовиться и где попрактиковаться. Обсудим возможные пути дальнейшего развития интернета вещей в целом и его тестирования в частности. Тестирование программно-аппаратных решений в рамках SSDL Аладдин Аладдин Доклад про best practices тестирования смарт-карточных устройств на примере USB-токенов. Цель доклада — рассмотреть особенности тестирования USB-токенов, а именно, комплексное тестирование аппаратной составляющей носителя, микропрограммного обеспечения и прикладных программ для управления носителем. Также будут рассмотрены методы тестирования с использованием следующих приборов: пирометра и тепловизора, USB-тестера и специализированного модуля сетевого реле при исследовании таких эксплуатационных характеристик изделия, как рабочая температура носителя, потребляемый ток, скорость работы microSD-карты в носителе и поведение носителя при нагрузке. В докладе будет представлена краткая теория того, что такое USB-токены и зачем они нужны, а также описаны методы и результаты тестирования USB-токенов. В качестве итога доклад отражает многообразие задач, которые стоят перед современными специалистами по тестированию. Доклад будет полезен специалистам по тестированию, которые занимаются тестированием аппаратных носителей или другого оборудования. Уровень специалистов — middle и выше.  Примеры атипичных сценариев при нагрузочном тестировании PostgreSQL Postgres Professional PostgreSQL – популярная OLTP-база данных, позволяющая достигнуть миллионов транзакций в секунду на SELECT/DML запросах. В ходе доклада спикер расскажет об атипичных нагрузках, приведет примеры и проанализирует их с помощью профилирования. Обсудим, почему COMMIT может тормозить и быть виноват, какие существуют подводные камни при создании одного миллиона таблиц, как можно быстро подключиться и почему нельзя быстрее, а также рассмотрим пример запроса, который начинает «тупить» при конкуренции. The show must go on: как нагрузить конференцию, чтобы держать 10 тысяч участников JUG Ru Group С 2019 года в JUG Ru Group разрабатывают решение для проведения онлайн-конференций. Также команда стала использовать это же решение для проведения митапов внешних заказчиков. Одним из требований к решению является масштабируемость и отказоустойчивость: несмотря ни на что решение должно «держать» конференцию с 10К онлайн-участниками. The show must go on! Владимир расскажет про основные компоненты решения, почему в качестве инструмента нагрузочного тестирования была выбрана связка gatling и nanocloud, как был построен профиль нагрузки и какие оптимизации в компонентах решения и инфраструктуре были проведены чтобы приблизиться к заветным 10K. pg_profile — утилита стратегического мониторинга PostgreSQL Postgres Professional Основная задача стратегического мониторинга — предоставление количественной информации о наиболее ресурсоемких активностях СУБД. Такая информация очень полезна для анализа нагрузки СУБД, например, при проведении нагрузочного тестирования. Стратегический мониторинг сам по себе никакие проблемы не решает, но может подсказать, на что обратить внимание. Одним из средств стратегического мониторинга является расширение pg_profile/pgpro_pwr. Спикер расскажет об архитектуре, возможностях, особенностях работы и способах применения этих расширений. Доклад будет интересен всем тем, кто работает с СУБД Postgres — администраторам баз данных, инженерам нагрузочного тестирования и разработчикам приложений, непосредственно взаимодействующих с базами данных Postgres.  Не все ошибки одинаково полезны ATI.SU Ввели невалидное значение в API – получили текст ошибки или необработанное исключение. Текст ошибки помогает пользователям ввести и отправить правильные значения, а QA проверяют это в автотестах. Но не все ошибки одинаково полезны с точки зрения безопасности: Некоторые тексты ошибок могут раскрывать данные о системе и внутренней инфраструктуре. Валидация может содержать уязвимости. Ошибки могут сбивать с толку тестировщика – когда ориентируясь на ошибку считаем, что метод не выполнился. Иногда это не так. Во время доклада рассмотрим примеры, когда «ошибка» является проблемой безопасности. Доклад будет интересен всем, кто интересуется тестированием безопасности. Космический багхантинг ИнфоТеКС Wildberries Космос – это малоизученная, непредсказуемая и агрессивная среда. Вы когда-нибудь задумывались, как тестировать космические аппараты? Более того, цена ошибки здесь возведена в абсолют: неудачный запуск может стоить миллиарды долларов и десятков лет разработки. С какими опасностями космический аппарат может столкнуться в космосе и как они могут повлиять на работу аппарата? Какие механизмы защиты нужны для их компенсации? Как это все протестировать на земле? Об этом и не только поговорим в рамках доклада.  Почему в Яндекс Командировках больше не пишут скриншотные тесты Яндекс Валерий расскажет об эволюции скриншотных тестов в Яндекс Командировках и почему перешли от ручного написания тестов к их генерации в рантайме. Рассмотрим детали перехода на генерацию скриншотных тестов на основе сторибуков в рантайме с помощью Hermione и Playwright. Валерий поделится реальными результатами такого перехода, а также проблемами, с которыми столкнулись, и стратегиями решения. Обсудим преимущества и недостатки подхода, что позволит нам принять решение о его применении у себя. Особенности тестирования SmartTV-приложений Amediateka В чем особенности ТВ-приложений? Сложно ли тестировать приложения для SmartTV? Спикер постарается показать, что это довольно просто, если учесть нюансы и наладить процесс. В докладе Михаил расскажет о двух самых популярных на рынке SmartTV-платформах. Обсудим особенности разных видов тестирования: функционального, UI, UX. Поговорим об организации процесса тестирования, используемых инструментах, а также о сложностях доставки билдов до устройства. Доклад будет полезен и тем, кто хочет познакомиться с тестированием SmartTV-приложений, и тем, кто хоть раз задаваля вопросом: «А как там у опытных QA из мира телевизоров?»  Что нам мешает делать качественный продукт?  Гордитесь ли вы продуктом, который делаете? Искренне ли советуете его использовать друзьям и родным? Рады ли вы звать знакомых работать к вам в компанию? Приятно ли пользоваться вашим продуктом? Любите ли вы свою работу? Каково ваше влияние на создаваемый продукт? Мы все — менеджеры. Инженеры управляют только своим трудом, руководители управляют командами. Одна из задач менеджмента — обеспечение должного качества продукта. Почему же столько плохих продуктов на рынке? Почему столько стыда и самооправданий у сотрудников? Тому виной множество нерациональных подходов и практик: от разделения QA и программистов до тайм-трекинга и спринтов, от премий до гиперспециализации, от перформанс ревью до код-ревью, от "мы не пишем тесты" до "я сделал, QA проверят". В докладе спикер рассмотрит самые часто встречающиеся и самые вредные из этих подходов и практик и предложит более оптимальные альтернативы. Квантовая структура мира: от Нобелевской премии 2022 до переживания реальности внутри квантового компьютера Физический институт им. П.Н. Лебедева РАН Квантовая механика – самое удивительное, что когда-либо было придумано людьми: она делает успешные предсказания о непредставимых объектах, но не поясняет, каким образом эти предсказания сбываются и «что происходит». Теоретические и экспериментальные усилия по прояснению структуры квантовой реальности демонстрируют ее разрыв с привычным нам миром. Возможные интерпретации занимают диапазон от параллельных вселенных до агентоцентрического кьюбизма. Высокотехнологические эксперименты указывают на потерю локального реализма, а существенным следующим шагом в понимании квантовой природы стал бы ИИ высокого уровня («друг Вигнера»), реализованный в квантовом компьютере. Алексей расскажет, какими терминами оперирует квантовая механика, какие выводы о структуре реальности (запреты на привычные свойства) можно получить из нее логически, что удалось проверить экспериментально (Нобелевская премия 2022), какие тренды (включая friendliness) обсуждаются в последнее время, и почему ключевые ожидания сейчас связаны с агентами, действующими внутри квантовых компьютеров.  Распознавание пользовательского интерфейса в медицине Аурига Аурига Современная медицина использует высокотехнологичное оборудование для мониторинга состояния пациента в ситуациях с высоким риском для жизни. Обеспечением надежности такого рода оборудования занимается, в том числе, команда тестирования ПО. Спикеры расскажут о подходах к автоматизации тестирования графического интерфейса с использованием элементов искусственного интеллекта. Рассмотрят возможности распознавания снимков экрана, связанные с этим подходом риски, а также методы, которые позволяют контролировать эти риски. Особый акцент – на распознавании текста, иконок и графиков. Доклад будет полезен тем, кто интересуется применением распознавания изображений в тестировании и кто хоть раз лежал под медицинским монитором и задавался вопросом «Как он тестируется?» Разумеется, конференция — это не только доклады. Многие участники впрямую говорят, что общение для них еще важнее: если пропустил интересный доклад, то его хотя бы в записи посмотреть можно, а вот упущенное общение записью не передашь. И мы стараемся, чтобы для этого были самые подходящие условия. Например, после каждого доклада у нас не просто «три минуты на вопросы», а целая «дискуссионная зона», где спикера можно расспросить подробно — порой там возникают бурные обсуждения на целый час. Так работает и в офлайне (где для дискуссионной зоны предусмотрено специальное место), и в онлайне (где вопросы задают в формате видеосозвона). И, конечно, в офлайне ещё происходит попросту много общения участников друг с другом. Но хабрапостом это всё не передашь: про доклады мы можем написать «вот какие темы вас ждут», а в случае с общением всё в ваших руках. Так что нам остаётся напоследок только напомнить главное: 10-11 октября — онлайн-часть, 15-16 октября в Петербурге (с возможностью онлайн-подключения), все остальные подробности и билеты — на сайте конференции. ContentProvider