QA Family by Alexey
1.67K subscribers
108 photos
7 videos
236 links
Команда:
- Иванов Алексей 2ГИС @alexey_qa
- Иванова Ксения Wink

Этот канал из моего лично трансформируется в канал онлайн сообщества QA Family

👥 Делаем митап @moscowqa
🎙Подкаст family-qa.mave.digital
Download Telegram
Очень крутая новость

Ollama совместима с Anthropic API.

А это позволяет использовать такие инструменты, как Claude Code, с открытыми моделями

https://ollama.com/blog/claude
🔥6👍431
Кто использует MCP в своей работе QA
Если вы используете, напишите список в комментарии, собираю стату+информацию для доклада
Anonymous Poll
17%
Использую
29%
Нет
54%
Я не знаю, что это такое
🥹 Сегодня выступаю на MoscowQA

Интересное чувство — для меня этот митап особенный: нашему сообществу 2 года и это уже 20-й митап!

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

И сейчас мне очень захотелось выступить именно на 20-м митапе.

Я очень рад, как сообщество выросло и расширяется. Призываю каждого приходить на мероприятие MoscowQA, а после — ходить в бар!
Любим вас 😍

Трансляция: https://vkvideo.ru/video-167479002_456239502
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥186👍5
git mvкоманда, о которой не знал

Думал, что хорошо знаю Git. Оказалось, не совсем.

Сегодня узнал про git mv — она перемещает или переименовывает файлы, папки и симлинки в репозитории, автоматически обновляя индекс.

По сути, заменяет цепочку из трёх действий:
mv old_name new_name
git rm old_name
git add new_name


Одной командой:
git mv old_name new_name


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

А вы знали? Пользовались?
😁7👍5🔥1
[НОВЫЙ ВЫПУСК] Я не забросил, просто не было моральных сил, но все таки вышел выпуск QA Family Podcast

Общаемся с Сергеем Лебедевым, руководителем тестирования из Яндекс.Лавки, как искусственный интеллект меняет подходы к тестированию и автоматизации. Поговорим о Model Context Protocol и его примененить в практической разработке. Как современные инструменты помогают тестировщикам быть эффективнее и как они могут заменить рутинную работу.

Яндекс.Музыка
| Apple.Podcast | Остальные платформы
2🔥156👍4
В pw много разных локаторов, и кто начинает автоматизацию — не понимает, какой и когда использовать. Вот небольшая заметка-шпаргалка.

Стратегия выбора локаторов

Приоритет от лучшего к худшему:

1⃣ getByRole() - Лучший выбор
2⃣ getByLabel() - Для полей форм
3⃣ getByPlaceholder() - Если нет label
4⃣ getByText() - Для статического текста
5⃣ getByAltText() - Для изображений
6⃣ getByTitle() - Редко, но можно
7⃣getByTestId() - Для сложных случаев
8⃣ CSS/XPath - Не рекомендуется к использованию

Алгоритм выбора:

Это кнопка/ссылка/поле? getByRole()
Это поле с лейблом? getByLabel()
Это текст на странице? getByText()
Ничего не подходит? Добавить data-testid

🔗 Дока
Please open Telegram to view this post
VIEW IN TELEGRAM
👍194🔥2😁1
Нашёл интересное исследование!

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

Собрали 1 539 реальных сценариев из open-source проектов на Python, Java и Go и оценили LLM на трёх задачах:

🎥Создание тестов с нуля
🎥 Починка тестов, которые сломались после рефакторинга
🎥Доработка тестов под новую или изменившуюся логику

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

Результат: даже последние модели показывают слабые результаты на починке и обновлении.

Генерация — ок, а вот сопровождение тестов — пока слабое место.

🔗 Статья: huggingface.co/papers/2601.18241
🔗 Код: github.com/trndcenter/TAM-Eval
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥21
🎭 Playwright CLI инструмент для AI-агентов

Microsoft выпустили Playwright CLI — обёртку над Playwright, заточенную под работу с coding-агентами (Claude Code, GitHub Copilot и др.).

Зачем, если есть Playwright MCP? Всё просто — токены.
Разница в 4 раза.

Простая задача:
1) открыть страницу
2) кликнуть
3) сделать скриншот

MCP → ~114 000 токенов
CLI → ~26 800 токенов

🔎 Почему MCP дороже?
MCP возвращает всё обратно в LLM: accessibility snapshot страницы, байты скриншотов и т.д. Даже если агенту эти данные не нужны

⚡️Что умеет CLI?
Полный набор команд для управления браузером
Причём в CLI доступно больше команд, чем в MCP по умолчанию

Установка
npm install -g @playwright/mcp@latest
playwright-cli install --skills



🔗 https://github.com/microsoft/playwright-cli
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥134👍3
Тестирование email

Обычно тестирование писем сводится к проверке, что запрос ушёл в нужный сервис — замокали клиент, убедились, что subject/body/получатель на месте

Редко, но бывают сценарии, где нужен полный e2e


Решение — SMTP-сервер в docker-compose рядом с приложением. Принимает письма, отдаёт через API

Open-source инструменты:
🟣Mailpit
🟣MailDev
🟣smtp4dev
🟣GreenMail
🟣MailCrab
🟣Inbucket — Сам использовал в своё время
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍11
Митап Moscow QA #21

🌎 Онлайн
Начало в 19:00!

Ссылка на трансляцию https://www.youtube.com/watch?v=vBJlV2NSrHA
Please open Telegram to view this post
VIEW IN TELEGRAM
65🔥3
Сомнительно, но окей

https://github.com/vitalets/playwright-magic-steps
😁4🤯4👍21
Очень холиварная тема этой недели AI-агет vs OpenSource

История, которая взорвала комьюнити на этой неделе
AI-агент работающий на платформе OpenClaw отправил pull request в Matplotlib с оптимизацией производительности

Технически — идеально.

Мейнтейнер закрыл PR Причина: "вы OpenClaw AI-агент"

Issue был помечен как "Good first issue" — специальный тег для новичков, чтобы они учились делать вклад в opensource

Затем агент обвинил мейнтейнера в предрассудках, манипулируя и атакуя его репутацию

После агент извинился и через 12 часов пошел в другую репу и сделал МР и повторил ту же тактику

Open Source это не только код, но и сообщество. "Good first issue" существует не просто так, новички должны учиться через менторство, а не конкурировать с ботами за возможность сделать первый вклад

https://github.com/matplotlib/matplotlib/pull/31132
😁3👍2🔥1
Должны ли боты делать PR самостоятельно?
Anonymous Poll
10%
да
36%
не
54%
Если это разрешает политика работы ИИ в проекте
Полезные скилы для ИИ агента:

Это хорошая основа для вашего фронтенд проекта и тестирования, осталось толко адаптировать под себя

🔗Playwrigh https://github.com/currents-dev/playwright-best-practices-skill/tree/main

🔗React https://github.com/vercel-labs/agent-skills/tree/main/skills/react-best-practices

Больше скилов
1️⃣ skills.sh
2️⃣ skillhub.club
3️⃣ skillsmp.com
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👍31
Vitest 4 вышел, а я пропустил!


🌐 Browser Mode: Поддержка Playwright и WebDriverIO, доступ к реальным браузерным API (window, document), параллельное выполнение и никаких симуляций

🖼 Встроенная поддержка визуального регрессионного тестирования прямо из коробки

🔎 Trace View и улучшенный дебага


https://vitest.dev/guide/browser/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍11
Вайбкодинг с телефона, есть в этом шарм, вместо рилсиков, что то делаешь😁
1😁9🔥4👍3
Я не блогер, пишу заметки по QA — но расскажу про итоги начала года👇

Доделал сайт moscowqa.ru — анонсы, архив митапов, всё на месте
В прошлый четверг помогали коллегам из @piterqa с митапом — выступали консультантами. Приятно, когда QA-сообщество растёт за пределами Москвы

🗓 Впереди два митапа @MoscowQA — в марте и апреле. А в мае — чёрный митап

🎙 Скоро объявим открытый подкаст по книге «Профессиональный TypeScript» Бориса Черного — живая дискуссия, участвовать может каждый, завтра анонс

И да, в промежутках хожу по собесам — но это уже другая история 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥164👍3
Если кто - то начинает учить python, очень удобный учебник, рекомендую

https://pylot.me/
111
This media is not supported in your browser
VIEW IN TELEGRAM
В dev tools chrome можно замедлять определенную ручку, а не все запросы как раньше

https://developer.chrome.com/blog/throttle-individual-network-requests?hl=en
🔥282😁2