
Игра по своим правилам. Рассказываю, как с помощью DevTools и нестандартных методов можно выйти на первое место в Telegram MiniApp.
Семь раз оттесть, один раз деплой
Игра по своим правилам. Рассказываю, как с помощью DevTools и нестандартных методов можно выйти на первое место в Telegram MiniApp.
Работая с монорепозиториями на Nx, часто возникает необходимость получить единый отчёт о покрытии кода. Однако по умолчанию каждый проект генерирует отдельный файл, что затрудняет анализ. В этой статье расскажем, как с помощью nyc-merge
объединить все отчёты в один.
Тестирование — это наука не о том, чтобы доказать, что программа работает корректно, а о том, чтобы доказать, что она работает НЕкорректно. И если доказать это не удалось, то с какой-то вероятностью программа работает корректно. Остается некоторый пробел. Давайте рассмотрим, что за это за пробелы, откуда берутся и как можно их минимизировать.
Привет, Хабр!
Это вторая часть статьи о Kafka (первая тут). Давайте продолжим разбираться.
Итак, часто тестирование сводится к эмуляции работы сервиса и наблюдением за топиками кафки. Для этого необходимо подключиться к кластеру кафки с теми же правами доступа, что и у вашего сервиса либо сервиса, с которым у вас интеграция (креды для кластера обычно подсказывают коллеги-разработчики, девопсы, тестировщики)...
Статья для начинающих QA посвящена распространенной проблеме рутинных задач в тестировании (дейли, отчеты, анализ требований, регресс, воспроизведение багов, подготовка данных, коммуникация). Автор с юмором описывает эти ситуации и предлагает практические решения, подкрепленные ссылками на книги по управлению проектами и тестированию. Советы включают автоматизацию, оптимизацию процессов, развитие, делегирование и поиск смысла в работе.
Всем привет, меня зовут Стас, я техлид в Mish Product Lab.
Тема возникла не просто так: внутри команды у нас было немало споров и дискуссий о том, какой инструмент для проксирования и терминации SSL лучше использовать в различных ситуациях. Изначально все наши гипотезы были основаны больше на личных предпочтениях, чем на реальных данных. Мы долго спорили, надеясь, что истина будет где-то рядом с нашими любимыми решениями. Но в итоге пришли к выводу, что единственный способ получить действительно объективный ответ — это протестировать и сравнить различные варианты на практике.
Именно так родилась идея провести сравнительный анализ производительности HAProxy, Envoy, Nginx, Caddy и Traefik с поддержкой SSL/TLS. Мы хотели понять, какой из инструментов «из коробки» предоставляет наилучшую производительность и минимальные накладные расходы, особенно при обработке SSL-трафика, который, как известно, требует дополнительных ресурсов из-за шифрования и дешифрования.
Параметризованные автотесты — это удобный инструмент, который помогает тестировать программное обеспечение быстрее и эффективнее. Вместо написания множества однотипных тестов с разными входными данными, можно использовать один тестовый метод, подставляя в него разные параметры. Это упрощает код и делает его более удобным в поддержке. JUnit 5, популярный фреймворк для тестирования Java-приложений, предлагает множество возможностей для работы с параметризованными тестами, делая процесс тестирования гибче и удобнее.
В воспитании детей есть интересный каламбур: если вы в любой момент времени не знаете, чем заняты ваши дети, то, возможно, это уже не ваши дети. Перефразируя под процессы обеспечения качества в проекте, можно сказать: если вы не знаете, чем занимаются ваши QA‑инженеры, и не внедрили метрики в проекте, то, возможно, это уже не ваш проект?
Меня зовут Илья я лид тестирования в проекте Сбер Диск. Про управление командой тестирования поговорим как‑нибудь в другой раз. А сейчас мне хотелось бы обсудить именно метрики тестирования.
Метрики. Кого‑то они пугают, кто‑то их ненавидит, кто‑то молится на них. Признаюсь, когда я только начинал заниматься тестированием, они меня дико раздражали. «Да зачем они вообще нужны?» — думал я. — «Давайте просто работать. Писать тест‑кейсы, потом их автоматизировать». Нужны метрики? Ну вот, я вручную проверял неавтоматизированные кейсы и запустил автотесты. Вот аллюр отчёт по ним. Разве это не метрики?
Тестирование кода, особенно в сложных системах, зачастую затруднено из-за зависимости от реальных баз данных, внешних сервисов или действий пользователей. Чтобы упростить тестирование, используют заглушки — это упрощенные версии реальных компонентов, которые помогают проверить работу системы без необходимости запускать всё "по-настоящему".
Всем привет! Попарное тестирование (pairwise testing) - одна из самых распространённых техник тест дизайна. Уверена, вы уже про неё читали в книгах, сертификациях, статьях…
В этой статье хочу рассказать о том, на чём основана данная техника, почему она так распространена, пояснить принцип, разобрать примеры и инструменты, которые помогают автоматизировать процесс тест дизайна.
В этой статье я расскажу про swagger-coverage-tool — инструмент, который показывает, насколько полно ваши тесты покрывают API по спецификации Swagger (OpenAPI). Всё работает автоматически, без изменений в логике тестов. Поддерживаются httpx и requests, отчёт генерируется в один клик. Идеально, если вы хотите объективно видеть, что действительно проверяют ваши API автотесты.
Привет, Хабр!
Время — это одна из самых нестабильных переменных в коде (и не только). Оно безжалостно к CI, случайным багам и здравому смыслу. Особенно если вы пишете логику, где участвует datetime.now()
, time.time()
или utcnow()
: TTL, крон-задачи, дедлайны, отложенные события, idempotency-окна, подписки, отложенная отправка писем, повторная авторизация — всё это работает с временными сдвигами. И всё это будет ломаться, если не заморозить время в тестах.
В этой статье рассмотрим, как выстроить адекватную архитектуру контроля времени: от простых фиксаций до внедрения Clock-абстракции.
Привет! Меня зовут Сергей, я дизайнер в команде, которая делает внутренний инструмент для сотрудников ДомКлик — тех, кто каждый день работает с клиентами и помогает им оформить или сопроводить ипотеку.
Наш продукт не увидит внешний пользователь, но он напрямую влияет на скорость, точность и удобство работы с ипотекой. Если что-то в интерфейсе неудобно, то это отражается не только на работе специалиста, но и на том, как быстро клиент получит одобрение, подпишет договор и купит квартиру.
Расскажу, как мы подходим к тестированию дизайна, какие методы используем, какие сложности бывают и что из этого получилось.
ГОСТ Р 56939-2024 описывает общие требования к процессам разработки безопасного ПО – от образования, до технической поддержки, от статического, до динамического анализа, однако особое внимание уделяется определению поверхности атаки, то есть поиску множества потенциально уязвимых функций и модулей ПО, занимающихся обработкой пользовательских данных или чувствительной информации, а также интерфейсов, через которые эти данные поступают.
Обычно поверхность атаки определяют экспертным методом, однако тут же возникает вопрос полноты этого метода: что если эксперт пропустил действительно важные функции, участвующие в обработке данных, поскольку ПО имеет распределенную архитектуру, за потоком данных которой очень сложно следить извне, или выбрал такие функции для фаззинга, которые даже не задействованы при обработке пользовательских данных? Какие тогда функции выбирать?
Привет, сегодня поговорим, как установить ChromeDriver без костылей и ошибок.
Если автоматическая загрузка актуальной версии chromedriver (или драйвера для другого браузера) не предусмотрена. Или не работает, и мы при запуске UI-тестов получаем ошибку о том:
1. Что у нас отсутствует chromedriver
2. Не совпадает версия chromedriver и chrome (также может относиться к любому другому браузеру и его драйверу).
Всем привет! Меня зовут Ксения и я вот уже почти 9 лет в тестировании. Не так давно поймала себя на мысли, что мой аккаунт на Хабре совсем запылился. А ведь за годы работы у меня было достаточно много опыта на различных позициях от ручного тестировщика до руководителя и мне действительно есть чем поделиться. Так и пришла в мою голову мысль поднять в очередной раз тему развития в тестировании. Мне кажется, что эта тема будет актуальна всегда. Эта статья будет первой, в планах у меня уложиться в три, но там уж как пойдет.
Привет, Хабр! Меня зовут Женя, я SDET в «Островке». В этой статье расскажу, как мы решали задачу интеграции автотестов в CI/CD, когда тесты и код живут в разных репозиториях.
Спойлер: финальное решение оказалось элегантным, но давайте по порядку.
Тестирование сложных систем, таких как LlamaIndex Workflow, включающих несколько шагов, извлечение данных и генерацию текста с помощью LLM, является нетривиальной задачей. Стандартные методы тестирования не всегда могут оценить семантическое качество и релевантность генерируемых ответов. DeepEval предоставляет набор инструментов и метрик, специально разработанных для оценки LLM-приложений, что делает его подходящим решением для тестирования LlamaIndex Workflow.
Давайте разберем два подхода к интеграции DeepEval с LlamaIndex Workflow:
Тестирование на проникновение всегда ограничено во времени. Если черные хакеры (или просто хакеры) могут потратить недели и месяцы на проведение APT атаки, то белые хакеры не могут позволить себе такую роскошь. Есть договор на проведение пентеста и в этом договоре четко указаны сроки.
Для того, чтобы пентест был максимально эффективным, используются различные инструменты автоматизации, однако очень часто бывает так, что удобнее всего использовать собственные скрипты, так как часто возникает необходимость в некоторой кастомизации, когда нужно немного изменить код скрипта и конечно лучше менять то в чем хорошо разбираешься.
Привет, Хабр! С вами снова Ольга Султанова, руководитель отдела тестирования Рунити. В этот раз расскажу, как мы автоматизировали рутинные задачи в нашем отделе с помощью собственного бота, сократили работу над почти десятью мелкими задачами, сосредоточились на более важных делах и стали регулярно отмечать дни рождения в команде. А еще подсветим проблемы. Статья будет полезна, прежде всего, тимлидам, тестировщикам и разработчикам. Подробности под катом.