Как стать автором
Обновить
94.57

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

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

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

Игра по своим правилам: хак лидерборда в Telegram MiniApp

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

Игра по своим правилам. Рассказываю, как с помощью DevTools и нестандартных методов можно выйти на первое место в Telegram MiniApp.

Читать далее

Новости

Охота за 100% покрытием: как собрать все метрики воедино в монорепозитории Nx

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

Работая с монорепозиториями на Nx, часто возникает необходимость получить единый отчёт о покрытии кода. Однако по умолчанию каждый проект генерирует отдельный файл, что затрудняет анализ. В этой статье расскажем, как с помощью nyc-merge объединить все отчёты в один.

Читать далее

Неизвестные пробелы в тестовом покрытии

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

Тестирование — это наука не о том, чтобы доказать, что программа работает корректно, а о том, чтобы доказать, что она работает НЕкорректно. И если доказать это не удалось, то с какой-то вероятностью программа работает корректно. Остается некоторый пробел. Давайте рассмотрим, что за это за пробелы, откуда берутся и как можно их минимизировать.

Читать далее

Kafka: как тестировать. Часть 2

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

Привет, Хабр!

Это вторая часть статьи о Kafka (первая тут). Давайте продолжим разбираться.

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

Читать далее

Истории

День Сурка QA: как не застрять в цикле рутинных задач

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

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

Читать далее

Проксирование из коробки: сравнительный анализ HAProxy, Envoy, Nginx, Caddy и Traefik

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

Всем привет, меня зовут Стас, я техлид в Mish Product Lab.

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

Именно так родилась идея провести сравнительный анализ производительности HAProxy, Envoy, Nginx, Caddy и Traefik с поддержкой SSL/TLS. Мы хотели понять, какой из инструментов «из коробки» предоставляет наилучшую производительность и минимальные накладные расходы, особенно при обработке SSL-трафика, который, как известно, требует дополнительных ресурсов из-за шифрования и дешифрования.

Читать далее

Как мы создаем параметризованные автотесты с JUnit 5

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

Параметризованные автотесты — это удобный инструмент, который помогает тестировать программное обеспечение быстрее и эффективнее. Вместо написания множества однотипных тестов с разными входными данными, можно использовать один тестовый метод, подставляя в него разные параметры. Это упрощает код и делает его более удобным в поддержке. JUnit 5, популярный фреймворк для тестирования Java-приложений, предлагает множество возможностей для работы с параметризованными тестами, делая процесс тестирования гибче и удобнее.

Подробности

А вы знаете, что происходит у вас в проекте?

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

В воспитании детей есть интересный каламбур: если вы в любой момент времени не знаете, чем заняты ваши дети, то, возможно, это уже не ваши дети. Перефразируя под процессы обеспечения качества в проекте, можно сказать: если вы не знаете, чем занимаются ваши QA‑инженеры, и не внедрили метрики в проекте, то, возможно, это уже не ваш проект?

Меня зовут Илья я лид тестирования в проекте Сбер Диск. Про управление командой тестирования поговорим как‑нибудь в другой раз. А сейчас мне хотелось бы обсудить именно метрики тестирования.

Метрики. Кого‑то они пугают, кто‑то их ненавидит, кто‑то молится на них. Признаюсь, когда я только начинал заниматься тестированием, они меня дико раздражали. «Да зачем они вообще нужны?» — думал я. — «Давайте просто работать. Писать тест‑кейсы, потом их автоматизировать». Нужны метрики? Ну вот, я вручную проверял неавтоматизированные кейсы и запустил автотесты. Вот аллюр отчёт по ним. Разве это не метрики?

Читать далее

Моки, стабы и фейки: в чем разница и когда что использовать?

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

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

Читать далее

Pairwise тестирование. Почему, зачем и как?

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

Всем привет! Попарное тестирование (pairwise testing) - одна из самых распространённых техник тест дизайна. Уверена, вы уже про неё читали в книгах, сертификациях, статьях…

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

Читать далее

Измерение покрытия API тестами на основе Swagger для Python

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

В этой статье я расскажу про swagger-coverage-tool — инструмент, который показывает, насколько полно ваши тесты покрывают API по спецификации Swagger (OpenAPI). Всё работает автоматически, без изменений в логике тестов. Поддерживаются httpx и requests, отчёт генерируется в один клик. Идеально, если вы хотите объективно видеть, что действительно проверяют ваши API автотесты.

Читать далее

Контроль времени в Python-тестах: freeze, mock и архитектура Clock

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

Привет, Хабр!

Время — это одна из самых нестабильных переменных в коде (и не только). Оно безжалостно к CI, случайным багам и здравому смыслу. Особенно если вы пишете логику, где участвует datetime.now(), time.time() или utcnow(): TTL, крон-задачи, дедлайны, отложенные события, idempotency-окна, подписки, отложенная отправка писем, повторная авторизация — всё это работает с временными сдвигами. И всё это будет ломаться, если не заморозить время в тестах.

В этой статье рассмотрим, как выстроить адекватную архитектуру контроля времени: от простых фиксаций до внедрения Clock-абстракции.

Читать далее

Как мы тестируем дизайн внутренних продуктов и почему это влияет на ипотеку

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

Привет! Меня зовут Сергей, я дизайнер в команде, которая делает внутренний инструмент для сотрудников ДомКлик — тех, кто каждый день работает с клиентами и помогает им оформить или сопроводить ипотеку.

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

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

Читать далее

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

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
22 апреля
VK Видео Meetup 2025
МоскваОнлайн
23 апреля
Meetup DevOps 43Tech
Санкт-ПетербургОнлайн
24 апреля
VK Go Meetup 2025
Санкт-ПетербургОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
14 мая
LinkMeetup
Москва
5 июня
Конференция TechRec AI&HR 2025
МоскваОнлайн
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

Разглядываем CodeScoring с помощью Natch

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

ГОСТ Р 56939-2024 описывает общие требования к процессам разработки безопасного ПО – от образования, до технической поддержки, от статического, до динамического анализа, однако особое внимание уделяется определению поверхности атаки, то есть поиску множества потенциально уязвимых функций и модулей ПО, занимающихся обработкой пользовательских данных или чувствительной информации, а также интерфейсов, через которые эти данные поступают.

Обычно поверхность атаки определяют экспертным методом, однако тут же возникает вопрос полноты этого метода: что если эксперт пропустил действительно важные функции, участвующие в обработке данных, поскольку ПО имеет распределенную архитектуру, за потоком данных которой очень сложно следить извне, или выбрал такие функции для фаззинга, которые даже не задействованы при обработке пользовательских данных? Какие тогда функции выбирать?

Читать далее

How to: Установка chromedriver руками

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

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

Если автоматическая загрузка актуальной версии chromedriver (или драйвера для другого браузера) не предусмотрена. Или не работает, и мы при запуске UI-тестов получаем ошибку о том:

1. Что у нас отсутствует chromedriver

2. Не совпадает версия chromedriver и chrome (также может относиться к любому другому браузеру и его драйверу).

Читать далее

Как я подошла к построению карты компетенций тестировщиков

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

Всем привет! Меня зовут Ксения и я вот уже почти 9 лет в тестировании. Не так давно поймала себя на мысли, что мой аккаунт на Хабре совсем запылился. А ведь за годы работы у меня было достаточно много опыта на различных позициях от ручного тестировщика до руководителя и мне действительно есть чем поделиться. Так и пришла в мою голову мысль поднять в очередной раз тему развития в тестировании. Мне кажется, что эта тема будет актуальна всегда. Эта статья будет первой, в планах у меня уложиться в три, но там уж как пойдет. 

Читать далее

Три способа реализовать кросспроектный триггер джобы с поправкой на права

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

Привет, Хабр! Меня зовут Женя, я SDET в «Островке». В этой статье расскажу, как мы решали задачу интеграции автотестов в CI/CD, когда тесты и код живут в разных репозиториях.

Спойлер: финальное решение оказалось элегантным, но давайте по порядку.

Читать далее

Интеграция DeepEval для тестирования LlamaIndex Workflow

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

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

Давайте разберем два подхода к интеграции DeepEval с LlamaIndex Workflow:

Читать далее

Автоматизируем пентест с помощью Python

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

Тестирование на проникновение всегда ограничено во времени. Если черные хакеры (или просто хакеры) могут потратить недели и месяцы на проведение APT атаки, то белые хакеры не могут позволить себе такую роскошь. Есть договор на проведение пентеста и в этом договоре четко указаны сроки.

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

Читать далее

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

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

Привет, Хабр! С вами снова Ольга Султанова, руководитель отдела тестирования Рунити. В этот раз расскажу, как мы автоматизировали рутинные задачи в нашем отделе с помощью собственного бота, сократили работу над почти десятью мелкими задачами, сосредоточились на более важных делах и стали регулярно отмечать дни рождения в команде. А еще подсветим проблемы. Статья будет полезна, прежде всего, тимлидам, тестировщикам и разработчикам. Подробности под катом.

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