Этот дайджест создан совместно с телеграм-каналом QA Live | тестирование ПО. Подпишитесь, чтобы получать дайджесты прямо в телеграм!
Почитать:
“Наша инфраструктура MySQL обслуживает GitHub.com, API GitHub, аутентификацию и многое другое. Каждый ваш git-запрос так или иначе затрагивает нашу MySQL-инфраструктуру, поэтому она нуждается в тщательном тестировании.”

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

Статья Дэбби О’Браен, Principal Technical Program Manager at Microsoft/Playwright.
На других платформах:
UI – это пользовательский интерфейс. UI-тестирование относится к тестированию, выполняемому через UI.
E2E – это end-to-end тестирование. Это тесты, которые выполняются от входной точки в приложения до выхода из него.
UI одавляющего большинства приложений дает и входную, и выходную точки, которые затем частично формируют E2E, и поэтому UI-тесты и E2E-тесты иногда используются, как эквивалентные термины.
Однако они отличаются важными нюансами.
Инженеры-автоматизаторы согласятся со мной: устойчивый фреймворк автоматизации – это солидный фундамент для проверки здоровья приложения. Задача добиться устойчивости, внедряя лучшие практики взаимодействия тестов с приложением – это и ответственность автоматизаторов, и их награда.
Одна из таких практик – это «перехватывать» API, что добавит очков зрелости тест-стратегии и фреймворку. Перехват означает взятие контроля над API путем подслушивания запросов и манипулирования ими через изменение свойств запроса или ответа. Я считаю, что это очень мощный инструмент автоматизаторов, помогающий создавать устойчивые тесты пограничных случаев.
В этой статье мы разберемся, что такое перехват API, и как успешно им воспользоваться, тестируя пользовательский интерфейс при помощи Cypress.

Чтобы понимать, какие запросы можно отправлять в GraphQL API и что можно получить в ответе, нужно уметь читать его схему. Это как WSDL в SOAP API — описание всех доступных методов.

Некоторые лиды считают, что можно без TMS. Да, можно.
Фокус на MVP (Минимально жизнеспособный продукт).
Чтобы изолировать тестируемые функции и правильно настроить окружение для сценария, необходимо прибегать к мокированию API-запросов, сторонних сервисов и других данных. Этот процесс может стать сложным и трудоемким, особенно когда тесты переполнены моками, код дублируется и поддержка и чтение таких тестов превращаются в кошмар.

Миф 1: manual QA — самый легкий способ войти в айти
Войти в айти сейчас вообще сложно, особенно через manual QA — направление с высокой конкуренцией. Тому доказательство — обилие резюме и сотни, а порой и тысячи откликов на вакансии на хх.ру и других работных сайтах. Выучиться на ручного тестировщика банально быстрее, чем на backend или frontend разработчика — в среднем курсы длятся 4 месяца. Рынок перенасыщен вчерашними студентами, свитчерами и самоучками.
Одной из таких фичей стал поиск по операциям в ленте операций в мобильном приложении банка. Контекст: необходимо было реализовать поиск по операциям, которых в системе насчитывается несколько сотен миллионов. Возможно, это не кажется критичным объемом, но на самом деле речь идет о гигантских данных размером свыше сотни гигабайт.

Рассмотрим на примере простого приложения с админкой. Веб часть наполняет и управляет данными через сервер, реализующий методы на Rest архитектуре.
В тестировании я уже семь лет, для кого-то это маленький срок, для кого-то — большой, я очень впечатлен коллегами, которые работают уже по 15-20 лет, но развиваюсь, стараюсь нести добро в массы. Одна из моих основных специализаций заключается в том, что я прихожу на проекты, которые начинаются с большой бизнес-идеи, движущейся через много команд. Мне нравятся все вопросы межкомандного тестирования, интеграционного взаимодействия, выстраивания стендов, как драйвить коллег, чтобы мы двигались в одном направлении и не словили на проде кучу ошибок — этим я и занимаюсь. В связи с этим я часто замечаю, что многие команды и коллеги приходят на интеграционные стенды, мы выкатываемся на те стенды, где начинают работать настоящие сервисы на тестовых средах. Я у коллег вижу такие банальные ошибки, которые нельзя было бы пропустить, если бы мы тестировались изолированно на каком-то отдельном кусочке, проверяя свои интеграции еще до поездки на тестовый стенд. Естественно, чем позже мы находим ошибку, тем больше стоимость ее исправления, поэтому нам нужны моки, чтобы мы все это проверяли.

Появился вопрос, а это точно тренды SDET? SDET нужны там где сложность тестируемого продукта зашкаливает и нужен полноценный разработчик в роли тестировщика, там где обычный QA Automation не справится. Такой человек по определению имеет глубокие знания программирования.
Это было кринжевато, так как я не был на 100% уверен в своих словах, но я всё же написал о том, что меня как-то редко стали спрашивать отпечаток/PIN. У меня была включена опция «Быстрый вход», которая в приложении объяснена так: «Если вы используете отпечаток пальца или скан лица, у вас будет 5 минут, чтобы зайти в Т-Банк без авторизации». Без этой опции поведение было ожидаемым: каждое открытие приложения просило отпечаток/PIN, а вот с ней… Когда я думал, что отпечаток/PIN не нужен, то он не был нужен; когда я думал, что он нужен, он обычно почему-то был не нужен.
Стал я экспериментировать, чтобы у меня был более членораздельный отчёт. Мой телефон разблокировался по отпечатку пальца или PIN, и внезапно оказалось, что «Быстрый вход» в приложении Т-Банка означает не то, что я думал. Я-то, наивный, рассуждал просто: залогинился в приложение – можешь его закрыть, но в течение 5 минут тебя пустят обратно без вопросов (кэширование аутентификации в рамках приложения). Мне казалось, что приложение раньше всё время так и работало, примерно до декабря. А теперь я наблюдал своими глазами нечто иное: если ты предъявил отпечаток для разблокировки телефона, то внезапно приложение Т-Банка будет пускать тебя внутрь без вопросов в ближайшие 5 минут!
Сейчас я разрабатываю внутреннее приложение, которым пользуются тестировщики, менеджеры проектов и разработчики всей компании. Приложение помогает вести документацию и отслеживать результаты тестов. Хотя формально числюсь тестировщиком, фактически занимаюсь разработкой на Python, TypeScript и JavaScript с фреймворком Django.
В первой части статьи мы уже рассказали об автотестах в ОК, предпосылках внедрения автогенерации тестов и ключевых компонентах разрабатываемой системы. В этой части я продолжу рассказ и подробнее остановлюсь на более прикладных моментах реализации.

Всё это время я отмечал их особенности, сравнивал между собой, спрашивал друзей QA об наблюдениях.

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

что будет, если совместить TDD и AI-генерацию кода

Условие задачи
Необходимо протестировать веб‑интерфейс и связанный с ним сервер. Веб‑интерфейс состоит из поля для ввода и кнопки «Отправить». При нажатии на неё выполняется GET‑запрос к серверу, который ответит 200, если будет получена строка длиной 8 символов и состоящая из цифр; в остальных случаях ответит 503.

В большом мире QA (англоязычное):
Over & above, automating Canvas interactions with Cypress is a tad easier than Selenium. This is because Cypress runs within the browser’s context, providing you seamless access to JavaScript APIs like the Canvas API.

Before your teams write regression test cases, they should create their regression testing plan in advance. It is a document with a clearly defined strategy, goals, or scope for the regression testing process. Ideally, this plan should include a list of the features or functions the team has to test, the testing methodology (e.g. align to Agile methodology), the testing approach, the necessary resources, and the planned testing result.
each tool’s features, pricing, use cases, and more
WebSockets are a communication protocol that enables a persistent, full-duplex connection between a client and a server over a single TCP connection. Unlike traditional HTTP, which follows a request-response model, WebSockets allow both the client and server to send and receive data at any time without requiring a new connection for each interaction. This real-time communication is essential for modern web applications that demand low latency and high interactivity.

The cognitive overhead of having to translate a glossary of terms that you should know, but other people are using differently, makes life harder. You either have to learn and take on their terms or maybe educate others on what you mean by things.
In the first part of this article, we explored the limitations of cy.intercept
for WebSocket testing and introduced a Cypress hybrid framework for handling real-time WebSocket interactions. Now, let’s dive into real-world payment testing scenarios, where WebSockets play a vital role in ensuring accurate transaction updates, live balance tracking, and seamless user experiences.
In product development, strategies often seems like mysterious talent, but it can be learned. Today we are gonna use a clear five-step process that focuses on teamwork, understanding people, and having a big vision. As Elon musk says “Innovation needs aspirations beyond problem-solving”.
Посмотреть:
In this talk I’ll explain the basics of Playwright, show real life (code) examples and explain how to use browser automation for effective, high signal to noise production monitoring: I like to call this the “monitoring as code” workflow. After this talk, you will have the basic knowledge on using Playwright in your own dev pipeline and catch errors on production.
- When Testing Just Doesn’t Cut It ⏱️40 минут
DevDays Europe.
To handle iFrames, use page.frameLocator or page.frame to switch control to the child frame before interacting with elements. For nested frames, traverse from the parent frame to the child frame step-by-step. This ensures accurate automation of elements within complex frame structures.
Whether you’re into performance testing, QA, or DevOps, don’t miss this insightful discussion packed with practical tips and best practices for mastering real-world simulations.
Как и когда применять технологии записи трафика в НТ и планировании релизов. С какими подводными камнями можно столкнуться.
- SyTester. Когда нагружать удобно ⏱️45 минут
Спикер рассказал, как в его команде разработали инструмент облачного тестирования SyTester, который может «бесконечно» масштабировать подаваемую нагрузку, изменять ее на лету, а также поддерживает из коробки генераторы и заглушки для 6 протоколов. Максим разобрал, какие проблемы с проведением НТ у нас были и как SyTester помог их решить. Прошелся по особенностям, которые упрощают процесс проведения НТ. Рассмотрел две редакции инструмента — open source и enterprise. В конце закрепил теорию практикой во время небольшой демонстрации создания генератора и заглушки для HTTP-протокола.
- China’s DeepSeek AI is a Nothing Burger ⏱️10 минут
true
Хорошей недели!