2021-04-19: И снова offline - SQAdays-28 в Петербурге

< Блог:Максима Цепкова
SQAdays-28ph.jpg

16-17.04 был и выступал на 28 конференции SQAdays в Санкт-Петербурге. Обычного online-репортажа не получилось, поэтому быстро выкладываю отчет о коференции в целом. Главное, что я хочу сказать о ней - конференция стабильна. На нее приходят тестировщики, освоившиеся в профессии и получают импульс для дальнейшего развития, рассказы о решении задач и кругозор о том, что вообще происходит в тестировании. Да, без большой глубины, это особенность конференции, которая в целом определяется запросами аудитории. Примерно такое позиционирование обсуждали восемь лет назад после конференции во Львове, по результатам была статья организаторов на habr. И это - сохраняется.

А еще я хочу отметить, что у конференций Влада Орликова был самый короткий перерыв на пандемию. Да, в весной 2020 их не было, но осенью Влад провел запланированные конференции в Москве, сейчас прошла SQAdays, а AnalystDays будет в мае, тоже в Питере. И это - прекрасно!

Я участвую в конференции уже десять лет, с 2011, и сопоставляя нынешние доклады с прошлыми хочу сказать, что задачи - да, сохраняются. И сохраняются принципы и подходы к их решению. А вот конкретные способы решения - меняются. Потому что за это время окончательно перешли от монолитов и простых web-приложений к сложным многосервисным программным комплексам, у которых много клиентов на разных платформах - мобильные, web, desktop, в стек технологий добавился конвейер поставки и развертывания, которых тогда не было и многое другое. Так что посторяются именно принципы и отдельные приемы. И, как следствие - нет ученика, где бы можно было прочитать хорошие комплексные руководства, решения надо искать в отдельных статьях, других материалах в инете и на конференциях - не только в докладах, но и в общении участников. А еще - в чатах, которых тоже не было 10 лет назад - тогда существовали форумы, которые по характеру коммуникации - отличаются. Конференция дает доклады и общение с докладчиками и коллегами вместе, и в этом ее ценность.

Ну а теперь - про доклады. Начну с последнего Сергей Атрощенков. Новые Фундаментальные навыки. В докладе было сопоставление компетенций квалифицированного инженера 2000 с современными. В них существенно уменьшились требования к hard skill, включая знания технологий, прежде всего потому, что технологии быстро меняются. Зато увеличились доля soft skill - командная работа, коммуникации, и появились новые, касающиеся умения быстро осваивать новые технологии и решать задачи, которые ранее решать не умел. Раньше работой с новыми технологиями занималась лишь малая часть инженеров, а теперь это повсеместно, потому что, например, новые JS-фреймворки появляются и развиваются очень быстро, так же как базовые технологии, предоставляемые сотовыми телефонами, или технологии построения чат-ботов, распознавания речи и многое другое, и все это надо встраивать в свои приложения, хотя оно еще сыро и нестабильно.

И поэтому неправильно считать все эти компетенции некоторыми soft skill, дополняющими hard skill. По сути, сформировался корпус новых Essential Skills, которые лежат в основе. И Сергей приводил слайд со списком этих технологий от Яна-Мартина Левендаля из Gartner: умение учиться и аппетит к новым знаниям, аналитическое мышление, решение комплексных задач, умение работать с людьми, умение работать с технологиями, критическое мышление, креативность, селф-менеджмент, сопротивляемость стрессу и гибкость, лидерство и умение влиять на окружающих. И сказал, что часики - тикают, пора бы осваивать.

А я, глядя на этот список целиком, неожиданно понял, что все они покрываются курсами Школы системного менеджмента Анатолия Левенчука https://system-school.ru/ - я в начале апреля был у них на конференции, подробности можно посмотреть в моем отчете, поэтому картина сложилась. Да, набор курсов организован иначе, в своей внутренней логике. Курс онтологики и коммуникаций ставит аналитическое и критическое мышление, а также коммуникацию, при чем умение не только рассказывать свою мысль, но и быть убедительным. Тема мышления далее развивается в курсе системного мышления, при этом не только то, которое позволяет решать известные задачи, но и то, которое позволяет решать ранее неизвестные задачи. Включая задачи, для которых преподаватели и никто другой не знает способов решения, их надо придумать. Системный менеджмент далее развивает тему организации коллективной работы. Вводный курс Системного саморазвития - как раз про селф-менеджмент, умение относиться к себе как к проекту, ставить достигать цели, формулировать и решать задачи, и это же есть в других курсах. И так далее. При этом вводные курсы в чистом online-формате, без работы в группе с преподавателем, но с решением домашних задач для закрепления материала практикой стоят смешные 2тр. С преподавателем, конечно, дороже. А еще надо быть готовым инвестировать свое время - в большинстве курсов помимо пары часов в неделю интерактива с преподавателем надо быть готовым на 8-10 часов просмотра лекций, работы с источниками и выполнения домашних заданий. Без этого - не работает. И да, умение учиться курсы ставят, вернее, школа их непрерывно совершенствует для того, чтобы они были понятны и осваивались, но вот желание учиться и тяга к освоению знаний требуется от вас на входе. Так что, хотя часики тикают, возможности уже есть. А вообще Анатолий осенью выступал на SQAdays, так что можно посмотреть видео его доклада.

Виктор Капралов. Тестирование ARkit & ARCore. Очень интересный доклад про тестирование приложений дополненной реальности. Ты идешь с телефоном, камера показывает окружающий мир, на который ты вешаешь собственные маркеры объектов. Базовый функционал предоставляется платформами от Apple и Google, а твоя разработка - поверх них. И это сложнее, чем чистая виртуальная реальность, потому что там все окружение создается у тебя в шлеме, а тут надо виртуальные объекты хорошо синхронизовать с реальными в движении. Включая проблемы, связанные с тем, что телефон вовсе не находится на стабильно двигающимся штативе, он в руке, которая достаточно активно движется сама по себе. При этом камера телефона и базовые библиотеки дают надежную разметку только примерно в 5 метров, и хорошо выделяют горизонтальные плоскости - дорогу и пол, со стенами хуже. Собственно, поэтому многие демонстрационные ролики - в помещениях, а не на открытом воздухе, и телефон часто смотрит в пол или на стол, на котором и появляются дополнительная разметка. А вот если смотреть на здания и облака - все весьма сыро.

Иван Лукьянов. Мониторинг прода силами тестировщиков. Сообщение доклада сводится к тому, что если вам нужен только алертинг по запросам к базе данных, то есть хороший инструмент - Redash. Он умеет хранить запросы, выполнять их по расписанию и отправлять уведомления. Правда только на почту и slack. Зато создать алерт там много проще чем в Grafana, где алерты завязаны на визуальные представления, а они тут не нужны. А еще все коннекторы бесплатны, а для Grafana некоторые платны. При этом еще можно настраивать таймаут и другие параметры, чтобы если запрос оказался нагружающим - он срубился. Интересно, буду иметь ввиду.

А задача, которую решали - мониторинг, что собственная система аналитики с прода работает и передает данные. И поэтому важно проверять именно прод. Собственная система аналитики была разработана потому, что Google Analytics, которая ранее использовалась, по утверждениям Ивана вместо выдачи честных данных начал выдавать предсказания о них.

Максим Плавченок. Как мы добились нуля ошибок по итогам интеграционных тестов. Рассказ о практиках для уменьшения количества ошибок. Как хорошо знающий теорию, я многие практики опознаю, они известны в разных вариантах. А фишка в том, что собранное у них - собирается из разного и уместного благодаря ретроспективам. Это принципиальная разница подхода: мы не берем готовый процесс, а набираем его из разных практик. При этом люди, естественно, интересуются как ведут тестирование в разных местах и предлагают известные практики - но именно уместные для проблемы.

Василий Буров, Kaspersky Lab. Применение практик этичного хакинга при тестировании Windows приложений. Была интересная демонстрация уязвимостей Windows, которые могут быть использованы для целевой атаки на компанию. Этап предварительного проникновения завершается, когда неосторожный сотрудник открывает файл в почте или переходит по ссылке, и антивирус это почему-то не ловит. Тогда злоумышленник получает доступ под именем этого сотрудника на его локальную станцию, обычно с правами простого пользователя. Для реальной атаки надо дальше повысить привилегии до администратора домена. И вот тут дырами могут быть собственные приложения компании, развернутые на компьютере, если они написаны не аккуратно. Например, если сохраняют пароли с отладочных логах, которые потом не удаляют. Или прописывают пути с пробелами и без кавычек. Или директория, где установлено приложение, не защищена на запись от пользователя. И ряд других дырок. Информации было не так много, зато были ролики с живыми демонстрациями, как оно реально используется. При этом, оказывается, современный powershell позволяет удаленно скачать внешнюю утилиту из сети и ее исполнить без установки на диск, просто в памяти - то есть не оставляя следов. Интересненько.

Dmitry Gusakov. По-настоящему автоматизированные API тесты. Ребята сделали фреймворк, который по Swagger-описанию API и некоторым обобщенным шаблонам создает набор тестовых данных и тестовых вызовов этого API. Их первая идея - взять готовое, обнаружили много генераторов, но все они требуют уже подготовленных данных, создают только вызовы. Для подготовки данных они опираются на описание модели данных, на которой размечена обязательность полей и возможность их изменения, а так же необходимость наличия определенных объектов для прохождения теста, в том числе косвенных. Например, когда для создания объекта backup необходимо не только наличие сервера-источника и файловой системы-получателя, но еще особого объекта connection, описывающего связь между ними. Фреймворк выложен на gitHub в общий доступ, так что можно пользоваться и дорабатывать.

Ilya Roslyakov. Как Wargaming Platform прод шатает? Очень интересный доклад, посвященный тому, как Wargaming нагружает production-сервера, тестируя устойчивость к нагрузкам и к сбоям инфраструктуры, таким как падение свитча или сегмента сети, после которых идет массовое переподключение. Для чего? А для того, чтобы иметь уверенность что при реальных пиковых нагрузках - на праздники, в периоды распродаж и рекламных акций сервера это дело выдержат. ПРи этом иногда такие тесты реально роняют сервера, и компания несет потери - но они меньше потерь от падений в пиковые пользовательские нагрузки. Собственно, именно поэтому такая практика началась - были неприятные падения на целые сутки, потери от которых были ощутимы. Теперь, после введения такой практики их нет. Для стабильных продуктов тестирование идет несколько раз в год, в предверии ожидаемых пиков, а для тех, которые только развиваются, и на которые нагрузка растет - чаще, потому что отрицательный опыт пользователя, который только пришел может негативно сказаться надолго. Проводится все это по ночам, помимо команды тестирования есть команда оперативного реагирования для реанимации в случае падения, План-Б на случай падений и так далее. Об этой технологичной организации и был рассказ.


Юлия Абрамова. Оглянись вокруг: возможности для твоего развития находятся совсем рядом с тобой. Рассказ о том, чему может научиться тестировщик в процессе совместной работы и коммуникации у других членов команды - разработчиков, тимлидов, продуктов, девопсов, аналитиков, дизайнеров. Например, если родукт или тимлид интересуется какой-то задачей, о имеет смысл спросить себя - а почему интересует именно эта задача, чем она отличается. Ну и спросить, если ответ не очевиден. И это - шаг к пониманию мышления, управления приоритетами и другим аспектам работы, при чем на практике, а не в теории. Зачем учиться? Для того чтобы понимать работу комплексно и потому лучше выполнять свои задачи, а еще - чтобы понять, хочешь ли ты развиваться в сторону этих специализаций. Тут может показаться, что в докладе говорят известные вещи. Но это - не так, известны они тем, кто уже представляет работу IT-команды в комплексе, с различными ролями. А вот если ты в индустрии недавно, то доклад тебе даст те фокусы, которые важны в работе смежников, и которые ты можешь увидеть. Можно, конечно, наблюдать вообще за всем - но это требует гораздо больше внимания и сил. Фокусировка облегчает задачу.

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

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

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.