Как стать автором
Поиск
Написать публикацию
Обновить
80.48

Тестирование веб-сервисов *

Семь раз оттесть, один раз деплой

Сначала показывать
Порог рейтинга
Уровень сложности

Не LLM едиными: генерируем юнит-тесты из реального исполнения на лету

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров607

Представьте себе: вы отлаживаете новый баг в сложном многослойном приложении (например, на Spring). Чтобы воспроизвести проблему, приходится взаимодействовать со всей системой end-to-end: отправлять запрос на эндпоинт или что-то кликать в UI. Юнит-теста, который бы изолировал нежелательное поведение до уровня злополучного сервиса или утилиты, нет. А хотелось бы, чтобы он был: во-первых, воспроизводить баг было бы проще (особенно если UI кликает QA, а не вы), а во-вторых, его потом можно было бы легко превратить в регрессионный и улучшить стабильность системы.

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

Сегодня расскажу о пройденном исследовательском пути, о том, как попробовать нашу экспериментальную фичу в плагине для IntelliJ IDEA, и о том, что у неё под капотом (спойлер: не только LLM).

Читать далее

Новости

Снова в айти или мой опыт обучения на ручного QA

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров462

Здравствуйте, меня зовут Ирина. Я хочу поделиться своим опытом обучения на тестировщика в 3 разных школах.

Зачем я училась в трех разных школах? — спросите Вы. Ответ очень прост. Я закончила первую школу на ручного QA, стала смотреть вакансии, чтобы выделиться среди массы ищущих работу джунов решила выучиться на AutoQA. Пошла на курс с нуля до автоматизатора. Проучилась до начала автоматизации, мне не понравилось, вернула деньги за обучение, устроилась работать ручным тестером. Узнав о бесплатном интенсиве с возможностью дальнейшего трудоустройства в известную компанию решила подать заявку и прошла отбор. Таким образом у меня получилось отучиться в трех разных школах, которые я и хочу сравнить и поделиться своим опытом.

Читать далее

pgdbtemplate — моментальное создание тестовых баз PostgreSQL в Go через шаблоны. Ускоряем тесты в 1.5 раза

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров860

Знакомо чувство, когда интеграционные тесты с PostgreSQL в Go работают дольше, чем хотелось бы? Каждый тест создает базу заново, применяет миграции, и большая часть времени уходит не на проверку логики, а на подготовку окружения. В этой статье я расскажу о своем open-source решении на Go, которое использует встроенные механизмы шаблонов PostgreSQL, чтобы ускорить этот процесс в полтора раза, уменьшить потребление памяти и сделать ваши тесты по-настоящему параллельными.

Читать далее

У нас было 10k метрик, 500 А/В-экспериментов и 500kk p-value каждый день…

Время на прочтение12 мин
Количество просмотров3.4K

Всем привет! Меня зовут Данила Леньков, я руковожу платформой A/B-экспериментов Trisigma в Авито. За 7 лет мы прошли путь от небольшой внутренней команды из трёх человек до полноценного технологического продукта, который теперь доступен на B2B-рынке. В этой статье я рассказываю о четырёх ключевых проблемах, с которыми мы столкнулись на пути от десятка экспериментов в год до четырёх тысяч. Это реальный опыт масштабирования, который может быть полезен любой компании, серьезно относящейся к принятию решений на основе данных.

Читать далее

Ускорение крупномасштабной миграции тестов с помощью LLM

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров431

Airbnb недавно завершила первую крупномасштабную миграцию кода под управлением LLM: мы обновили почти 3,5 тысячи файлов тестов React-компонентов, переведя их с Enzyme на React Testing Library (RTL). По первоначальным оценкам ручная работа заняла бы 1,5 года инженерного времени, но — используя сочетание передовых моделей и надёжной автоматизации — миграция завершилась всего за 6 недель.

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

Читать далее

Лидерство в тестировании: обеспечение бизнес-процессов предприятия

Время на прочтение13 мин
Количество просмотров169

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

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

Читать далее

Awaitility: Полное руководство по тестированию асинхронных систем

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров413

Асинхронные операции в тестах — головная боль для QA-инженеров. Awaitility упрощает ожидания: код становится надёжным и читаемым. В статье — подключение, примеры, best practices и справочник по методам.

Читать далее

Записки одного QA. Часть 2: Советы и приёмы в автотестах на Playwright

Уровень сложностиПростой
Время на прочтение38 мин
Количество просмотров2.2K

Записки одного QA. Часть 2. Немного пожеланий и советов по автотестам на Playwright

В этой части я собрала практические советы и наблюдения из опыта работы с автотестами в Playwright, подходы, которые упрощают поддержку и делают рефакторинг легче. Материал является продолжением первой части и дополняет её новыми деталями и примерами.

Читать далее

ZennoPoster или Browser Automation Studio (Зенка или БАС): Что выбрать и почему?

Уровень сложностиПростой
Время на прочтение23 мин
Количество просмотров2.1K

ZennoPoster и Browser Automation Studio (BAS) - два популярных инструмента для автоматизации веб-браузера. Оба используются для создания ботов, парсеров, спам-скриптов и других утилит, снимающих рутину с пользователя. Но если бы все было так просто и если бы выбор был очевиден - не было бы вокруг сторонников обоих инструментов столько споров.

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

Читать далее

Реальный проект и сертификат для портфолио — что, помимо знаний, дадут курсы по ручному тестированию и разработке на Go

Время на прочтение4 мин
Количество просмотров1.1K

Курсами по тестированию или разработке на Go сейчас мало кого удивишь. Но что если это обучение от вендора IT-инфраструктуры, где преподаватели — реальные инженеры с многолетним опытом, а программа позволяет выполнить реальный проект для портфолио и погрузиться в тонкости тестирования специфического оборудования и ПО — СХД, базовых станций, операционной системы?

Если вы студент — второкурсник и старше — или выпускник 2025 года, не упустите возможность пройти бесплатные курсы от YADRO. Для начала достаточно оставить заявку до 28 сентября. А что ждет дальше — читайте под катом.

Читать далее

Как устроено техническое интервью в отделе тестирования веб-приложений

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.8K

Привет! Я Алексей, старший тестировщик в департаменте разработки ЮMoney. С 2018 года провожу собеседования на позицию QA-инженера. В этой статье поделюсь своим опытом и взглядом команды на этот процесс. Расскажу, как мы готовимся к интервью, почему кандидаты с идеальным резюме могут не подойти и на что мы смотрим, принимая итоговое решение. Ещё вы узнаете, почему иногда мы предлагаем кандидату не ту должность, на которую он претендовал.

Читать далее

WireMock для QA: от ручных проверок до автотестов

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.6K

Вам часто приходится тестировать API, когда бэкенд-сервис ещё не готов? В этой статье мы рассмотрим WireMock — удобный инструмент для создания стабов и моков. Вы узнаете, как легко эмулировать работу API, запускать его в standalone-режиме, а также использовать для ручного и автоматизированного тестирования.

Читать далее

Я тимлид, который искал работу в 2025

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров64K

Раньше я искала работу не больше двух недель. В июле 2025 года я вышла на рынок труда и поняла, как все изменилось.

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

Расскажу, как все было.

Читать далее

Ближайшие события

Тестирование CLI-приложений без костылей: единый фреймворк вместо десятка утилит

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров1.9K

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

Меня зовут Артём Хюппенен, я инженер по тестированию в YADRO. В статье я поделюсь техническими деталями собственного фреймворка: как мы выбирали технологии, что оказалось удачным и как теперь любой член команды может быстро автоматизировать тесты для сложных CLI-приложений. В конце статьи — ссылка на репозиторий, чтобы посмотреть архитектуру решения. 

Читать далее

Как я в пинболл играл и баги находил

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.3K

Привет, Хабр! Думаю, каждый из активных пользователей сайта уже видел рекламку «Северстали» с запуском IT-завода и пинболом.

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

Узнать про баг

Что самое важное в тестировании? Мы спросили у команды

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров504

Привет, Хабр! На связи Алина Корсакова, тестировщик в кластере качества RVN Support, R-Vision.

Если вы работаете в разработке, то наверняка сталкивались с QA-командой. Кто-то считает тестировщиков тормозом релиза, кто-то — формальными исполнителями чек-листов, а кто-то вообще полагает, что всё за них решит автоматизация.

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

Чтобы осветить важные аспекты тестирования, которые обычно остаются за кадром, я задала коллегам один, на первый взгляд, простой вопрос:

 – Что самое важное в тестировании?

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

Читать далее

SQL для всех: от новичка до профи. Полный гид по тренажерам, курсам и песочницам

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров24K

Привет, Хабр! Часто ли вам приходилось часами смотреть на сложный JOIN, пытаясь понять, почему он работает не так, как надо? Или, может, вы только начинаете свой путь в IT и слышите со всех сторон, что без SQL никуда? Вы правы, так и есть. SQL – это не просто строчки кода, это ваш ключ к данным, настоящий швейцарский нож для любого тестировщика, аналитика или разработчика.

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

Читать далее

Как правильно вайбкодить! Советы от QA, который запустил свою песочницу

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.2K

Привет, заводчане! В этой статье вы найдете реальные технические советы по особенностям общения с бездушными ИИ моделями, в частности я расскажу про GPT 4o и свежую 5, но эти советы также применимы и к другим AI.

‼️Сразу внесу ясность: рекомендации предназначены для личных пет-проектов и
не призывают нарушать политику конфиденциальности вашей компании!

Я инженер по тестированию и уже около года поддерживаю работу своей песочницы по практике тестирования и подготовке к собеседованию на позицию Full Stack QA. Опыт вайбкодинга повлёк за собой понимания работы JS, CSS и HTML, если говорить конкретно про веб-проект. Благодаря такому проекту и подходу вайбкодинга, я собрал технические инструкции и заметки как выжать максимум из ответа ИИ моделей, здесь будет больше технических особенностей работы с моделями, нежели готовые промпты. Ниже указал 12 советов, которые упростят вам написание кода, разработку своего проекта, изучение нового стека или учебную практику.

Читать далее

Shift-Left тестирование с Testcontainers: ловим баги на ранних этапах локальными интеграционными тестами

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров785

Баги, пойманные на проде, всегда стоят слишком дорого — и времени, и нервов, и репутации. Юнит-тесты не видят проблем с реальными зависимостями, моки быстро устаревают, а интеграционные среды тормозят разработку. Выход ищут в подходе shift-left: проверять критичную бизнес-логику раньше, прямо в IDE, без ожидания CI. В этой статье разберём, как библиотека Testcontainers позволяет поднимать реальные сервисы в контейнерах, писать интеграционные тесты так же просто, как юнит-тесты, и что это даёт с точки зрения скорости и качества по метрикам DORA.

Читать далее

Клик без промаха: комбинированный подход в автоматизации Windows-приложений на примере UWP

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров2.8K

Привет, Хабр! Меня зовут Иван Калашников, я занимаюсь автотестированием в Инфовотч.

В мире web и тонких клиентов по-прежнему приходится тестировать классические приложения: Office apps, Explorer, Telegram, WhatsApp. Сегодня для примера мы возьмем WhatsApp.

Погрузившись в автоматизацию ручных кликов в приложениях Windows с помощью Python, я попробовал несколько известных библиотек, каждая из которых поодиночке оставляла ощущение «чего-то не хватает». PyAutoGUI не видит скрытые элементы, плохо находит элементы с экранами разного масштаба и разрешения, а pywinauto требует разбирать дерево элементов UIA (Microsoft UI Automation), которого может попросту не быть.

В этой статье разберём, как объединение этих инструментов позволяет обойти ограничения каждого и надёжно автоматизировать windows-приложения. Комбинация UI-ориентированных (pywinauto, Win32/UIA) и image-based (PyAutoGUI) техник остаётся самым гибким способом тестировать Windows-приложения. Но чтобы смесь действительно работала, нужны: сравнение бэкендов, явные ожидания, DPI-awareness.

Мы пройдем через ряд мини-кейсов — от кликов, поиска, отправки сообщения, до чтения текста с экрана и выясним, как справляется связка Python-библиотек.

Читать далее
1
23 ...