Cucumber в Cypress: пошаговое руководство

Один из вопросов, которые мне чаще всего задают на вебинарах, это: «Как мне использовать «X» в Cucumber?» Идет ли речь о тестировании API, cy.session() или другой функциональности, Cucumber, похоже, является обязательным требованием для многих команд.

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

Читать далее


Мокинг внешних API в Python

В этом руководстве я планирую показать, как протестировать использование внешнего API с помощью Python моков.

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

Читать далее


Postman для эффективного тестирования API

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

Читать далее


Разница между LoadRunner и Performance Center

Micro Focus LoadRunner и Performance Center являются одними из лучших инструментов тестирования производительности, доступных на рынке. В статье подробно расскажем об этих инструментах в простых терминах.

Читать далее


Как использовать JMeter для нагрузочного тестирования и тестирования производительности

Apache JMeter — это инструмент для проведения нагрузочного тестирования, представляющий собой десктопное приложение с открытым исходным кодом на базе Java. JMeter позволяет определить, может ли тестируемое веб-приложение удовлетворять требованиям высокой нагрузки или нет. Он также помогает проанализировать работу всего сервера под высокой нагрузкой.

Читать далее


Введение в Locust: open source инструмент для нагрузочного тестирования на языке Python

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

Прочитав эту статью, вы научитесь использовать этот инструмент нагрузочного тестирования. С его помощью можно получить представление о том, какое количество запросов в секунду (RPS) поддерживает ваш сервер.

Читать далее


Лучшие практики для оптимизации тестов в Appium

Appium — это инструмент с открытым исходным кодом для автоматизации, способный взаимодействовать с тестовым скриптом, сервером Appium и эмулятором или реальным устройством, на котором выполняется скрипт. 

Чтобы использовать весь потенциал Appium, важно знать об основных «подводных камнях», с которыми придется столкнуться в начале работы с фреймворком, а также внутренние возможности Appium. В данном руководстве мы рассмотрим несколько лучших практик, которые помогут QA-специалистам оптимизировать тесты в Appium.

Читать далее


Как внедрить процесс обеспечения качества в Agile-команду

В agile-среде тестирование является важной частью каждого жизненного цикла программного обеспечения. То, как тестирование внедряется в фазы разработки проекта, называется QA-процессом.

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

Читать далее


Знакомство с Jest Mocks

Мокинг — это техника изоляции объектов тестирования путем замены зависимостей объектами, которые можно проверять и контролировать. Зависимостью может быть всё, от чего зависит объект, но обычно это модуль, который объект импортирует. Есть хорошие библиотеки для мокинга в JavaScript, такие как testdouble и sinon, а Jest обеспечивает мокинг из коробки.

Недавно я стал соавтором Jest, чтобы помочь разобраться с баг-трекером, и сразу заметил, что возникает много вопросов о том, как работает мокинг в Jest. Поэтому я решил составить соответствующее руководство.

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

Читать далее


Удачный переход Netflix на GraphQL

В 2022 году с приложениями Netflix для iOS и Android произошли серьезные изменения. Мы перевели мобильные приложения Netflix на GraphQL с нулевым временем простоя, что повлекло за собой полное перепроектирование от клиента до уровня API.

До недавнего времени наши мобильные приложения работали на внутреннем API-фреймворке Falcor. Теперь они поддерживаются Federated GraphQL — распределенным подходом к API, при котором доменные команды могут независимо управлять и владеть определенными разделами API.

Сделать это безопасно и без сбоев для 100 миллионов клиентов — чрезвычайно сложная задача, особенно учитывая множество аспектов изменений. В этой статье мы расскажем о широко применяемых методах (помимо GraphQL), которые мы использовали для осуществления этой миграции. Мы обсудим три стратегии — A/B-тестирование, Replay Testing и Sticky Canaries.

Читать далее


Роль тест-лида в контексте скрам команд

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

Может показаться, что при таком уровне коллективной ответственности лиды тестирования уже как будто бы и не нужны. Ведь если решение по многим вопросам команда принимает самостоятельно; если самые волнующие команду вопросы обсуждаются на ретро (и часто это не вопросы тестирования), то в итоге команда сама выбирает свой путь, а лиды упраздняются, являются просто частью команды разработки, тестируют сложные задачи и всё.

На деле, конечно же, это не так. Тест-лиды, или лица, выполняющие эту роль, нужны командам. Помимо обычной рутинной лидовской работы они должны иметь ряд определенных компетенций. 

Читать далее


Инструменты автоматического тестирования безопасности QA

На тему автоматизации тестирования написано множество статей, посвященных различным инструментам QA в рамках процессов DevOps. В этой статье мы тоже будем говорить об автоматизации тестирования, но уже в контексте процессов DevSecOps.

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

Читать далее

Тестирование веб-сервисов и IT-систем: подборка статей из блога OTUS на Хабр