Обновить
118.67

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

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

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

Быстрее, чище, стабильнее: как мы ускорили UI-тесты в iOS в 2,5 раза

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

Полнота покрытия проекта тестами во многом предопределяет его качество, надёжность и безопасность, поэтому команды предсказуемо стремятся писать тесты на все методы и компоненты. Это имеет и обратную сторону: увеличение покрытия удлиняет прогоны, что, в свою очередь, сказывается на продуктовых метриках. В результате при разработке возникает необходимость искать баланс между покрытием и способами ускорения прогонов. Здесь у каждой компании свой подход.

Меня зовут Мария Рогова. Я iOS-разработчик в ОК. В этой статье я расскажу, с чего мы начинали, почему требовалась оптимизация и что мы предпринимали для ускорения прогона UI-тестов в iOS.

Читать далее

Новости

Что спрашивают на собеседовании у QA и SDET: топ вопросов и ответов. Часть 1. Сети

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

Собеседование —  один из самых важных и волнительных этапов для любого специалиста. Независимо от опыта, возраста или других индивидуальных особенностей, каждый из нас так или иначе переживает за результат, но всё же надеется успешно пройти все этапы интервью. Безусловно, самым серьёзным из них является технический блок. Именно здесь у интервьюера больше всего возможностей вас «помучить» :)

Особенно остро это ощущают специалисты из направления QA/SDET, ведь информации действительно очень много. Но не переживайте: SimbirSoft спешит на помощь!

Меня зовут Кирилл, я SDET-специалист в компании SimbirSoft. В этой статье я собрал список вопросов, на которые обязательно стоит обратить внимание при подготовке — как начинающим специалистам, так и закалённым «воинам» в области обеспечения качества — QA Manual, QA Automation и SDET — вне зависимости от грейда.

Читать далее

WireMock без боли

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

Всем привет, меня зовут Булат Маскуров, я QA Lead в Uzum Fintech. В своей статье расскажу, как сделать WireMock «ультимативным» mock-сервером. А если пока вы не знакомы с этим инструментом, я введу в курс дела, объясню, как и зачем прикручивать к WireMock простой и удобный Web GUI, и самое интересное: покажу инструмент изнутри, опишу Extension API и расскажу про наше кастомное расширение, которое решило реальную проблему.

Читать далее

Розыгрыш стула, похищение прав: что нашел пентестер в пет-проекте

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

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

Привет! Меня зовут Наташа Баранова, я младший специалист по анализу защищенности веб-приложений в Selectel. Под катом расскажу, как проводила пентест пет-проекта своего коллеги: я получала права админа, обнуляла голоса других пользователей, меняла цены, самовольно назначала победителя и подкручивала результаты голосований. И да — это все происходило в приложении, которое оказалось простым и удобным для пользователей, а уж для меня — почти праздник. Надеюсь, будет полезно и начинающим в ИБ, и разработчикам, которые хотят понять базовые ошибки безопасности.

Под кат →

Fookie — расширение, которое избавит вас от боли с feature-флагами на cookies

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

## Всем привет!

В этой статье я хочу рассказать о небольшой расширении, которое упрощает хранение и использование feature toggles, работающих через cookie.

Наши фича-тоглы работают по принципу указания ключа и значения в cookie. Однако при тестировании (и не только) возникает несколько болей:

* Количество тоглов уже перевалило за сотню, и хранятся они в Confluence. Постоянно ходить туда или держать их названия в голове — то ещё удовольствие.

* Тестирование на фичевых ветках осложняется тем, что из-за разных доменов UI и API невозможно авторизоваться: cookie не проставляются автоматически. Чтобы их добавить, приходится заходить на мастер-ветку, брать оттуда cookie и вручную подменять домен. Не страшно, если речь идёт об одной-двух куках, но когда их больше десяти — это уже боль.

* Просмотр результата на проде тоже не всегда прост: фича-маппер не позволит просто так поменять значение cookie и вернёт исходное.

Чтобы упростить жизнь, был создали Fookie — инструмент, который позволяет хранить, выгружать, загружать, добавлять, удалять cookie и многое другое.

Разберём всё по порядку 👇

---

### Как появилась идея

Изначально задумывалось, что Fookie будет хранить информацию о feature-флагах и менять домены.

Цель — чтобы пользователь мог зайти на страницу в Confluence, нажать кнопку «Обновить», и все фича-флаги подтянулись бы в расширение. Также одной кнопкой можно было бы заменить домен у всех кук на странице.

Первая версия Fookie была неказистая, но рабочая — а это главное. Уже тогда можно было:

Читать далее

Художественный фильм «Импортозаместили» (побрюзжим)

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

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

Решение, безусловно правильное, нужное, но вот реализация, как всегда.

Хочу провести скромную ревизию того - что нам обещали и что мы получили в итоге (это будет сугубо субъективное мнение среднестатистического пользователя):

Читать далее

Как запускать 100k+ браузеров в день и спать спокойно

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

Привет! Я Павел Лобач из команды инфраструктуры тестирования Т-Банка. Расскажу, как у нас организована инфраструктура для запуска E2E браузерных тестов, как она развивалась и как в итоге вылилась в открытый проект Selebrow. 

Будет много технических подробностей и ни слова про ИИ!

Читать далее

Requestly: гайд для тестировщиков

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

Привет! Я Ева, тестировщик в KTS.

В этой статье я хочу рассказать про Requestly — мощный инструмент, позволяющий перехватывать и модифицировать HTTP-запросы и ответы без участия разработчиков. Он особенно полезен при тестировании нестандартных сценариев, симуляции ошибок и быстром создании нужных тестовых данных.

Во многих разделах Requestly есть обучающие видео про работу с этим инструментом, однако они не всегда подробно покрывают все его возможности. К тому же, на русском языке материалов о нем довольно мало. Я решила собрать весь свой опыт работы с Requestly в один объемный туториал — от начала работы до конкретных юз-кейсов.

Читать далее

Мы запретили программистам писать код и ускорили релизы в 2 раза. Как к этому пришли

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

Мы ускорили релизный цикл в 2 раза за счёт жёсткого shift‑left: запретили писать и коммитить код без ранней проверки требований и автогенерации тестов ИИ. Рассказываем, как у нас это получилось и насколько выгоден такой подход компании.

Читайте, как этого добились

Визуальное тестирование с ИИ: сравнение скриншотов без ложных срабатываний

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

Мультимодальные модели блестяще «понимают» сцены, но промахиваются там, где тестировщику важно точное соответствие: в сравнении двух версий одного экрана. Случайный сдвиг на несколько пикселей ломает пиксельные diff’ы и маскирует реальные проблемы — вроде исчезнувшей кнопки. Разбираем, почему так происходит, как компенсировать искажения многоуровневым сопоставлением и как простая CNN по окнам 9×9 помогает выявлять именно релевантные отличия.

Как это работает

Как я создала аккаунт с именем «NULL» и мне стали приходить уведомления о покупке доменов другими пользователями

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

Всем привет. Меня зовут Аня (SavAnna) я работаю AppSec и как хобби занимаюсь багбаунти. Багбаунти - отличный способ отдохнуть от своих сервисов и сменить фокус с "защиты" на "нападение". Не всегда баги ищутся целенаправленно - иногда это происходит случайно. Хочу показать, что много странных и простых багов может найти каждый.

Читать далее

gRPC для тестировщика: быстрый старт после REST

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

REST API уже давно стал стандартом, но у него есть ограничения. gRPC решает то, с чем REST не справляется: обеспечивает высокую скорость передачи данных, поддерживает стриминг и дает строгую структуру взаимодействия. Его удобно использовать в микросервисах, мобильных и IoT-приложениях.

Для тестировщика это значит одно: умение работать с gRPC превращается из «будет плюсом» в обязательный навык. Если вы еще не работали с этим протоколом, то статья поможет понять его основы, отличие от REST, как устроены .proto-файлы, и самое главное – как тестировать gRPC-сервисы с помощью Postman.

Читать далее

MES-система глазами тестировщика

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

Привет, дорогой читатель! Я, Владимир Зиновьев, ведущий тестировщик в ИТ-команде «Северстали». Если тебя заинтересовала эта статья, то скорее всего ты такой же тестировщик, как и я, и задаёшься вопросом, как эффективно выстроить свою работу. Здесь я поделюсь долгим путём нашей команды со всеми «шишками» и успехами тестирования наших систем в большом MES-проекте. Особенно я бы порекомендовал обратить внимание на раздел с тестированием «Legacy-системы», так как там применялись довольно нестандартные и интересные подходы, по-моему мнению, конечно. Давай погружаться.

Читать далее

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

Performance monitor и не только: продолжаем тестировать производительность в Chrome DevTools

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

Привет! Продолжаем разбирать малоизвестные, но крайне полезные фичи Chrome DevTools. Меня зовут Святослав Ященко, я тимлид QA-команды Platform V Kintsugi — это графическая консоль для сопровождения PostgreSQL и Postgres-like СУБД. Ранее я писал о том, как тестировать производительность через вкладку Performance. Материала набралось так много, что мне пришлось разбить его на две статьи. Сегодня мы поговорим об утилите Performance monitor, инструменте Chrome Task Manager и о том, как вывести FPS сайта на экран. Приглашаю под кат!

Читать далее

11 способов мышления тестировщика: как и зачем переключаться между подходами

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

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

Читать далее

Простоту охота навести: как легко тестировать клиент-серверные взаимодействия на примере WebSocket

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

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

Привет, Хабр! Меня зовут Максим Попов, я инженер по автоматизированному тестированию внутренних продуктов в Сбере — в том числе SCPL. В этой статье расскажу, как упростить настройку клиент-сервер взаимодействия в рамках фреймворка автотестирования.

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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