Заметки о QA
3.55K subscribers
16 photos
4 files
72 links
Семь раз погугли, один раз ответь

Сборник всех постов📁: https://tlabchuk.tilda.ws/useful
Boost🚀: https://t.me/boost/notes_about_QA

Админ @lilovaya_korova
Download Telegram
Полезное про Selenoid

Selenoid - инструмент, который позволит вам запускать ваши UI или Anrdoid автотесты параллельно и изолированно в Docker-контейнерах. Рекомендую для первоначального ознакомления обзорный гайд по Selenoid

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

Варианты запуска Selenoid

1️⃣Скачать подготовленный образ с помощью curl или через браузер из официального github
Инструкцию для запуска образа можно почитать в документации либо рекомендую статья для windows.
Для macOS мне подошла вот эта статья (это medium, поэтому запуск через VPN)

2️⃣Самостоятельно создать docker образ (либо docker-compose), файл конфигурации браузеров (browser.json) и запустить сборку контейнеров через консоль.
Самостоятельное создание позволит гибко подойти к образу, необходимым вам браузерам и их настройкам
Примеры для самостоятельного создания
- Минимальный пример написания docker compose и browser.json
- Пример docker compose + browser.json и описание работы
- Настройка Selenoid для запуска UI-тестов на Android

Функции, которые понравились мне

Selenoid UI: инструмент для визуального отображения работы с Selenoid. Позволяет просматривать результаты тестов и прочую информацию, а также подключаться к тестам в режиме реального времени*
для этого необходимо включить опцию VNC в capabilities
 Доступ к видеозаписям прогонов
В инструменте есть возможность записи видео прохождения автотестов.
Мне кажется, что это очень удобная функция для добавления видео в баг-репорт.
В процессе работы я столкнулась с проблемой того, что видео прогона не записывалось. Что помогло мне:
- настроить файл docker-compose.yml: указать пути к папкам, где будут сохраняться видеозаписи, и прописать соответствующие команды в command
- создать папки для дублирования видео из docker в файлы
- настроить capabilities* в автотестах, которые можно подсмотреть на соответствующей вкладке в Selenoid UI
* Capabilities определяют возможности браузера во время тестирования
Также для кастомизации запуска видео рекомендую статью про Extensions (Java)

Прочие рекомендации
Более подробный пример работы с Selenoid (Java)
10🔥7
Советы для автоматизации [2]
Первую часть советов можно почитать тут, также рекомендую полезные советы по инструментам для программирующих на Java.

- Автоматизация тестирования - это инструмент для достижения цели, а не сама цель.
Часто, когда работаешь full-stack QA, легко увлечься автоматизацией и улучшением кода, забывая о главном — обеспечении качества функционала.
Поэтому хочется напомнить, что автоматизировать нужно для того, чтобы это приносило пользу бизнесу и помогало улучшить качество продукта, а не просто для того, чтобы писать код.

- Чаще учите и используйте горячие клавиши в своей IDE.
Не ленитесь запоминать сочетания клавиш в ваших средах разработки. Это поможет ускорить процесс написания кода и облегчить вам ежедневные повторяющиеся действия.

Мои любимые сочетания клавиш (macOS, IntelliJ IDEA):
cmd + click (либо b) - отображение, где метод/класс/прочее используется в коде
double shift - быстрый переход к классу/функции
option + cmd + l - форматирование кода (сделать по всему классу правильные отступы)
cmd + w - закрытие вкладки
control + options + o - удаление неиспользуемых импортов (также рекомендую включить автоматическое удаление таких импортов)
shift + options + click - курсор на несколько строк
cmd + d - дублирование строки без ее выделения и копирования
(буду рада увидеть ваши любимые горячие клавиши в комментариях)

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

- Разрабатывайте тестовые сценарии, учитывая реальных пользователей API.
Покрывать тесты и придумывать варианты использования - это хорошо. Но иногда эффективнее заглянуть к тем, кто использует бэкенд. Например, фронтенд.
Изучите, какие данные отправляются, какие запросы участвуют в работе и как происходит обработка ответа. Есть ли вариации, которые не описаны в ваших автотестах? Ведь именно реальные пользователи бэкенда находят баги, а не тесты в вакууме.

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

- Используйте плагины для поддержания стиля кода.
Одним из способов улучшить качество кода и упростить процесс ревью является использование линтеров, например, Checkstyle. Они позволяют автоматически проверять ваш код на наличие распространенных ошибок.
Например, подсветит вам неиспользуемые методы, усложнение кода и прочие несоответствия стилю.
Такие инструменты помогут поддерживать высокое качество кода и избегать мелких ошибок, которые так и норовят образоваться в коде.

See you soon

#автоматизация #java #советы
119👍7🔥5
Как рассказать о себе на собеседовании?

Один из этапов собеседования - это рассказ о себе.
Зачем рассказывать о себе? Ведь кажется, что резюме уже отражает весь опыт кандидата. Но в живом рассказе выделяются детали, которые важны для самого человека, подробности о процессах в компании и роли в команде, огонь в глазах при рассказе о любимом рабочем процессе и много чего ещё, что позволяет лучше понять, подходит ли кандидат нанимающей компании.

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

1. Имя, должность и количество лет в профессии.
2. Рассказ о последнем месте работы
.
- продукт
- состав команды
- занимаемая роль
- обязанности
- соотношение автоматизации/мануального тестирования, web/mobile/desktop
3. Стек инструментов.
4. Рабочие процессы
.
- методология разработки на проекте
- события команды (рабочие созвоны по типу дейли, груммингов, планирования)
- степень влияния на продукт
- участие в ревью документации
- этап создания продукта, на котором начинаешь тестирование
- участие во вне командных активностях компании
5. Зоны ответственности в команде/компании.
- проведение релиза
- онбординг
- внедрение продуктов
- проведение собеседований
- особые достижения, на которые хочется обратить внимание
6. Подчеркнуть релевантный опыт для компании.

Дополнительно можно рассказать о том, что ты ищешь в новой работе и почему хочешь сменить текущее место.

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

Полезный материал
1. Youtube-видео Самопрезентация учит нас доносить идеи

#собеседование
5🔥475👍3
(план в виде картинки)
🔥6073👍2
🎄Новогодние советы 2.0🎄

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

Про баги
- За баг нет одного ответственного - это часть общих усилий и ошибок. Аналитик не прописал требование, разработчик не добавил это в код, тестировщик пропустил при проверках. Не обвиняй только себя, лучше постарайся сделать вывод и не повторять ошибок.
- Баги на проде - это часть работы тестировщика, а не наша смерть. Когда мне говорят, что не пропускали на прод серьезный баг, то у меня есть три объяснения: ты единорог, в твоем продукте нет пользователя или ты еще не нашел этот пропущенный баг. Баг пропускали все, это часть рабочего процесса.

Общение с другими участниками команды
- Обязательно записывай все артефакты, которые возникают в процессе обсуждения. Это позволит вспомнить, о чем вы говорили, не упустить todo и иметь аргументы во время спорных моментов.
- Формулируй свой вопрос, проведя предварительное исследование. Мне часто хочется побыстрее написать с вопросом другому участнику команды, не изучив вопросов поглубже. И иногда это заканчивается тем, что я использую другого человека как уточку и просто зря трачу его время. Не делай так, подходи к этому ответственно.

Про планирование и время
- Намечай свой карьерный путь. План помогает упростить движение к цели, а отсутствие плана заставляет прыгать с места на место и терять время на вещи, которые тебе не интересны. Не поленись и подумай, что ты хочешь от работы. Это позволит тебе быстрее вырасти.
- Научись оценивать свое рабочее время. В этом году я плотно подсела на toggl track (наконец!). Сейчас я четко могу сказать, чем я занимаюсь, сколько я этим занимаюсь и прогнозировать сколько еще я буду этим заниматься. Рекомендую!
- Не переживай, если не понял с первого/второго/десятого раза. Все знания, которые ты получаешь, смогут помочь тебе в будущем, даже если кажется, что это не так. И ты обязательно когда-нибудь поймешь! Дай мозгу сделать свою работу.
- Очень часто стоит потратить время на то, что ты откладываешь. Например, наконец научиться запускать автотесты через консоль, а не руками. Или написать свод правил для работы. Кажется, что это не сильно ускорит работу, но практика показывает, что ускорение/упрощение/изменение рутины приводит к повышению эффективности.
- Критерии приемки - это круто! Тут добавить нечего.

И пусть каждая ошибка приносит вам опыт, а не боль. С наступающим 💫
55👍6
Критерии выбор компании

Несмотря на то, что рынок сейчас не самый горячий, каждый из нас может в любой момент выйти "в активный поиск". И если ты уже начал/а искать новую работу, то стоит подойти к этому основательно.

Когда тебе присылают оффер, часто можно потерять голову и согласиться на первое, что предлагают (особенно когда у тебя нет карьерного пути). Знаю по своему прошлому опыту...

Стоит ли так делать? Определенно нет. Особенно в случае, если офферов у тебя несколько и есть возможность выбрать будущую компанию.

В такой ситуации я выписала себе критерии выбора компании:
- будущий стек технологий
- возможность роста
- заработная плата
- формат работы
- команда и мой комфорт общения с ней
- все особенности, связанные с типом компании (статусность, ограничения и прочее)
- дополнительные плюшки от компании
- (добавьте свое)

Для удобства я распределила все критерии в категории и создала некую схему, чтобы можно было быстро вспомнить, что важно при поиске компании
(⬇️в хорошем качестве)

#собеседование
19👍9
Но это не все!

Для еще большего удобства я составила таблицу (тык сюда, чтобы перейти в google excel), которую можно использовать в качестве отбора вашей будущей компании.

В ней выделила уже перечисленные критерии и варианты ответа о его наличии в конкретной компании.

Таблицу можно скопировать к себе и менять под свой запрос (файл -> создать копию).
Также в комментарии добавлю информацию, как создавать новое правило, если вам понадобится увеличить таблицу.

Таким образом у вас будет возможность объективно оценить, подходит ли компания под ваш запрос или нет🌸

Надеюсь, что с помощью этой таблицы сделаю вам поиск новой работы чуть приятнее. И пусть удача всегда будет с вами (хих)
🔥605
🌸Рекомендация авторских каналов про тестирование🌸

Год назад (даже больше!) я рекомендовала вам подборку авторских каналов про тестирование. И хочу снова напомнить о ней.

Все каналы прошли повторное экспертное ревью небольшого сообщества - каналы живые, интересные и уникальные. Контент абсолютно разнообразный, поэтому подойдет каждому.

👉 Добавить подборку
15
🐛 Плавающие баги и как их искать

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

Конспект сделан на основе доклада SQA Days-28 (крайне рекомендую к просмотру!)
👩‍💻 Докладчица: Анна Васильева (ныне Куренова)
🎯 Тема: "Поиск плавающих багов"

Главное из доклада:
- Что такое плавающие баги
- Типичные причины возникновения плавающих багов
- Состояние гонки (Race condition) как одна из самых интересных причин появления плавающего бага
- Как искать плавающие баги
- Почему их стоит искать
В свой конспект добавила личную историю о моем пропущенном плавающем баге, а также кучу моих интерпретаций доклада.

📝 Конспект с моими веселыми заметками вы можете почитать тут
🔥31👍7
Полезные ресурсы для изучения алгоритмов🧩

Нужно ли знать алгоритмы для автоматизации тестирования? Достаточно холиварный вопрос, на который у меня нет однозначного ответа (скажем так, я агностик в этом вопросе, хи-хи). Но если у вас есть свободное время и желание, то алгоритмы точно не ухудшат вашу автоматизацию (скорее даже наоборот).

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

Где учиться:
- Курс на stepic
- Основные алгоритмы: хендбук от Яндекса
- Бесплатный курс "Подготовка к алгоритмическому собеседованию" (требуется базовое знание алгоритмов)
- Обзорная статья про алгоритмы на хабре. Отлично подойдет для повторения.
(К сожалению, оригинальную статью удалили, но удалось найти её сохранённую копию на Хабре)

Как практиковаться:
- Замечательный тред о том, как подходить к решению задач
- Платформы для тренировки алгоритмов: leetСode, hackerRank, codewars

Мне нравится подход к алгоритмам как к увлекательному занятию! Ведь это всего лишь решение интересных задач! Итак, не бойтесь начинать - всё получится

#автоматизация #программирование
🔥213🥰3👍1