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

Автор канала: @aleshin_IT

Размещение рекламы: @tanyasanovna
Download Telegram
QA Сhannel
Эффективное тестирование ETL-процессов в Data Warehouse 7 бед - flywave migrate Процесс тестирования встречается в разных частях компании. Сегодня поговорим про тестирование данных. А точнее о процессах проверки больших хранилищ с данными о пользователях…
Как мы тестируем RT.Warehouse

Продолжим узнавать про тестирование Warehouse, но уже больше с инфраструктурной стороны.

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


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

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

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

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

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

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

Еще одним вариантом является автоматический сбор ошибкой вашего приложения. Одним из популярных решений в этой области является Sentry. А аналог из статьи позволяет перейти из Sentry к ним без боли. В будущем разработчики обещают добавить сбор ошибок из мобильных приложений.
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-инженеров на практических примерах и действующих в компании фреймворках.


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

Про один из таких вариантов внутренней школы в сегодняшней статье.