Область тестирования продолжает активно развиваться — с появлением новых инструментов, обновлением старых, а также появлением в IDE поддержки для начала автоматизации тестирования. «Теоретические аспекты-то остаются теми же», — скажете вы. И будете правы. Но, к сожалению, сделать тестирование так же идеально, как описано в блоге Мартина Фаулера, получается не у всех и по сей день. А более современный инструментарий для написания селекторов, кода, интеграции с CI/CD, удобные плагины позволяют приблизиться к «совершенному» и делать все удобнее и быстрее.
«Какие еще новые инструменты, плагины? О чем он говорит?», — возможно, спросите вы. Давайте поясню. А точнее, пояснят программный комитет и спикеры Heisenbug: в программе конференции, которая пройдёт 6-9 апреля в онлайне, есть ответы и на этот вопрос, и на многие другие.
Начнем с самого долгожданного, судя по отзывам о прошлом Heisenbug: с воркшопов, где смотришь не на красивые слайды, а на реальную практическую работу. Кстати, спасибо всем, кто оставляет фидбэк после посещения конференции, именно с его помощью программный комитет подбирает доклады для следующих.
Воркшопы
На прошлой конференции Андрей Солнцев объяснял, как начать свой проект автоматизации с нуля (если вы не смотрели, то держите ссылку). А в этот раз вас ждет продолжение. Коротко о том, что там будет:
- Напишем более продвинутые тесты для TODO MVC;
- Напишем тесты для более «энтерпрайзного» сайта с нетривиальными локаторами;
- Попробуем Record-and-Play для Selenide;
- Освоим работу с прокси в Selenide.
А если вы хотите стартовать автоматизацию на JavaScript/TypeScript, то вас будет ждать Александр Хотемской с воркшопом «Пишем API-тесты на TypeScript». Во время него вы развернете проект и напишете тесты, в процессе добавляя различные паттерны и подходы. В том числе настроите CI/CD, репортинг с Allure, а также напишете валидацию ответов с сервера с помощью Swagger/OpenAPI.
В следующих блоках отдельные выступления тоже будут в формате воркшопа:
ML и большие данные
Про машинное обучение в тестировании давно идут разговоры, но на практике очень мало хороших примеров, как с этим можно делать что-то действительно полезное. Тут, читая программу конференции, я натолкнулся на такой доклад: «Визуальные проверки в End-to-End-тестах, или Как мы писали автотесты для Героев 3». Ностальгия по Героям… А вы еще играете в третьих? Напишите в комментариях. Александр и его коллега Сергей — ведущие разработчики и создатели платформы Testo для разработки и запуска End-to-End тестов, в которой реализована логика проверки скриншотов. И что-то мне подсказывает, что там есть доля машинного обучения. Или была, так как, судя по описанию доклада, они расскажут, почему нейросети в визуальных проверках — это очень хорошо, но не панацея. С нетерпением жду посмотреть автотесты на Героях 3.
Если вы не знаете или недопонимаете, как работает машинное обучение для тестирования, то, кажется, вам стоит посетить доклад «Подводные камни в тестировании проектов с компьютерным зрением» от Софьи Селезневой и Андрея Вавилина. Они расскажут и как это работает, и как это применяется.
Машинное обучение связано с большими данными: ML-специалисты работают рука об руку с дата-инженерами. И дата-инженеры тоже сталкиваются с тестированием — а как тестировать данные, как тестировать пайплайны? Возможно, вы как раз занимаетесь такого рода тестированием, но я уверен, что Паша Финкельштейн и Ксения Томак расскажут про подходы к тому, как сложность можно уменьшить, так, что не останется вопросов после этого.
Инструменты
Как говорил в самом начале, инструменты для тестирования развиваются. В подтверждение этому высказыванию Юрий Артамонов покажет, как изменилась IDE (а точнее, что в ней появилось нового для разработки автотестов) в докладе «IDE в помощь специалисту по тестированию».
А вы измеряете покрытие тестами? Наверняка кто-то из вас использует Jacoco для этой задачи. Существует также другой open-source инструмент Drill4j, о котором расскажет Сергей Пирогов в докладе «Оцениваем риски в тестировании с помощью опенсорс-проекта Drill4j». Очень любопытно, в чем же отличие этого инструмента от других. Это можно будет узнать у Сергея после доклада в дискуссионной зоне.
Доклад «Профилирование JVM в Kubernetes» от Вячеслава Смирнова, которого я помню как специалиста в области перформанс-тестирования, вызывает у меня особый интерес. Почему? Потому что Вячеслав расскажет про:
- подбор профайлеров и их настройках под задачу;
- собранные рецепты профилирования JVM в Kubernetes;
- моменты, когда профилирование вредит, а когда помогает.
А как же инструменты для мобильного тестирования, будет что-то про него? Конечно, будет. Надежда Давыдова, которая работает в Kaspersky, расскажет про автоматизированное тестирование с использованием виртуализации QEMU и библиотеки QMP, а также про разработку и выбор подходов к тестированию мобильного телефона с новой операционной системой. Ищите доклад «Тестируем мобильный телефон по-другому. Полное погружение в HW-стенды» в сетке программы.
Многие из вас сталкиваются с проблемой параллелизации тестов. Дмитрий Тучс, который уже выступал на Heisenbug с докладом про JUnit, расскажет, что же происходит под капотом JVM при включении параметра parallel.enabled=true в JUnit5 и зачем знать что-то о concurrency, когда вы занимаетесь тестированием.
«Еще и хорошо знать concurrency теперь хотят от тестировщиков?», скажете вы. «И не только это, а еще довольно обширный пласт инструментов, и знать, какие и когда выбрать, а еще уметь настроить отчеты», отвечу я. «Но ведь тестировщик тогда получается какой-то разработчик-девопс-тестировщик-менеджер?». Возможно и так. Недавно придумали новое слово «TestOps». Слышали ли вы про это? Напишите в комментариях, обсудим вместе. Многие думают, что это маркетинговый ход. Артем Ерошенко подробно расскажет, что же это такое в своем докладе «TestOps: DevOps для тестировщиков».
Теория
В программе конференции представлены доклады, которые будут интересны и понятны тем, кто не занимается автоматизацией. Программный комитет поместил их в отдельный блок, чтобы вам было удобнее ориентироваться.
В этот блок попал доклад с названием «Теория тестирования — миф или реальность?» от Ксении Такташевой и Александра Александрова. В нем спикеры затрагивают тему, что же должен изучать тестировщик и нужны ли сертификаты и вся «эта теория тестирования». Посмотрим, удастся ли им доказать, что теория тестирования — это миф. Предвкушаю, что на этом докладе у многих будет подгорать.
Уверен, что многих мучают flaky-тесты время от времени. Многим давно запомнился доклад Андрея Солнцева о том, с какими сложными случаями сталкивался он. А в этот раз Андрей расскажет про общий метод решения флаки-тестов. «Это метод, позволяющий не просто добавить слип и уповать на молитвы, а убедиться, что исправление действительно помогло. Или не помогло, но это точно», — завещает Андрей.
Есть такая интересная область, как тестирование Database Management Systems. Manuel Rigger и Илья Яшин подготовили доклад «Using SQLancer to test ClickHouse and other database systems». В нем они рассмотрят техники тестирования, которые они использовали для автоматической валидации результатов от разных баз данных, включая SQLite, MySQL, PostgreSQL, ClickHouse.
UI
Виталий Фридман — это человек-харизма (просто откройте любой его доклад на ютубе и ощутите, почему). Поэтому я был очень рад увидеть, что Виталий подготовил воркшоп для конференции. «В этом воркшопе мы нащупаем общие болевые точки, на которые клиент натыкается слишком часто, узнаем, как с этими точками разобраться и создать интерфейс, который позволит получить информацию от клиента дружественным, доступным и очевидным путем, при этом помогая конверсии и KPI бизнеса», — говорит Виталий. А я думаю, что этот воркшоп не только научит новым подходам и техникам, но и подарит отличные эмоции.
Best Practices
На конференции бывают не только сугубо прикладные доклады, посвященные инструментам, но также и доклады про практики, которые использовали спикеры в своих компаниях. Они делятся своими историями, а также советами и практиками, которые наработали.
Кевлин Хенни выступит с докладом «Structure and interpretation of test cases», Сергей Разуваев расскажет про проблемы и решения при тестировании тяжелого энтерпрайза, Юлия Борисенко и Денис Божков покажут, как они строили IaaS в тестировании, а Иван Варивода поделится тем, почему прозрачная тестовая разметка — залог стабильного деплоя.
Подводя итоги
Отвлечёмся от программы и добавим такую деталь: на этом Heisenbug мы используем свою виртуальную платформу, где можно не только слушать доклады, но и «ходить» по игровому пространству, «подходя» там к другим зрителям и общаясь с ними с помощью веб-камер. Уже опробовали её на других наших конференциях и поняли, что с ней становится интереснее:
И ещё ВАЖНОЕ не о программе. Все, кто был на Heisenbug, знают, что зрителям этой конференции важны сувенирные резиновые уточки, помогающие в «отладке методом утёнка». Отвечаем на напрашивающийся вопрос: да, они будут и на этой онлайновой конференции, их будем рассылать за заполненную форму обратной связи.
А что до программы — выше перечислено большинство докладов, но не все, в программу ещё вносятся последние штрихи. Например, выступит Эндрю Найт, автор блога Automation Panda, тема его доклада скоро появится на сайте. Там же, на сайте, есть и точное расписание, и краткие биографии спикеров, и билеты — так что, если конференция заинтересовала, вам туда.