До конференции по тестированию Heisenbug всего ничего, её программа уже известна, и пришло время рассказать о ней Хабру.

Каждый раз в Heisenbug есть и то, за что его знают и любят, и новое.

Что уже знакомо? Снова будут привычные тематические блоки: «инструменты и фреймворки», «мобильное тестирование», «нагрузочное» и так далее. Снова будут некоторые спикеры, полюбившиеся многим по предыдущим Heisenbug: Артём Ерошенко (поговорит о том, умерло ли тестирование), Дмитрий Тучс (продолжение темы JUnit extensions), Константин Волков (всегда что-то интересное про Flipper Zero). Снова будет формат «хоть приходите на конференцию ногами, хоть смотрите в онлайне».

А что будет нового? Конкретные темы докладов — они-то всегда свежие. И рассказываем Хабру, какие именно в этот раз:

Содержание

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

  • Best practices

  • Hardware

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

  • Нагрузочное тестирование

  • UI

  • AI


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

Хватит использовать Postman

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

МТС Банк

Каждый раз на работе мы слышим «пульни запрос через Postman». Этот инструмент является негласным «стандартом» и требуется почти в каждой вакансии. Время неумолимо бежит, создаются новые приложения, про которые вы узнаете из доклада. Рассмотрим лучшие альтернативы Postman. Сравним инструменты и изучим особенности. По итогу доклада вы сможете добавить в свое резюме новый инструмент. И хватит использовать Postman!


Ферма как сервис

Никита Кожемякин

SberDevices

Никита расскажет об опыте построения Фермы в SberDevices. Объяснит причины, по которым решено это было делать, а также поделится результатами, которых удалось достичь благодаря Ферме.


Генерация данных через No Code-подход

Камил Иксанов

Тинькофф

Доклад о том, как в Тинькофф реализовали сервис для генерации данных с использованием No Code для нескольких команд и сэкономили N человеко-часов на тестировании ежемесячно.

Поговорим о том, почему понадобилась генерация данных. Узнаем, что такое мастер-система по данным и почему именно No Сode. Обсудим выбор архитектуры, сравним плюсы и минусы других подходов. Рассмотрим примеры кода и визуализаций.


Браузерные инструменты: ищем проблемы рендеринга

Алексей Иванов

Самолет

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


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

Олег Чаплашкин

VK

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

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


Версионирование автотестов с semantic-release

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

ЭталонТех

Елена расскажет об использовании semantic-release в ЭталонТехе. Почему именно он? Все просто — инструмент казался элементарным в использовании и одновременно решал существующие и некоторые будущие проблемы. Цена его внедрения была нулевая, а человеческий фактор исключался полностью. Уверенности добавлял успешный опыт коллег-девопсов из других компаний.


Использование и построение матрицы трассировки тестирования с помощью инструментов Сфера

Федор Алексеев

Платформа Сфера

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

Федор расскажет, как с помощью инструментов Сфера справились с этими вопросами и задачами и используют матрицу трассировки.


Events: Love Triangle in Integration Testing

Andres Sacco

TravelX

События облегчают разработку, но в то же время осложняют тестирование. Например, что, если событиям нужно изменить что-то в базе данных? Как нам узнать, что данные были изменены?

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


**Воркшоп: the art of JUnit extensions 2 **

Дмитрий Тучс

Dodo Engineering

В первой части мы реализовали OAuth 2.0 code flow и глобальное создание тестовых данных через insert в базу для проекта Rococo, используя JUnit Extensions. Во второй части воркшопа мы реализуем декларативный DSL создания тестовых данных для конкретного теста, поговорим про многопоточный запуск и обсудим, при чем тут Extension'ы, сделаем наш api-login умнее — ведь нам нужны не только web-тесты?

Как итог двух частей получим готовый Java-проект, который можно брать за основу своего, когда будете делать «E2E-тесты с нуля».

Обязательно освежите в памяти первую часть воркшопа перед просмотром продолжения :)


Как статический анализ помогает улучшить код автотестов на Kotlin

Николай Недосейкин

Яндекс Еда

Доклад о том, как с помощью статического анализатора Detekt можно повысить качество кода автотестов (Android-приложения), написанных на Kotlin.

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


Методы и подходы к тестированию распределенной базы данных

Виталий Гриднев

Яндекс, YDB

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

Затем углубимся в архитектуру тестового сценария в хаос-тестировании.

Вам расскажут, как с помощью характеристик safety and liveness можно находить дефекты в системе. Обсудим проблемы и недостатки хаос-тестирования.


Тестирование предоставления совместного доступа к документам на примере платформы «МойОфис Частное Облако»

Владимир Ревякин

МойОфис

Анна Рукавицына

МойОфис

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

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

Рассмотрим варианты использования ArangoDB и ее интеграции с приложением, а также особенности функционального и нагрузочного тестирования.


Best Practices

Неизвестные пробелы в тестовом покрытии

Дмитрий Кузнецов

Тинькофф

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

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


Как мы тестировали UX на Филиппинах

Руслан Мурадов

Дмитрий Горбачев

Sber Private Banking

Подробно про методы тестирования UX. Решаем проблему на стыке QA, дизайна и аналитики. Как тестировать UX, что надо делать, и какой вклад могут внести тестировщики.


Методы и подходы к тестированию распределенной базы данных

Виталий Гриднев

Яндекс, YDB

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

Затем углубимся в архитектуру тестового сценария в хаос-тестировании.

Вам расскажут, как с помощью характеристик safety and liveness можно находить дефекты в системе. Обсудим проблемы и недостатки хаос-тестирования.


Записки код-ревьюера: мыслим выше, чем пробелы и табуляция

Александра Качина

VK / Бизнес ВКонтакте

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

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


Искусство тестирования GraphQL

Константин Жуков

VK / Бизнес ВКонтакте

Доклад о тестировании бэкенда с акцентом на технологии GraphQL. Рассмотрим виды проектирования: REST, gRPC, GraphQL, SOAP. Познакомимся с историей GraphQL, проблемами, которые решает технология, а также обсудим мнения разработчиков о ней.

Уделим внимание особенностям тестирования GraphQL, сравним инструменты и выберем подходящие. Рассмотрим автоматизацию тестирования и сравним библиотеки на разных языках программирования. Будут и стенды — для подробного ознакомления с технологией и практики.


Тестирование .NET web-сервиса без деплоя

Артем Сидорук

Kaspersky

Если ваша команда разработки пишет на C# (.NET), и сервис, который вы хотите протестировать, это web API-сервис или сайт — вы пришли по адресу. Во время доклада Артем расскажет максимально просто о том, как тестировать ASP.NET-приложения, не закрывая IDE и не запуская деплой куда-либо. Покажет, как при таком подходе создавать не только REST API-тесты, но и web-тесты с использованием Selenium или Playwright. Объяснит, что такое TestServer и WebApplicationFactory на примерах, которые подойдут вашему проекту.


Как архитектура проекта влияет на процессы качества

Мария Палагина

Тинькофф

Shift Left Testing-практики плотно вошли в жизнь многих команд. Но когда говорят об этих практиках, обычно сдвигают тестирование ближе к заказчикам, к разработке требований. При этом во время любой разработки важно помнить, что качество реализации требований закладывается на уровне архитектуры. А это значит, что QA должен обращать на архитектуру максимальное внимание.

К идее о том, что QA обязательно должен подключаться к разработке на этапе проектирования архитектуры, команда пришла далеко не сразу. На примере своих проектов Мария расскажет про самые крутые архитектурные решения, которые улучшили качество, и про самые жесткие факапы, от которых они страдали и страдают.


Слоеный фреймворк автотестирования на стеке Python. Архитектура, примеры на практике и подводные камни

Роман Помелов

VK / Skillbox

Автоматизаторы не любят готовые решения — им кажется, что в них чего-то не хватает. Во многих случаях это действительно так, и тогда они принимаются писать свое. В докладе Роман покажет конкретную реализацию на стеке Python + pytest/behave и как она ложится на общую схему gTAA (Generic Test Automation Architecture) из ISTQB.

Возьмем E2E-тест (API + UI) и разложим его реализацию до основания с примерами кода.

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


Бета-тестирование — шаг вперед, назад или в сторону для QA?

Михаил Кошкин

VK

Многие слышали о бета-тестировании, кто-то проводит его. Но мало кто рассказывает об этом процессе и его результатах.

VK Testers шесть лет проводит бета-тестирование продуктов ВКонтакте с помощью сообщества добровольцев. У них накопилось достаточно опыта и данных, чтобы делать выводы о пользе и эффективности «беты» как части QA.

Помогает «бета» или нет? Стоит ли потраченного времени и сил? Можно ли полностью ее заменить? Попробуем разобраться, опираясь на факты.


Проектирование, разработка и поддержка тестов обновлений для продуктов с монолитной архитектурой

Никита Жевелков

Positive Technologies

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

Покажет, как для написания тестов использовать технологии GitLab CI/CD, Ansible, Python, Bash и VMware vSphere. Будет интересно QA‑инженерам разного уровня, которые тестируют или планируют тестировать обновления своих продуктов.


Хаос-тестирование как часть функционального: наш опыт в Яндекс Маркете

Светлана Баканова

Яндекс Маркет

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

Там прошли интересный путь в 2 года, попробовали разные способы «хаосить» сервис — от супердешевых до самописных инструментов, часть из которых написали и поддерживают ребята из команды тестирования


Как тестируют игры Gothic на консолях

Ирина Старыгина

Elverils

Наталья Кяргина

Elverils

На примере игр серии Gothic вам расскажут о специфике портирования игр с ПК на консоль. Поговорим о проблемах в процессе портирования и способах их решения. Вы узнаете об особенностях работы QA с консольными играми.
Вас познакомят с полным циклом работы над проектом: от сбора информации о продукте до релиза. Затронут вопрос технических требований консолей и подробно разберут методы тестирования консольных игр. Детально расскажут об адаптации UI/UX и создании нового варианта управления с нуля. Поделятся опытом взаимодействия с игровым комьюнити Gothic и знаниями, которые извлекли.


Hardware

Zero to Hero. Production QA

Константин Волков

Flipper Devices

Вы когда-нибудь задумывались о том, как создаются устройства, окружающие нас? Что именно происходит от идеи и выбора материалов до запуска производственной линии?

Поговорим о роли QA-специалистов в современных компаниях, занимающихся разработкой электронных устройств, пройдемся по ранним этапам создания Flipper Zero и обсудим фреймворки и методы автоматизации тестирования. Рассмотрим быстрое прототипирование на примере модуля Raspberry Pi 2040 Zero для Flipper и многое другое.


llvm-snippy: тестирование RISC-V аппаратуры случайными тестами

Константин Владимиров

Syntacore

Верификация аппаратуры — это сложный процесс, в котором генераторы тестов играют ключевую роль. Этот доклад — о новом генераторе тестов llvm-snippy, который недавно был выложен в опенсорс. Ключевое отличие этого генератора в том, что он основан на компиляторе LLVM и имеет отдельный интерфейс для подключения моделей. Поэтому состав, кодировку и семантику инструкций можно переиспользовать.

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


Можно ли автоматизировать тестирование интегрированного серверного ПО

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

Аквариус

В этом докладе Александр расскажет, с какими трудностями столкнулись в Аквариусе при организации автоматизированного тестирования BMC.

BMC — это Baseboard Management Controller, важная часть серверной материнской платы. Тестирование интегрированного софта имеет свои прелести: без железа оно невозможно (спойлер: полноценно невозможно), железо тоже может «глючить». Но любую проблему можно решить, и спикер расскажет о некоторых таких решениях, а также о том, что еще интересного и креативного хотят сделать в Аквариусе.


Система тестирования приложения вышки сотовой связи, обрабатывающего сигналы твоего телефона в реал-тайме

Алексей Шестаков

YADRO

Одно из направлений разработки в YADRO — Телеком. Там разрабатывают базовую станцию LTE вышки мобильной связи — то, благодаря чему есть доступ в интернет и к звонкам.

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


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

Строим масштабируемую инфраструктуру для запуска мобильных UI-тестов

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

MarathonLabs

Затронем вопросы:

Зачем нужны UI-тесты в мобильных приложениях и почему UI-тесты — это больно?
Какие требования нужно учесть при построении инфраструктуры для мобильных тестов.
Как построить свою собственную инфраструктуру. Сколько это стоит? Стоит ли игра свеч?
В чем отличия инфраструктуры для Android и для iOS? Как Apple делает нашу жизнь невыносимой?
Какие есть готовые облачные решения, их сильные и слабые стороны.


DeviceHub: облегчаем работу с устройствами и эмуляторами

Иван Левиков

VK

Даниил Смирнов

VK

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

Для решения этих проблем есть DeviceHub — ферма для удаленного управления устройствами на базе OS Android и взаимодействия с ними. Команда VK ее доработала, и во время доклада вам расскажут, как подружиться с фермой. Пройдемся по ее основным преимуществам и возможностям, а также обсудим ключевые отличия от решений на рынке.


Масштабируем UI-тесты на iOS: от новых приложений до устройств

Даниил Курпаченко

VK

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


Безопасность — это просто. Как улучшить защищенность мобильного приложения в процессе обычного тестирования

Юрий Шабалин

Стингрей Технолоджиз

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

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


Нагрузочное тестирование

Как создать высокопроизводительную заглушку без навыков программирования?

Светлана Шерстобитова

билайн

Вам расскажут о понятии заглушки и ее целях. Обсудим влияние «неправильных» заглушек на результаты тестирования. Рассмотрим аналоги, включая WireMock, и Светлана объяснит, почему он не подошел им для нагрузочных тестов.

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


Теория и практика нагрузочного тестирования

Алексей Рагозин

Независимый консультант

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

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


UI

Процесс автоматизации тестирования микрофронтенда, или Как сделать все удобно

Анна Кириенко

Тинькофф Банк

Tinkoff FormBuilder — это библиотека для построения интерактивных форм на React и TypeScript, которая поставляет готовые компоненты (инпуты, кнопки и другие). Эти компоненты используют различные команды Tinkoff для составления форм (к примеру, кредитная, дебетовая формы).

Отсутствовал единый подход к тестированию компонентов FormBuilder, в связи с чем был разработан Component Object-подход.

Component Object — это объект, который содержит все нужные методы для работы с компонентом, а также локаторы для его отдельных интерактивных элементов. Анна расскажет, чего удалось добиться Тинькофф благодаря применению Component Object.


Локализация и ее интеграция в процесс тестирования ПО

Михаил Кургузов

SM Lab

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

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


AI

Автоматизируем UX-тестирование с помощью машинного обучения

Никита Рубинов

VK

«UX-тестирование не может быть автоматизировано» — утверждение верное до недавнего времени. Теперь же многие задачи в UX-тестировании и валидации пользовательского опыта могут быть автоматизированы с помощью машинного обучения. Из доклада узнаем, какие задачи уже могут взять на себя нейронные сети и что для этого нужно. Рассмотрим ограничения, которые есть на данный момент.


Тестирование умерло

Артем Ерошенко

Из года в год я слышу одну и ту же фразу: «тестирование умерло». Что скрывать, я и сам это регулярно говорю. При этом тестирование живет и процветает, а его ценность только растет, и это видит каждый тестировщик.

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

Приходите, будет интересно.


Заключение

Если вы ещё не участвовали в Heisenbug, может быть не вполне очевиден формат. Поясняем: 16 апреля все будут смотреть доклады онлайн, а вот про 22-23 можете самостоятельно выбрать, что вам лучше подходит: прийти на московскую площадку лично или подключиться к её онлайн-трансляции.

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

Напоследок остаётся напомнить ссылку на сайт конеференции: там и вся информация о ней, и билеты.

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