В этом сезоне Heisenbug состоит из двух частей: уже привычный онлайн и давно желанный офлайн. Онлайн-часть сейчас позади, и видеозаписи некоторых её докладов мы уже открыли для всех — в этом посте делимся ими с Хабром.
А до офлайна остались считанные дни (21 июня в Санкт-Петербурге), и сейчас ещё не поздно решиться в нём поучаствовать.
Поэтому мы решили в одном посте и резюмировать уже прошедшие события, и кратко сказать о предстоящих.
Видеозаписи Community Day
Обычно видеозаписи Heisenbug становятся доступны спустя несколько месяцев. Но один из онлайн-дней мы решили сделать «днём для всего сообщества, а не только купивших билеты», и уже сейчас делимся его видеозаписями.
Правда, в записи доступно не всё происходившее: на YouTube не попадают ни «дискуссионные зоны» (видеосозвоны после каждого доклада, где можно было подробно расспросить спикера), ни BoF-сессии (тематические обсуждения с участием всех желающих), ни чаты. Но посмотреть доклады можно:
Главная студия: Открытие дня
DocOps: шоссе к актуальной документации (Николай Поташников)
Нативные UI-тесты за 21 день (Алексей Хайминов, Алексей Червяков)
Replay логов в качестве профиля нагрузки для MongoDB. Миф или реальность? (Раиса Липатова)
Главная студия: Развивай себя и коллег: разговор о контрактах, курсах и обучении (Анастасия Ронжина, Марина Третьякова)
Время выбирать: тест-менеджмент (Юлия Атлыгина)
Тестирование оптимизаций в кластерах баз данных (Сергей Махетов)
Testing your test (Andres Sacco)
Главная студия: Подведем итоги онлайн-части Heisenbug 2022 Spring
Как прошла онлайн-часть
Конференция проходит уже седьмой год (на открытии поностальгировали и вспоминали доклады прошлых лет) — что было в этот раз, если сравнить со всеми предыдущими?
Когда пришла пандемия и нам пришлось срочно писать свою видеоплатформу, это было увлекательно, но на стыках, конечно, вылезали огрехи. Однако со временем мы, кажется, успешно справились: в этот раз онлайн прошел без значимых заминок и перебоев.
А вот формат программы за годы отчасти изменился. Heisenbug известен как «хардкорная» конференция про техническую конкретику, где на слайдах легко может быть код, а в демо — распределëнная система. И это из докладов никуда не делось, но помимо докладов, появились и более лёгкие активности: в этот раз это были «включения главной студии» и «BoF-сессии».
В «главной студии» были не доклады-монологи, а более живые обсуждения общих вопросов и проблемы из мира тестирования — например, «Как выстраивать работу с QA на разных уровнях зрелости по TMMI» или «Развитие в IT: начало, менеджерская развилка, повседневность».
А BoF-сессии — тоже обсуждения, но в формате видеосозвонов, где высказаться могут не только ведущие и приглашённые гости, а вообще любые желающие. Там темы были от «переход из ручника в автоматизаторы через грабли обучения» до «QA или менеджер? Как мы работаем без тимлидов»
Про «лайтовое» ясно, а с докладами что? Среди их тем какие-то были типичными для Heisenbug («как мы ускорили UI-автотесты на Android»), а какие-то более редкими (в этот раз уделили больше обычного внимания тестированию железа).
И приведём примеры того, о чём вообще рассказывали — из совсем разных сфер, чтобы по этому разношёрстному набору сложилась какая-то общая картинка:
Инструменты тестировщика
Об инструментах на Heisenbug всегда говорили много. Ещё в 2017-м Юлия Атлыгина выступила с докладом, который назывался попросту «Инструменты тестировщика», его расшифровка набрала на Хабре уже больше 100 000 просмотров, и в 2022-м её продолжают читать.
Это, конечно, успех, но у таких выступлений есть и проблема: информация из них за пять лет может устареть. Самый свежий комментарий под этой расшифровкой — о том, что один из упомянутых в докладе сайтов попросту не открывается.
Юлия учла это. И теперь, выступая с новым докладом о выборе системы тест-менеджмента, сразу заметила: речь в нём не просто о том, чтобы сравнить конкретные проекты в их текущем состоянии. Речь о том, чтобы сформулировать принципы, по которым такую систему надо выбирать. И эти принципы могут по-прежнему помогать в будущем, когда конкретная ситуация изменится. Доклад Юлии попал в community day — так что его уже можно посмотреть «бесплатно без регистрации и смс».
А в докладе Ивана Пономарёва «Mocks vs Testcontainers» описывалась другая история «успех, но…». Библиотека Testcontainers стала популярным инструментом в тестировании, что само по себе прекрасно, но приводит к эффекту «серебряной пули»: он может казаться панацеей на все случаи жизни, когда на самом деле это не так. Иван разбирал, в каких случаях Testcontainers хороши, а когда моки остаются предпочтительным вариантом. Забавный факт: наш собственный директор Алексей Федоров помогал Ивану провести доклад, потому что захотел в процессе сам разобраться в вопросе — для него это тоже актуально.
Машинное обучение
Ещё одна популярная штука, которую иногда ошибочно принимают за «серебряную пулю». Конечно, все вопросы им сейчас не решить, но оно бывает в тестировании полезным, давая прежде недоступные возможности — а в каких именно случаях? Эта тема всплывала более чем в одном докладе.
Алексей Царев рассказывал о том, как в «Кинопоиске» научились распознавать музыку в кино и сериалах, и какие связанные с тестированием вопросы тут возникают. На первый взгляд всё может показаться просто: у Яндекса ведь уже есть «Яндекс.Музыка», а в ней уже есть функция распознавания музыки — что мешает просто её использовать и всё?
Но из доклада быстро становится ясно, что тут много своих нюансов. Например, пытаться пропустить через распознавание вообще все фильмы и сериалы целиком вычислительно «дорого» — а значит, логично сначала определить, в каких именно местах вообще звучит музыка. А в случае с распознаванием используются сразу два разных алгоритма (ML и эвристический). Участники тем временем писали в чат вопросы, тоже обращающие внимание на сложности: а что, если в фильме герои стоят снаружи клуба и из играющей музыки до них доносятся только басы? А что, если в фильме звучит инструментал известной песни? А что, если…?
Не меньше неочевидных сложностей всплывало в докладе об автоматизации тестирования десктопных приложений от Сергея Игошина и Вадима Шутько. Но там они были другого плана. В тестировании веба мы привыкли к тому, сколько всего можно автоматизировать штуками вроде Selenium — а с десктопом-то не так, как там сделать банальное «введём данные в форму авторизации»?
Можно записывать действия тестировщика и автоматически воспроизводить их попиксельно — но тогда стоит измениться хотя бы размеру шрифта в программе, как всё сломается. Можно прибегать к accessibility-инструментам — но то, что сработает для обычного нативного Windows-приложения, не сработает для кроссплатформенного на JavaFX. В такой сложной задаче на помощь как раз может помочь машинное обучение: его возможности не безграничны, но пользу принесёт.
TestOps / DocOps
Забавная перекличка: сейчас расплодилась масса всяких «опсов» (от GitOps до DevSecOps), и на конференции поговорили сразу о двух из них. Что это всё такое, зачем оно нам нужно и точно ли нужно, или тут просто дурацких слов понавыдумывали?
Руслан Ахметзянов во включении «Главной студии» объяснял всё о понятии TestOps. С помощью культуры DevOps люди более-менее смогли подружить разработку и эксплуатацию так, чтобы релизить хоть по пять раз на дню. Но вот тестирование как-то осталось в стороне, и для него частые релизы наших дней могут звучать как боль. Значит, аргументировал Руслан, тут тоже нужны схожие перемены, с которыми тестирование встроится в этот непрерывный поток — для этого нам и нужен TestOps.
И у Николая Поташникова в докладе про DocOps звучало то же слово «непрерывный». Если у вас много релизов и всё быстро меняется, то и документация должна за этим поспевать. И судя по беглому опросу в чате во время доклада, инструменты вроде Allure в тестировании используют уже очень многие — а вот вопрос «почему нельзя ко всей документации подходить вот так» остаётся актуальным. Поговорили о том, как его решать.
Главная студия
Уже писали выше, что помимо технических докладов, на Heisenbug сейчас есть и разговорные «включения главной студии» с более общими темами. Приведём пару примеров.
Максима Шульгу из программного комитета Heisenbug, который в IT уже больше 20 лет, рсспросили об этом масштабном пути. Он начинал с военного училища — как это стыкуется со «свободолюбивым» IT? А потом стал менеджером — как после такого перехода продолжать ощущать, что ты делаешь что-то полезное, а не просто общаешься с людьми, выполняющими всю реальную работу?
А у Анастасии Ронжиной и Мариной Третьяковой опыт пока что не 20-летний, зато по-своему специфичный: вместо того, чтобы постоянно работать в одной команде, они в Контуре по контрактному принципу перемещаются между разными. Так что здесь подробно рассказали об этом подходе с его плюсами (например, получаешь возможность поработать с самыми разными технологиями) и минусами (например, приходится регулярно расставаться с дружным коллективом).
Как пройдёт офлайн-день
Здесь можно было бы подробно расписать все темы докладов. Но поскольку это будет первый офлайновый Heisenbug за два года, понятно, что тут для многих участников главное — не в том, какие именно слова произнесут со сцены. Главное — физически находиться в зале и смотреть на спикера. Подойти непосредственно к нему после доклада с вопросами. Пообщаться с другими участниками.
Мы всё это понимаем. И главное, что нужно знать об офлайновой части Heisenbug: она сделана так, чтобы дать людям общение. Будет всё то, что мы любили в офлайне раньше.
Будут BoF-сессии с возможностью «сесть в круг» и обсудить насущную тему: слово тут даётся и спикерам, и любым желающим участникам.
Будут «дискуссионные зоны», где задать вопрос спикеру после доклада можно не по видеозвонку, а в специальном месте с флипчартом.
Будет пространство и время для нетворкинга, так что можно будет и просто пообщаться с другими участниками сколько потребуется.
Доклады, конечно, при этом тоже никуда не деваются, и там тоже много интересного, вот отдельные примеры:
Александра Сватикова, которую мобильные тестировщики могут помнить по докладу «Уязвимости в реализации межпроцессного взаимодействия в Android-приложениях» (мы его расшифровывали для Хабра), теперь поговорит в целом про тестирование безопасности мобильных приложений
Один из ключевых участников программного комитета Владимир Ситников впервые за годы сам выступит на Heisenbug с докладом на тему Assert.
Иван Крутов в докладе сначала расставит точки над тем, чем отличаются Selenium и WebDriver, клиент Selenium и сервер Selenium — а затем перейдёт к тому, почему вообще существующие библиотеки устарели и что, по его мнению, должно ждать нас в будущем.
Но не станем здесь подробно расписывать всё, а вместо этого сошлёмся на сайт конференции, там есть все описания.
Там же можно приобрести и билеты, и они работают по хитрой схеме «офлайн+видеозаписи»: даёт и возможность посетить офлайн-день, и доступ ко всем видеозаписям прошедшей онлайн-части. В открытый доступ все эти видеозаписи будут выложены лишь спустя несколько месяцев.
В общем, ждём вас 21 июня!