Заметки о QA

Description
Семь раз погугли, один раз ответь

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

Админ @lilovaya_korova
Advertising
We recommend to visit
HAYZON
HAYZON
5,777,024 @hayzonn

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 1 month, 1 week ago

Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.

Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support

Last updated 1 month ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 1 month, 3 weeks ago

4 months, 1 week ago

Как рассказать о себе на собеседовании?

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

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

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

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

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

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

4 months, 3 weeks ago

Советы для автоматизации [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 #советы

5 months, 1 week ago

Полезное про 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)

5 months, 2 weeks ago

Подборка каналов про тестирование

В начале этого года я делилась с вами подборкой tg-каналов про тестирование.

С тех пор прошло больше полугода, и мы тщательно пересмотрели этот список, чтобы убедиться, что каждый канал предлагает уникальный и ценный контент.

Сегодня я рада представить вам обновлённую версию этой подборки!
Готовы погрузиться в мир тестирования? Тогда жмите на ссылку ниже и начинайте исследовать! ?

https://t.me/addlist/PNmSaWa9ktw2YjRi

Telegram

QA Лучшее

Anton Duenin invites you to add the folder “QA Лучшее”, which includes 42 chats.

5 months, 3 weeks ago

Чем могут быть полезны Extensions в JUnit5

Extensions - список интерфейсов, которые появились в JUnit5. Они расширяют работу с жизненным циклом в автотестах.

Чем поможет
Сделает работу с автотестами гибкими.
Например, раньше мы могли работать в рамках автотеста только с Before и After. Благодаря extensions вы можете значительно повлиять на работу автотестов, сравните хотя бы количество этапов в жизненном цикле (картинка по ЖЦ автотеста в junit5).
Теперь легко повесить общую аннотацию @Something на класс автотестов, внутри которой будет реализация полноценной настройки окружения. Это позволит не дописывать в каждом новом классе велосипед, настраивающий окружение.

Примеры использования интерфейсов
- ExcisionCondition: может создать условие для запуска теста. Например, вы хотите запускать тесты только на ОС = Windows. Мы создаем реализацию класса и особенности запуска, добавляем его к классу и вуаля, ваш тест имеет особенности запуска.
- ParameterResolver: позволяет предоставить параметры для автотестов. Например, у вас специфический тип в параметрах, и вам нужно гибко его передавать, а стандартной работы JUnit5 вам не хватает.
- TestWatcher позволяет сделать что-то при падении или запуске теста. Он следит за тестами и ходом их выполнения.
(полная документация всех интерфейсов в extension)
В рамках extension мне очень нравится такой класс как ExecutionContext, который позволяет получить доступ к данным о тесте, его местонахождении, параметрам запускам и всем-всем, связанным с тестом.

Что почитать/посмотреть
Я познакомилась с Extensions благодаря выступлениям Дмитрия Тучс, которые рекомендую и вам:
- Дополнительная открытая лекция с продвинутого курса по Java, где я впервые услышала про extensions
- JUnit, дай пять! Переносим код в JUnit 5 Extensions
- Доклад The art of JUnit extensions с Heisenbug и The art of JUnit extensions 2

Прочие полезные материалы:
Статья про практическое применение Extensions (kotlin)
Полное руководство по расширениям JUnit 5 (java)
Практическое применение Extensions с канала Oleh Pendrak
Руководство по расширениям JUnit 5

#junit #автоматизация

7 months ago

Про правильное формулирование, мета-вопросы и решение проблем путем редких ответов

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

Например, сегодня ко мне пришли с запросом "Не могу найти документ в системе, помоги".
Я полезла в базу данных и логи двух микросервисов, чтобы проследить путь документа и обнаружила, что документ доставлен до системы.
После проведенного исследования и предоставления ссылки на документ, я получила ответ: "Да, ссылка на документ у меня есть. Но вот в другую систему он не направился, а еще в статусе ошибки подписи".
Тут возникает вопрос: значит коллега знал, что документ дошел до системы, но все равно спросил, где документ? Соответственно вопрос в поиске документа не стоял, а запрос оказался в другом: почему
подпись** не отработала. Из чего следует, что путь документа нам не нужно было отслеживать и я зря потратила на это свое время.

Если бы коллега сформулировал вопрос сразу с подробностями, это сэкономило бы мне минимум 10 минут и сохранило бы силы на решение более насущного вопроса, а именно почему в подписи возникли проблемы.

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

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

Примеры
Плохой вопрос:
я не могу понять, как замержить в репозиторий autotest

Хороший вопрос:
Мне нужно замержить новые автотесты в ветку master.
При попытке мержа через консоль у меня возникает ошибка 403.
Я пытался сменить пароль на новый, но это не помогло. Google подсказал, что ошибка может возникать из-за прав доступа к мастеру, но я их не могу посмотреть.
Можешь ли ты объяснить, куда мне сходить для получения прав, или объяснить, что еще можно сделать?

В таком случае человек сразу поймет, что ошибка заключалась в мерже в мастер без дополнительной ветки, ведь в их репозитории это запрещено. И объяснит, какой список действий нужно проделать для мержа.

Что можно попробовать сделать, если вам задают плохо сформулированные вопросыЧаще всего причина плохих вопросов в лени их формулирования. В этом может помочь игнорирование вопросы на 30 минут: через пол часа вопрос порой пропадает сам по себе или становится нормально сформулированным с описанием собранных материалов и проделанных шагов.

Мета-вопросы
В связки с формулированием вопросов, я бы порекомендовала вам почитать про мета-вопросы, которые съедают не только ваше время, но и время собеседника.
Пример мета-вопроса простой: когда ты вместо формулирования вопроса, просто пишешь "Тут?" и отвлекаешь собеседника. Подробнее почитайте по ссылке.

Важно помнить, правильно сформулированный вопрос - это уже половина ответа на него.

#softSkills

7 months, 2 weeks ago

Блок-схема в хорошем качестве

Кратко повторю на что ориентироваться при выборе языка:

  1. Область, в которой вы хотите автоматизировать (UI для web, desktop, backend, mobile), : при выборе языка также нужно учитывать что вы хотите автоматизировать: для мобильных чаще используется Swift и Kotlin.
  2. Язык, используемый на работе мечты: изучить рынок, выбрать компании, которые сильнее всего вас привлекают и выбрать для изучения их язык программирования
  3. Востребованность в области и в конкретной компании: например, какие языки чаще мелькают в вакансиях.
  4. Простота и популярность (Python проще в освоении с нуля, Java даст отличное понимание ООП, но сложнее для освоения)
  5. Язык, базу которого вы уже изучали
  6. Знакомые/менторы/разработчики, которые могут помочь
8 months ago

Мой личный путь и поиск карьерного развития

Недавно мне посчастливилось поучаствовать в QA Sis Conf #2, где вместе с другими удивительными девушками я поделилась своим опытом работы в сфере тестирования и поиском путей для развития, которые использовали после года в профессии. Рекомендую к просмотру: QA Sis Conf #2 Год в тестировании - что дальше.

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

Теперь я хочу поделиться этим планом с вами:
?Составление плана развития

Статья включает в себя три ключевые части: поиск своих сильных сторонопределение зон для развития и выбор конкретных целей для достижения этого развития. Подробнее читайте в источнике?
Надеюсь, что план вдохновит вас на поиск будущих целей в вашей карьере!

9 months ago
We recommend to visit
HAYZON
HAYZON
5,777,024 @hayzonn

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 1 month, 1 week ago

Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.

Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support

Last updated 1 month ago

Канал для поиска исполнителей для разных задач и организации мини конкурсов

Last updated 1 month, 3 weeks ago