Привет! Мы открыли видеозаписи докладов Heisenbug 2018 Piter. А специально для Хабра сделали подборку десяти лучших докладов по мнению посетителей конференции — специалистов в области тестирования. Самым понравившимся докладом внезапно оказался самый «оффтопный»!
Доклады в подборке расположены по возрастанию рейтинга. Но это не значит, что «младшие» намного хуже: у всех, за исключением лидеров, примерно одинаковая оценка от 4,27 до 4,52. Поэтому, как обычно, смотреть нужно всё. Встретимся под катом!
Enterprise Automation with Selenium and why it has very little to do with Selenium
Спикер: Michael Palotas
Место: 10
Рейтинг: 4,3 ± 0,1
Презентация доклада
Топ открывается докладом создателя Selenium Grid Майкла Палотаса. Майкл отвечал за тестирование в eBay, придумывал новые инженерные практики и успел поработать в Intel, Ericsson и других компаниях.
Майкл говорит не только о самом инструменте автоматизации Selenium. Он справедливо замечает, что Selenium является «меньшей болью» в автоматизации и тестировании, и приводит множество практических примеров того, как внедрение инструмента превращалось в работу над полноценным масштабным проектом, который необходимо сопровождать и менеджерить.
Майкл вскрывает основные проблемы, которые мешают командам разработчиков создавать масштабируемые и надежные решения с помощью Selenium, и показывает аккуратные и экономичные способы добиться полной автоматизации тестирования.
Есть ли автотестирование в мобильных видеоиграх?
Спикер: Дмитрий Алексеев / Евгений Шумаков
Место: 9
Рейтинг: 4,3 ± 0,1
Презентация доклада
На прошлых Heisenbug Филипп Кекс уже затрагивал тему автотестирования в мобильных играх, но в его случае игра была с очень простым геймплеем. В докладе Дмитрия и Евгения из Zeptolab всё совсем непросто: играли в Cut the Rope или King of Thieves? Как в них добавить автотесты, если у всех игроков разные устройства, фреймворков нет, да и как отслеживать баги?
Доклад Дмитрия и Евгения демонстрирует, что в разработке и тестировании нет ничего невозможного. Тестировщики из Zeptolab придумали довольно хитрый способ абстрагирования от координат и дампа графических сцен, прокликивая в тестах с помощью Appium. Доклад прост для понимания даже для людей из другой области, и хорошо показывает, на каких стадиях можно сэкономить время и усилия разработчиков в мобильном геймдеве.
JUnit, дай пять! Переносим код в JUnit 5 Extensions
Спикер: Дмитрий Тучс
Место: 8
Рейтинг: 4,3 ± 0,1
Презентация доклада
Дмитрий Тучс уверенно заявляет: JUnit создан для любых тестов. Как раз появился JUnit 5, который получил новую кодовую базу, архитектуру и API, а простота и выразительность фреймворка при этом не пострадали.
В докладе Дмитрий наглядно демонстрирует не только процесс миграции с прошлой версии JUnit (всего лишь замена аннотаций!), но и различные стили тестирования, которые поддерживает JUnit 5, и отвечает на вопрос — а в чем вообще смысл перехода на новый фреймворк.
Доклад пригодится всем Java-тестировщикам, которые занимаются тестами на масштабных веб-проектах, пишут функционалку в стиле AAA (Arrange — Act — Assert, причем одна из A в конце доклада уже не понадобится), и хотят создавать простые API, чтобы новички могли работать с тестовыми покрытиями.
Тестирование на основе сетей Петри
Спикер: Алексей Родионов
Место: 7
Рейтинг: 4,35 ± 0,05
Презентация доклада
Представьте, что ваши тесты не умеют находить ошибки, возникающие в необычных состояниях, а создавать всё больше и больше тестов уже невозможно, так как время выполнения превышает все возможные пределы.
Что делать? Уходить в математический аппарат в поисках альтернативных способов разработки тестов с помощью графов. Программный комитет назвал это «Тестированием 2.0».
Хардкорный, полный Ruby-кода доклад от Алексея Родионова о том, как Toptal переходили о обычных тестов к тестированию на основе математических моделей, что хорошего и плохого можно встретить на пути, и почему стоит обратить внимание на сети Петри для оптимизации тестирования.
Когда нужны скорость и масштабирование: сервер распределенных iOS-устройств
Спикер: Николай Абалов
Место: 6
Рейтинг: 4,4 ± 0,2
Презентация доклада
Разработчикам UI-тестов может быть знакома проблема тестовых прогонов на iOS. Николай приводит в пример Badoo — когда начал готовить доклад было 1200 end-to-end тестов. Когда завершил — 1300. На конференции число тестов увеличилось до 1400. Это 35-40 часов машинного времени в симуляторе, или 1,5 часа реального.
В докладе Николай рассказывает, как удалось сократить время прохождения тестов до 30 минут, перейдя к серверу устройств, и как это позволило сделать инфраструктуру и тесты проще для масштабирования и сопровождения. Николай рассказывает о том, как «распутать» узел из тестов и инфраструктуры, и научиться запускать процессы параллельно с помощью новой модели распараллеливания. Для этого доклада мы сделали на Хабре текстовую версию, так что его можно не только посмотреть, но и прочитать.
Напоследок — наполовину шуточный совет от Николая: если нужно сократить время прохождения тестов — просто удаляйте часть. И время сократится, и ненадёжных тестов больше не будет, и масштабировать просто! Если нужно серьёзнее — смотрите сам доклад.
Тестирование конфигурации для Java-разработчиков: практический опыт
Спикер: Руслан Черёмин
Место: 5
Рейтинг: 4,4 ± 0,1
Презентация доклада
На одной из прошлых конференций Heisenbug Андрей Сатарин рассказал, как покрыть тестами не только код, но и конфигурацию. Руслан Черёмин работал в одной команде с Андреем и вдохновился на использование такого подхода в своих целях.
Руслан в доступной форме рассказывает, что можно считать конфигурацией (всё!), как избавиться от смущения от написания тестов конфигурации, и почему это важно, полезно и довольно просто. Отличный доклад с простыми примерами, множеством вставок кода и доступным объяснением происходящего.
Testers as their own worst enemies
Спикер: Michael Bolton
Место: 4
Рейтинг: 4,46 ± 0,07
Презентация доклада
Легендарный Майкл Болтон с завершающим кейноутом, который должен посмотреть каждый тестировщик.
Он не будет рассказывать о методах, инструментах, фреймворках и многом другом. Майкл говорит о самой сути тестировщика, его роли в IT-мире, значимости профессии и о взаимодействии с людьми, а не с приложениями. Тестирование — не про тесты. Тестирование — про людей.
Майкл вскрывает проблемы профессии тестировщиков, подсказывает, как развивать и профессиональные, социальные и мыслительные навыки, которые не просто повысят эффективность специалиста, но и уважение среди коллег. Очень бодрый, душевный и важный доклад.
Вы всё еще пилите свой отчет? Тогда мы идем к вам!
Спикер: Артем Ерошенко
Место: 3
Рейтинг: 4,52 ± 0,06
Презентация доклада
Основной слоган доклада — «Какую проблему решаем?». Артём чётко и по полочкам расписывает изменения в долгожданной версии Allure 3 и объясняет, зачем нужны новые фичи — визуализация, новые инструменты, единый конфиг и многое другое.
Доклад простой, интересный и наглядный и будет полезен как тем, кто уже давно «сидит» на Allure, так и не знаком с отчетами такого типа.
Fuzzing-тестирование: ищем баги в JIT-компиляторе и не только
Спикер: Максим Казанцев
Место: 2
Рейтинг: 4,6 ± 0,1
Презентация доклада
Есть проблема. Люди могут не догадываться, что баг в приложении может быть связан с компилятором, а вероятность появления багов в самом компиляторе предугадать сложно, а найти баг и исправить его ещё сложнее.
Если в некоторых докладах подборки агитировали за сокращение числа тестов, то в тестировании компиляторов своя атмосфера и свои правила. Максим Казанцев из Azul Systems рассказывает в докладе, занявшем второе место, о том, как упростить жизнь как тем, кто работает с компиляторами, так и в совершенно других направлениях с помощью Fuzzing-тестирования.
Всё просто: если один «хороший» тест находит баг с вероятностью 10−6, значит он не находит баг с вероятностью 0,999999. А пять миллионов тестов НЕ найдут баг с вероятностью 0,9999995000000 ≈ 0,007. А значит, баг найдётся с вероятностью более 99%!
Это вид тестирования, в котором генерируются миллионы случайных тестов, которые проходятся по всему проекту, бездумно проверяя всё, на что натолкнутся. И, как ни странно, такой способ отлично помогает находить проблемы там, где нужна как скорость, так и высокая степень надёжности.
Хардкорный, качественный доклад с примерами кода. Обязательно посмотрите хотя бы из-за нестандартного и интересного способа искать (и находить!) проблемы в коде.
Тестируем до последнего: smart responsive interface design patterns
Спикер: Виталий Фридман
Место: 1
Рейтинг: 4,72 ± 0,06
Презентация доклада
А вот и лидер нашего шорт-листа, который, как ни странно, совсем не про тестирование. Виталий Фридман, отлично известный среди веб-дизайнеров и веб-разработчиков, тут выступил перед нетипичной для себя аудиторией — и покорил её!
Виталий планомерно проходит по всем этапам UX и детально рассказывает про компоненты интерфейса и проблемах, которые с ними связаны и могут быть использованы в тестировании. Это и реализации «каруселей» в различных странах, и советы по созданию действительно удобных сравнений характеристик товаров (а не как всегда), и полезный при создании «аккордеона» чеклист. Многие зрители высказывались так: «Да, это не про тестирование, но это было потрясающе». Приятного просмотра!
А для тех, кому мало десятки, даём ссылку на плейлист, где есть и другие выступления с Heisenbug 2018 Piter.
Если доклады заинтересовали, обращаем внимание: 6-7 декабря состоится Heisenbug 2018 Moscow, на которую приедет разработчик Selenium WebDriver Алексей Баранцев, занимающийся тестированием с 1994 года.
Самую актуальную информацию о программе всегда можно увидеть на сайте конференции, и там же можно купить билеты (цена которых постепенно растёт).