QA Сhannel
2.68K subscribers
79 photos
11 videos
954 links
Самые интересные статьи, видео и новости, связанные с QA. Не больше трёх материалов в день.

Размещение рекламы: @tanyasanovna
Download Telegram
QA-метрики: что на самом деле важно измерять

Когда интуитивного тестирования уже недостаточно и качество ведет себя непредсказуемо, метрики перестают быть формальностью и превращаются в обязательный инструмент управления качеством.
За годы работы в тестировании я убедился: то, что невозможно измерить — невозможно улучшить. В статье я разберу ключевые QA-метрики и объясню, как TMS помогает сделать картину качества действительно прозрачной.


Кроме TMS, для анализа, вы можете использовать данные из вашего трекера задач: причины блокировки, частота возвратов на доработку, управлять количеством задач в работе у одного сотрудника одновременно. Затем вы можете выгружать эти данные и анализировать их.
3💩1
От младшего до старшего специалиста по тестированию: важные изменения в мышлении

The best test engineers don’t just validate software — they shape how teams think about quality.
They don’t just catch problems — they architect solutions that prevent entire categories of issues.
They don’t just report status — they translate technical risk into business language that drives decisions.


Многие компании до сих пор пытаются оценить сотрудникам по формальным критериям:
- сколько лет опыта
- навык владения определенным инструментом
- уровень образования

Но, кажется, нужно уже давно было уйти от этих показателей в сторону реальной пользы сотрудника, его практических показателей и достижения целей, которые вы перед ним ставите.
🔥5
Лучшее сообщение об ошибке — это его отсутствие

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

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

Сегодня в посте доклад про тестирование устройств, которые летают выше самолетов. Иногда их миссией является высадка на другую планету для взятия проб или отправки фотоматериалов. Тут стоимость ошибки гораздо выше. Ходит легенда, что в NASA количество специалистов по тестированию в отдельных командах могло превышать количество программистов. Узнаем же как устроен их процесс ан самом деле.
1
QA в дежурствах: путь к настоящему качеству

На деле, зелёный пайплайн и прошедшие автотесты — ещё не гарантия качества. На проде всё может пойти совсем не так. Например, сервис отвечает медленно, потому что зависимый сервис тормозит. Или в систему поступает слишком много данных, очередь растёт, воркеры не справляются — и пользователи получают ошибки.
И вот тут возникает вопрос: а должны ли QA подключаться к таким ситуациям? Я уверена — да. Потому что качество — это не только «у нас всё по плану», а «у пользователя всё хорошо». И это тоже зона ответственности хорошего QA.
1
This media is not supported in your browser
VIEW IN TELEGRAM
Выборочный запуск iOS тестов из TestOps

Иногда нет смысла гонять весь набор UI-тестов. Если меняешь один модуль, быстрее и дешевле прогнать только нужные сценарии. В TestOps такой подход уже описан в документации, но для iOS готового решения нет….

Когда это полезно:
- при рефакторинге - чтобы запускать тесты только по модулю или домену;
- на регрессе, если используете импакт-анализ вместо полного прогона;
- при приёмке новых фич - чтобы проверять только затронутые компоненты;
- при перезапуске упавших тестов в рамках одного лаунча.

Делюсь, как настроить выборочный запуск iOS-тестов напрямую из TestOps

1. В TestOps.
Откройте: Настройки → Обновление метаданных.
Для поля full_name выберите значение from_test_result.
Важно: раннер должен понимать, какие тесты запускать.

2. Интеграция с CI.
Добавьте интеграцию с CI из документации

3. Логика запуска.
В шаг запуска тестов добавляем обработку списка тестов из TestOps:
command="xcodebuild test \
-project ${{ env.PROJECT }} \
-scheme ${{ env.SCHEME }} \
-destination 'platform=iOS Simulator,name=${{ env.SIMULATOR_NAME }},OS=${{ env.SIMULATOR_VERSION }}' \
-resultBundlePath ./TestResults.xcresult"
if [ -n "$ALLURE_JOB_RUN_ID" ]; then
allurectl job-run plan --output-file ./testplan.json
cat ./testplan.json
test_array=($(jq -r '.tests[].selector' ./testplan.json | tr -d '()'))
echo ${test_array}
for test in "${test_array[@]}"; do
command+=" -only-testing:SwiftRadioUITests/$test"
done
fi
command+="| xcbeautify --renderer github-actions"
echo "$command"
eval "$command"


Разберем наиболее важные места в этом скрипте.
if [ -n "$ALLURE_JOB_RUN_ID" ]; then

Если запуск пришёл из TestOps, прогоняем только выбранные тесты. Если переменная ALLURE_JOB_RUN_ID пустая запускаем весь набор.

allurectl job-run plan --output-file ./testplan.json

Получаем список тестов, который мы выбрали в ТестОпс и сохраняет его в testplan.json.

Json выглядит так:
{
"version": "1.0",
"tests": [
{
"id": 877656,
"selector": "RadioInfoTest/testOpenWebLink()"
}
]
}

TestOps отдаёт тесты в виде TestClass/testMethod(), но xcodebuild не принимает скобки. Поэтому командой
test_array=($(jq -r '.tests[].selector' ./testplan.json | tr -d '()'))

мы удаляем () и получаем корректный формат

xcodebuild принимает тесты только в формате SchemeName/TestClass/testMethod, поэтому в цикле мы формируем аргументы:

-only-testing:SwiftRadioUITests/$test


Важно: для каждого теста нужен свой -only-testing. xcodebuild не поддерживает списки.

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

eval "$command"


yaml с рабочей конфигурацией для gha добавил в GitHub Gist

#iOS #TestOps
2👍2
Бенчмарки для теста телефона на производительность

Если вы занимаетесь мобильным тестированием — эта статья для вас. Вопрос о том, на каких устройствах тестировать каждое приложение, является одним из краеугольных камней процесса. Нужно проанализировать данные об устройствах и подобрать их исходя из вашей задачи. Ключевые характеристики для выбора могут зависеть от типа приложения: калькулятор калорий, сложное 3D-приложение или шутер.
История, в которой Винни-Пух и его друзья учатся решать проблемы по одной

Каждое ретро превращается в длинный список проблем: команда обсуждает всё подряд, составляет планы — но через месяц список остаётся тем же. Проблемы не решаются, а участники устают от бесконечных разговоров без результата. Squad Health Check работает иначе: он помогает выявить одну самую «больную» точку и сфокусировать команду на её решении.


История похожа на басню про лебедя, рака и щуку. Когда в товарищах согласья нет - на лад их дело не пойдет. Базовые, но важные вещи при оценке любых результатов работы:
- Оценивать честно. Берем пример с ослика
- Собирать данные анонимно, чтобы люди могли честно ответить
- Фокусироваться на самом проблемном участке
- Назначать ответственных за выполнение
Завтра тестирования: Как ИИ переопределяет профессию QA

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

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

Если ваш репозиторий с автотестами сильно увеличился в размерах и процесс сборки начал занимать ощутимое время - в статье есть вариант как можно улучшить ситуацию.


Мы решили, что будем разделяться на модули: один проект будет содержать много модулей с тестами. Чтобы такое провернуть, мы начали с анализа наших зависимостей, с рефакторинга нашего конфигурационного файла сборщика, или как мы его называем — build.gradle: вынесли в отдельные блоки именно те таски и зависимости этого сборщика, которые точно понадобятся всем модулям.



Благодаря модулям мы получили ещё один серьезный бонус. Допустим, что через некоторое время мы хотим заменить наш старый HTTP-клиент на новый. Раньше это была бы мучительная задача по рефакторингу сотен тестов. Теперь же мы меняем зависимость и логику только в одном месте — в модуле-адаптере. Сами автотесты даже «не узнают», что что-то поменялось. Мы изолировали изменения!
UI-тестирование с применением машинного обучения

В данной статье отражена попытка применить модель детекции для UI-тестирования.
Предполагалось, что внедрение ML должно позволить (даже при полном изменении интерфейса) не переписывать автотесты и полностью исключить человеческий фактор при UI-тестировании.
Пострелизная валидация данных как новый вид тестирования?

Этот вид тестирования показал свою эффективность в тех случаях, когда у вашего проекта есть следующие особенности:

- это легаси проект с непрозрачной, плохо задокументированной и достаточно сложной логикой (назовем ее “серой логикой”). При этом члены команды, обладающие контекстом легаси не могут 100% гарантировать (или у вас есть сомнения), что их воспоминания о фактическом поведении “серой логики” верны 
- на проекте присутствует БД, данные которой являются точкой применения вышеуказанной “серой логики”
- сам проект уже в production
- при этом ограничения, установленные на уровне БД не могут покрыть все необходимые ограничения, которые требует бизнес логика (само собой при наличии достаточно сложного функционала)
Обучение без отрыва от работы: кейс РТЛабс

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


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

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

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

«Давайте заменим QA нейросетью!»

Именно заменим, а не усилим существующие процессы или дадим инженерам более мощный инструмент.

Звучит красиво. Почти как «давайте просто перепишем легаси» или «обнулим техдолг». На демках всё сходится: агент читает задачу, понимает бизнес-логику, пишет тесты, чинит упавший CI, открывает mergы и даже может что-нибудь поправить самостоятельно. QA вроде больше не нужен.

Но затем происходит столкновение с жестокой реальностью.

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

В статье как раз разбирается реальный эксперимент по созданию AI-QA, который должен был максимально автоматизировать работу тестировщиков. Получился хороший пример того, почему между «писать тесты» и «обеспечивать качество» до сих пор лежит пропасть.
👍6🔥52
Кажется, работодатели окончательно решили, что QA должен уметь всё: Тестировать. Автоматизировать. Писать код. Разбираться в архитектуре. Работать с метриками. Настраивать CI/CD. Использовать AI. И как уже стало привычно все это ещё вчера)

Но как всегда есть нюансики.

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

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

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

Что происходит с QA в 2026 году на самом деле? В статье результаты исследования среди 800+ инженеров.
6👍4🔥2
Git для QA без инфоцыганства, магии с бубном, смс и регистрации😎
В статье на Хабре собран джентльменский набор Git для тестировщика:
✔️ Как читать изменения через diff и быстрее локализовать баги
✔️ Не ждать деплой
✔️ Ветки, merge и rebase без боли
✔️ Лайфхаки: blame, stash, cherry-pick
✔️ Как не испортить репутацию, коммитя в master (спойлер: лучше не надо)
Если вы всё ещё думаете, что Git только pull/push, статья за 10 минут прокачает вас до уровня «можно спорить с лидом, но это не точно»

🔗 https://habr.com/ru/articles/1040232/
#QA #Git #Testing #Habr
👍431
Для тех, кто давно думал о переходе в AQA попался довольно подробный гайд на Хабре.
Автор подробно расписал путь от Manual QA до AQA:
✔️ выбор направления (UI, API, Mobile, Load);
✔️ выбор языка программирования;
✔️ рекомендуемый стек технологий;
✔️ Git, Docker, Allure и CI/CD;
✔️ создание портфолио;
✔️ подготовка к поиску первой работы в автоматизации.
Особенно полезно для тех, кто постоянно откладывает переход из-за вопроса: «С чего вообще начать?»

🔗 https://habr.com/ru/articles/932374/
Пишите в коментах какой стек вы бы сегодня выбрали для старта в автоматизации: Python, Java или TypeScript?
🔥21👍1