QA Live | тестирование ПО — подпишитесь в Телеграме
Почитать:
Легендарный Bazel — как и в Google, SpaceX, Stripe, Tinder и Uber.
Как ускорить сквозные тесты — три простых правила
“Следуя этим правилам, вы сохраните и скорость, и качество, гарантируя, что E2E-тестирование будет помогать разработке, а не мешать.”
На других платформах:
Инструменты тестирования Kafka
Я поняла, что инструменты помогут нам протестировать Kafka в двух ключевых измерениях, производительности и устойчивости. Вначале я мало знал об инструментах и их возможностях, хотя был в курсе jmeter, которым недолго пользовался более десяти лет назад.
Моей первоначальной целью был поиск способа генерации и потребления нагрузки. Эта нагрузка затем стала бы фоном для экспериментов с устойчивостью, чтобы посмотреть, как справятся системы и репликация данных с суровыми условиями. Под «суровыми» я имею в виду различные уровни враждебности – от плохой связи до многокомпонентных условий ошибок, когда в ходе обновления выключались «неправильные» ноды, а система пыталась вызвать бэклог транзакций.
Бесплатные ресурсы для подготовки к собеседованию по SQL
SQL Bolt, Stanford Database Course, Stratascratch
Шаблон для сессии исследовательского тестирования
АОП. Обработка ошибок Java + Junit5 + AspectJ + Slf4j + Playwright
Аспе́ктно-ориенти́рованное программи́рование (АОП) — парадигма программирования, основанная на идее разделения функциональности для улучшения разбиения программы на модули.
Цель : Сделать отчеты в Allure доступными для понимая и быстрой оценки состояния продукта
Page Object Model и Page Factory в Selenium
POM полезен, когда происходит изменение в элементах интерфейса или в действиях. Например, если выпадающий список был заменён на радиокнопку, POM помогает быстро определить, какие страницы или экраны нужно модифицировать. Поскольку каждый экран представлен отдельным Java-классом, можно быстро найти нужный класс и внести изменения. Это делает тест-кейсы более удобными в сопровождении и снижает вероятность ошибок.
Обзор песочницы по тестированию. Практика для QA
Потребность создания собственной песочницы появилась по многим причинам:
- практика в разработке (изучаю frontend и UI/UX-паттерны);
- дефицит контента по тестированию (веду Telegram-канал);
- повышение компетенции в QA (развиваюсь вместе с джунами).
Локаторы. Стратегии поиска веб-элементов
Какой бы инструмент вы ни выбрали для автоматизации тестирования, все они будут искать элементы с помощью локаторов, и обычно это означает, что вы, как тестировщик, должны их создавать используя селекторы.
Базовая подборка аналогов ChatGPT (текстовых ИИ)
Сама я использую TryChatGPT и Midjourney, мне хватает за глаза для «повседневных» задач. Они и на вопросы технические ответят, и даже код могут написать!
Self-healing тесты и локальная LLM
В этой статье расскажу о практическом применении больших языковых моделей (LLM) в сочетании с традиционными инструментами автоматизации Python/Selenium для повышения надежности тестов.
Статья состоит из следующих разделов:
- Что такое self-healing тесты
- Hardware конфигурация
- Software конфигурация
- Испытываем API локальной LLM
- Встраиваем в тесты
- Ограничения
19 лучших инструментов для тестирования игр
Инструменты в этом обзоре
- Unity Test Framework
- Unreal Engine Automation Framework
- Selenium
- Appium
- TestComplete
- Xcode Instruments
- BugSplat
- GameBench
- Hatchet
- Valgrind
- PlaytestCloud
- Jira
- Jenkins
- TestRail
- Apache JMeter
- Charles Proxy
- Bugzilla
- Postman
- BlazeMeter
Fake Door Test (FDT) — метод тестирования “количественного интереса” [спроса] пользователей на фичу. Команда продукта показывает пользователям кнопку, баннер или другой интерфейсный элемент, ведущий в фичу, которая еще не разработана. По нажатию — иногда извинения, чаще — благодарность за проявленный интерес, ссылка на опрос.
FDT позволяет быстро оценить интерес к фиче на конкретном экране/этапе флоу еще до разработки фичи. Чаще всего FDT используют на web-сайтах, но такой тест встречается и в мобилках.
Сравнение ChatGPT, DeepSeek, GigaChat и YandexGPT
По результатам сравнения можно сделать вывод, что DeepSeek очень даже неплоха как альтернатива отечественным моделям. Мы обязательно проведем ее тестирование в нашей GPT-лаборатории и позднее напишем на эту тему отдельную статью. Но за время использования мне неоднократно хотелось все бросить из-за перегруженности сервера. По этой причине я пока не буду менять ChatGPT на DeepSeek — в самый ответственный момент она может подвести.
Я не считаю, что DeepSeek конкурирует с более «взрослыми» GPT-моделями, на мой взгляд, она успешно заняла свою нишу в Open-Source-сегменте.
В большом мире QA (англоязычное):
Automating Text Selection in Web Apps
Text selection is a common user interaction, often triggering context-aware actions like copying, sharing, or searching selected content. But can automation tools like Playwright, Selenium, and Cypress effectively simulate and verify text selection?
NO! Heck no.
How to Perform Puppeteer Browser Automation With Node.js
Puppeteer browser automation enables control of headless Chrome or Chromium through its API, leveraging the Chrome DevTools Protocol. Built for Node.js, Puppeteer uses asynchronous JavaScript to automate tasks like web scraping, UI testing, and browser interactions.
Can ‘reasoning’ LLMs help with recs data creation?
The oft maligned chat interface works quite well, you can start with a simple definition of what you want and refine as needed. For example, the above statements don’t include any description / schema of the you might need for your input YAML and JSON files. You can add this, if the one guesses at is not appropriate, and try again.
How to Handle Dropdowns Using the Cypress .select() Command
Dropdowns can be challenging to handle due to dynamic options, inconsistent values, or differences between displayed text. In Cypress, you can overcome this challenge using the .select() command.
It allows you to handle (or select) dropdowns by visible text, value, or index. The Cypress .select() command is a built-in function that interacts with and performs tests on the selected elements in a web application.
Tests are written in a separate “test” package in your project, and JUnit provides annotations to make testing easier.
Parallel Testing with Playwright: How to Avoid Collisions and Failures
Currently, I’m working on a project with over 500 UI tests written in Playwright and TypeScript. As part of a continuous improvement initiative, we started developing a pipeline to run all tests after each PR is merged into the Staging environment.
The pipeline development was quite straightforward thanks to the use of GitHub Actions, as most of the workflows were reusable. However, the real challenge arose with parallelization: many tests began failing due to collisions, as they were trying to interact with the same components or sections at the same time, even though they had been running in parallel previously.
After a long day of work, I managed to find some resources and apply strategies that allowed me to resolve these issues without the need to serialize the tests.
How to Reproduce CI Failures Locally in Playwright
When a test passes consistently on your local machine but fails on CI, the issue is often related to timing, race conditions, or resource constraints. To expose these hidden problems, you can use Playwright’s —repeat-each flag.
Engineering Fundamentals Playbook.
Playwright 1.51 — copy prompt, git info, firebase auth, test steps
Playwright 1.51 is here with powerful new features to make debugging, reporting, and testing even smoother! From an AI-friendly Copy Prompt for quick error resolution to Git info in HTML reports, this update brings major enhancements. We’re also adding Firebase authentication support, improved locator visibility filtering, smarter test steps with timeouts, skipping, and attachments, and better ARIA snapshot management.
Посмотреть:
Postman для тестировщика 2.0 / Swagger / GET и POST | Артем Русов ⏱️25 минут
В новом уроке научимся работать с API документацией в Swagger и отправим запросы GET и POST.
Selenoid на Android — от А до Я | Heisenbug ⏱️50 минут
Несмотря на то, что внедрение многопоточных UI-тестов в Android с применением Selenoid выглядит со стороны несложной задачей, порой возникает множество нюансов, как сделать эти тесты стабильными, быстрыми и удобными в поддержке. Андрей рассказал, какие важные нюансы нужно учесть, если ваша компания решила внедрить такую технологию, и как наши UI-тесты перестали падать по причине нестабильности всего, что связано с клиентской инфраструктурой. Стек спикера: Appium + Selenoid + pytest, но будет полезно и тем, кто не используют pytest.
Как мы автоматизировали тестирование аналитики в мобильном приложении | Heisenbug ⏱️45 минут
Грамотный анализ действий пользователя позволяет повысить эффективность работы любого приложения. Ручное тестирование внедренной системы сбора аналитики в приложении — трудоемкий и часто не самый интересный процесс. В команде спикера попробовали автоматизировать такое тестирование на примере Flutter-приложения. В процессе удалось разработать универсальный алгоритм, который не просто проверяет отправку локального события, но и позволяет обеспечивать широкое покрытие всей системы. Получили интересный результат, проанализировали его, оценили достоинства, недостатки и произвели расчеты потенциального сокращения затрат времени. Пришли к выводам, как можно эффективно автоматизировать тестирование аналитики.
How to Progress in a Testing Career⏱️15 минут
- Master Web & API Test Automation
- Learn Git and integrate tests into CI/CD pipelines within the given environment.
- Take on More Responsibility
Automatic Test Creation: Cypress AI + Studio⏱️35 минут
In this session, we introduce AI-powered Test Generation in Cypress Cloud, a new feature that automatically creates high-quality tests for untested elements while following your team’s existing patterns. You’ll also get a look at upcoming improvements to Cypress Studio, designed to streamline the test recording experience. Through live demos, we’ll show how Cypress Studio and Test Generation integrate seamlessly to help accelerate test coverage. This session provides valuable insights into the future of automated testing.