Сергей Лебедев | QA
5.35K subscribers
141 photos
74 videos
2 files
164 links
QA Lead в big tech компании. Делюсь своим опытом в тестировании, составлении резюме, собесам и росту в карьере. Подпишись 🤗
youtube:
https://www.youtube.com/@qabigtech
Чат канала https://t.me/+NT-IOeLALxszN2Zi
Автор @serzh52
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Вернулся в Нижегородский офис после стратсессии.❤️

И главной целью на следующие полгода стала автоматизация.

Да, я уже говорил о своем отношении к этому ТУТ 🤔

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


Но примеры успешных Fullstack-QA специалистов много, а запрос бизнеса сейчас именно такой, и главное — бизнес готов за это платить. 😅

Поэтому с сегодняшнего дня я погружаюсь в автотесты на стеке TS + Playwright (самый популярный на текущий момент).

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


А так как я люблю всякие марафоны, решил провести еще один — "60 дней с нуля в автоматизацию", где я познаю весь прекрасный мир автотестов, столкнусь с 1000 подводных камней и в итоге смогу стать автоматизатором, или нет.😺

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


Здесь спамить не буду, дам только итоги. А если интересно посмотреть ежедневные отчеты, задать вопросы и получить поддержку, приглашаю в свое закрытое сообщество QA Profi, где помимо марафона есть чаты взаимопомощи по составлению резюме, прохождению собеседований и обучению профессии.

Там я и мои коллеги помогаем начинающим тестировщикам ответами на все вопросы.👍

Всем отличной недели, а я пошел публиковать отчет о первом дне погружения в автотесты!🎉
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1854👍31
Это фотографии с весеннего SQA Days 36, где я выступал с докладом "Как расти и растить с ИПР и матрицей компетенций".

SQA Days — это конференция для специалистов в обеспечении качества, где QA и тестировщики обмениваются знаниями и опытом, знакомятся и круто проводят время!


Я уже дважды выступал на ней и сейчас расскажу почему:

🚀 Нетворкинг на максимум!
Когда вы приходите на конференцию в качестве спикера, заводить знакомства становится гораздо проще — люди сами подходят, знакомятся, задают вопросы, предлагают помощь.

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

🎤 Крутые доклады!
Когда я полтора года назад впервые попал на конференцию, я был выгоревшим человеком, не знавшим, куда двигаться дальше, но несколько докладов меня невероятно зарядили, особенно от Леши @pifagor_mc и Руслана @Ruslan_Ostropolsky. Ребята вдохнули в меня жизнь, и я наконец понял, куда хочу двигаться и главное — как! Об этом, кстати, и был мой доклад на SQA36.

💰 Деньги!
Мало кто об этом говорит, но выступления на конференциях часто поощряются компаниями как деврел-активность, за которую дают премии. Конференции часто проходят в выходные, а выступление — это тоже работа, поэтому часто это х2 зарплата. Конференции проходят в других городах, и поэтому туда нужно ехать, а это командировочные и суточные + жилье в классном отеле как бонус.

🎮 PlayStation 5!
Каким образом это связано? Но этой весной мне её подарили за 2-е место в категории "Лучший доклад", и это было неожиданно и приятно! Спасибо каждому, кто голосовал — благодаря вам я познал прекрасный мир God of War. 😅

И все эти плюшки лишь за то, что я рассказал о своей работе, которой и так занимаюсь, просто разложил ее по слайдам и рассказал. ВСЁ!😺


Поэтому, если давно хотели выступить у вас есть шанс подать заявку до 10.08 по ссылке (меньше недели получается)

Я всех своих коллег подбиваю участвовать в конференциях и митапах, но часто слышу одно и то же: "Мне нечего сказать", "Уже про всё сказали", "Кому это всё интересно?"🙀

И знаете, мне есть что ответить на это. Более того, я пригласил организаторов SQA Days на прямой эфир в этот четверг, и мы обсудим всех этих тараканов, которые мешают круто выступить и получить удовольствие от процесса!

А еще, организаторы обещали рассказать об изменениях которые будут в программе осенней конференции SQA Days 37!


Приходите на прямой эфир в этот четверг в 19:00 в этот Telegram-канал, и узнаете, как найти идею для доклада, как наполнить его содержанием, сделать его интересным и полезным. Всё разберем на реальном примере моих докладов!

Ну и, конечно, ответим на все вопросы, которые вы оставите под этим постом. Пишите!!! Ставьте 🎉, если тема для вас актуальна. Увидимся в четверг. ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
2207🔥74👍1
Live stream scheduled for
Я к вам с отличными новостями по поводу завтрашней встречи!

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

Условия:
1. Быть подписанным на этот канал: https://t.me/qabigtech и на группу SQAdays: https://t.me/sqadays.
2. Написать свой вопрос к встрече под этим постом для меня или организаторов.
3. Быть на прямом эфире!

Поэтому подписывайтесь, пишите свои вопросы, и увидимся завтра в 19:00! 🎉
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍4🔥43
Media is too big
VIEW IN TELEGRAM
Финально допричесываю презентацию🎉

Я расскажу весь свой спикерский опыт, пройдемся от поиска идеи до непосредственного выступления на сцене!😅

Обязательно приходите, стартуем через 30 минут

ссылка на эфир
Please open Telegram to view this post
VIEW IN TELEGRAM
5🤝22
Live stream finished (2 hours)
This media is not supported in your browser
VIEW IN TELEGRAM
А у вас было такое «погружение» на новой работе ?🙀

Чет неделя трудная выдалась, а как у вас? Скидывайте что вас порадовало на неделе, в комментарии, пора выдохнуть и посмеяться 🎉

Всех с наступающими выходными 😅

#мемница
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣139💯2😁11
Media is too big
VIEW IN TELEGRAM
"Если ты не автоматизируешь, зачем знать про автоматизацию?"

Так мне ответили на собеседовании, когда я задал стандартный вопрос: "Что можно автоматизировать, а что нельзя?"

Мне кажется, это БАЗА. Даже если на проекте ещё нет автотестов, возможно, с тебя они как раз и начнутся. Автоматизация — это не просто модное слово, и внедрять её нужно не потому, что так модно, а потому что это способ снизить рутину ручных проверок и избежать проблем типа: "Я недоглядел!" и "Ой, блин, пропустил!", когда в тысячный раз выполняешь одни и те же тесты.🙀


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

Поэтому важно держать баланс между автоматизацией и ручным тестированием на проекте, и главное — не писать автотесты "в стол".

Потому что и такие истории бывают!

Автотесты пишут, но при этом они не интегрированы в пайплайны и запускаются у одного какого-то QA/DEV, а остальная команда никак с автотестами не взаимодействует!

Поэтому автоматизация должна быть прозрачной!😅

И бизнес готов платить за это, потому что ручной труд QA специалистов не намного дешевле зарплаты разработчика, а задач у QA, помимо "нажимания кнопок", выше крыши: анализ требований, составление стратегии и плана тестирования, анализ результатов, а также внедрение и влияние на метрики обеспечения качества. Всё это ценно, и пока с этим не может справиться ИИ.

Поэтому базовое понимание процесса автоматизации у QA должно быть, даже если автоматизацию выполняют разработчики. Что именно они автоматизируют, понимать надо, а то мало ли что они там покрывают🤔

По традиции, с вас 🎉, если согласны, а если нет — пишите в комментариях, с чем не согласны, поболтаем.❤️

#воскрессобес
Please open Telegram to view this post
VIEW IN TELEGRAM
48👍5🔥31
Please open Telegram to view this post
VIEW IN TELEGRAM
83👍1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Уже больше двухсот голосов, большое вам спасибо 😅

Кто еще не голосовал, проголосуйте, пожалуйста, ваш голос очень важен 👍

Для меня это важно в первую очередь потому, что после ревью у меня прибавилась зона ответственности и пришло +3 QA-инженера в команду. Таким образом, у меня теперь будет 11 человек, что уже немало.

И я уже сейчас чувствую, что начинают появляться косяки, и мне это не нравится 😡


Мне повезло — все мои руководители были крутыми, со своими приколами, конечно, но поругать их особенно не за что!

Но я слышал разные истории про руководителей, и мне не хочется допустить эти ошибки, своих хватает 😂

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


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

Когда соберем данные, я их использую для самоанализа и сделаю доклад, где соберу свой опыт становления лидом, что прокачивал, что недостаточно прокачивал и вообще "Что качать, чтобы стать лидом и не выгореть".

Ставьте 🎉, если горите, но не выгораете, и голосуйте в опросе ниже:
Please open Telegram to view this post
VIEW IN TELEGRAM
105👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53👍2
Ровно год назад я опубликовал интервью с Димой, моим коллегой, который в том году пришёл к нам в Лавку 💙 без опыта, стажёром тестировщиком, а год спустя он уже стал Middle QA!😅

В новом видео на канале можно узнать о пути Димы от стажёра до мидла, его типичном рабочем дне, о процессах и команде, а также о плюсах и минусах работы в Яндексе: Смотрите на Ютуб.👍

Для начинающих тестировщиков Дима поделился полезными ссылками, которые сам использовал при обучении и развитии в профессии QA:
- QA-библия
- Бесплатный курс по тестированию на Stepik
- Тренажер начинающего тестировщика (Задача с собеседований)
- Десятичасовой курс по JavaScript

Диман, ты — красава! В смысле, очень красивый, ну и коллега вроде норм. Продолжай в том же духе, рад с тобой работать!❤️


Ставьте 🎉, если понравился формат. В следующем видео — обзор офиса, как и обещал!
Please open Telegram to view this post
VIEW IN TELEGRAM
38❤‍🔥86🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
А как у вас проходят встречи по проектам ?🤔

#мемница а это значит, можно немного расслабится, накидайте смешного в комментарии, плиииз🎉
Please open Telegram to view this post
VIEW IN TELEGRAM
😁27🤣9👍22
Media is too big
VIEW IN TELEGRAM
Сегодня 14-й день моего погружения в автоматизацию!🎉

За это время я успел написать 2 автотеста. Один уже на проде, а второй проходит через муки код-ревью.

На самом деле тесты на нашем проекте писать несложно благодаря прекрасной организации кода автотестов с помощью Page Object Model.

У каждой страницы приложения есть отдельная папка с тестом, а также вынесены фикстуры, хелперы и весь низкоуровневый код.

Тесты читать — одно удовольствие. Даже без знаний кода достаточно базового английского!😅


Это нереально упрощает вход для новых автоматизаторов, но вместе с этим и усложняет его!😺

Я в начале сказал про муки код-ревью. Оно у нас достаточно жесткое. Нельзя писать автотесты как попало, нужно опираться на КОДЕКС — свод правил, как писать автотесты правильно!

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

Приятно работать там, где так заботливо подходят к организации автоматизации, ведь так бывает далеко не всегда!🤔


Поэтому, просматривая записи собеседований автоматизаторов и мок-собесы, я постоянно натыкался на вопросы про POM.

Бизнес заинтересован в том, чтобы даже тесты были быстро читаемыми и легко поддерживаемыми для их масштабирования и поддержки.

Если вы хотите тоже погрузиться в автоматизацию, этой теме нужно посвятить отдельное время в программе обучения. Ведь это не просто Best Practice — это то, что точно спросят на собеседовании.🎉

#воскрессобес
Please open Telegram to view this post
VIEW IN TELEGRAM
119👍5🔥2
Наконец-то завершил видео про нижегородский офис Яндекса.

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

Видео уже на канале. Приятного просмотра:
Смотреть видео

Как вам видео? Пожалуйста, дайте обратную связь. Сейчас готовлю видео про офис "Лавки" в Москве и хочу сделать его еще лучше!

Как только пост наберет 100 реакций 🎉, выпускаю следующее видео про офис.
Please open Telegram to view this post
VIEW IN TELEGRAM
25👍173🔥2
Вчера отметили выпускной Летней Школы Обеспечения Качества Яндекса 🎉

Три месяца пролетели, как миг, и за это время вы стали для меня по-настоящему родными людьми ❤️

Было сложно, я знаю, но вы справились, и я вами горжусь!


Что было:
• Пришло более 3000 заявок в школу.
• Ребята решили непростые отборочные задачи и прошли собеседование.
• Более 70 студентов зачислены после строгого отбора.
• За два месяца реализовали четыре полноценные проекта: автотесты на API, функциональные тесты, скринтесты и автотесты под Android и iOS.
• Писали на четырех языках программирования (Java, Kotlin, SWIFT, JavaScript).
• Меньше чем за месяц реализовали настоящий боевой проект вместе со студентами других школ (фронтенд- и бэкенд-разработчиками, менеджерами, аналитиками, девопсами и дизайнерами).

Над проектом трудились более 50 коллег (менторы, лекторы, собеседующие, менеджеры, методисты).

Вам тоже хочется сказать огромное спасибо, без вас бы ничего не получилось, это точно 🙏


Сейчас готовим портфолио студентов и начинаем нанимать, то есть работа над ШОКом не заканчивается, а наоборот выходит на самый важный этап!

Скоро проведем ретро и обсудим, что было круто, а что можно улучшить, чтобы в следующем году сделать школу еще более полезной для студентов 🎉

… Слезы радости
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥321612🔥3👍1😭1
Media is too big
VIEW IN TELEGRAM
20 день моего погружения в автоматизацию на TS+Playwright и сегодня хочу поговорить про ожидания !

Это головная боль автоматизаторов из прошлого, потому что в Selenium были только явные ожидания, которые нужно прописывать и про это душили на собесах. 😡


Базово в Selenium используется Polling-based подход:
Selenium постоянно опрашивает DOM каждые 500мс

В Playwright же используется Event-driven подход:
Playwright слушает события браузера и реагирует мгновенно

И это уже жирнючий плюс к скорости PW автотестов!


Подготовил для себя и вас памятку по ожиданиям в PW , сохрани чтобы не потерять :

Явные ожидания элементов на странице:
test('явные ожидания элементов', async ({ page }) => {
await page.goto('https://example.com')
// Ожидание появления элемента
await page.locator('#dynamic-content').waitFor()
// Ожидание видимости
await page.locator('.modal').waitFor({ state: 'visible' })
// Ожидание скрытия
await page.locator('.loading-spinner').waitFor({
state: 'hidden',
timeout: 5000
})
// Ожидание присутствия в DOM
await page.locator('#new-item').waitFor({ state: 'attached' })
// Ожидание удаления из DOM
await page.locator('#removed-item').waitFor({ state: 'detached' })
})

Ожидания страницы:
test('ожидания состояния страницы', async ({ page }) => {
await page.goto('https://example.com')
// Ожидание полной загрузки
await page.waitForLoadState('load')
// Ожидание завершения сетевых запросов
await page.waitForLoadState('networkidle')
// Ожидание готовности DOM
await page.waitForLoadState('domcontentloaded')
// Ожидание конкретного URL
await page.waitForURL('**/dashboard')
})

Ожидание API запросов: (работает из коробки и постоянно использую в АТ)
test('ожидания API запросов', async ({ page }) => {
// Ожидание конкретного запроса
const responsePromise = page.waitForResponse('**/api/users')
await page.locator('#load-users').click()
const response = await responsePromise
expect(response.status()).toBe(200)
// Ожидание запроса с условием
const apiResponse = page.waitForResponse(response =>
response.url().includes('/api/data') && response.status() === 200
)
})

Ожидания событий:
test('ожидания событий браузера', async ({ page }) => {
// Ожидание новой страницы/вкладки
const [newPage] = await Promise.all([
page.context().waitForEvent('page'),
page.locator('#open-new-tab').click()
])
// Ожидание скачивания файла
const [download] = await Promise.all([
page.waitForEvent('download'),
page.locator('#download-btn').click()
])
await download.saveAs('./downloads/' + download.suggestedFilename())
})

И кастомные ожидания с waitForFunction:
test('кастомные ожидания', async ({ page }) => {
await page.goto('https://example.com')
// Ожидание изменения количества элементов
await page.waitForFunction(() => {
return document.querySelectorAll('.item').length > 5
})
})


На собесах, вопросы про ожидания в автотестах тоже часто присутствуют, поэтому сохраняй, чтобы не забыть !

С вас 🎉 если было полезно!

#воскрессобес
Please open Telegram to view this post
VIEW IN TELEGRAM
255👍3🔥3