Что такое непрерывное тестирование 

Необходимость

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

Определение Continuous Testing

Continuous Testing — подход к тестированию, при котором продукт оценивается и тестируется как можно раньше, и далее тестируется непрерывно, в течение всего процесса доставки — Continuous Delivery (CD). 

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

Преимущества

Непрерывное тестирование приносит пользу:

  • Более частые релизы: Код поступает на прод чаще и быстрее
  • Эффективность командной работы: Улучшается коммуникация команд разработчиков, тестировщиков, и поддержки продукта.
  • Ускорение тестирования: Выполнение параллельных тестов (в первую очередь производительности), что позволяет ускорить STLC-цикл
  • Упрощается работа с багами: Обеспечивает выявление багов до релиза, что удешевляет стоимость продукта
  • Снижение рисков для компании: Позволяет вовремя заметить и устранить назревающие проблемы

Из чего состоит непрерывное тестирование

Непрерывная интеграция

Непрерывная интеграция (Continuous integration, CI) позволяет вовремя проверить совместимость компонентов продукта. CI автоматически «собирает» код от команд, работающих над проектом, и помещает его в репозиторий. Неупорядоченная интеграция кода разных разработчиков в один проект может привести к накоплению неразобранных багов. И здесь может помочь непрерывное тестирование.

Непрерывная доставка

Непрерывная доставка (Continuous Delivery, CD) — это процесс, позволяющий проводить развертывание (деплой) всех изменений кода в сборке в тестовой среде или в staging-среде. CD является необходимым условием непрерывного тестирования, поскольку позволяет выпускать сборки в прод-окружение по мере необходимости.

Автоматизация

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

Как проводится Continuous Testing

Непрерывное тестирование в идеале должно работать на каждом этапе CI/CD-пайплайна. Эффективность заметнее при тестировании последнего билда в изолированном окружении. Также практикуется создание тест-свитов на каждом этапе — коррекций кода, мерджей и релиза. Что позволяет сокращать время тестирования и не терять в качестве.

Best Practices

  • Повышение уровня автоматизации: автоматизация позволяет увеличить на порядок скорость процессов и «охват» багов. Максимально доступная автоматизация жизненного цикла разработки поможет непрерывнее тестировать и быстрее выдавать релизы.
  • Отслеживание ключевых метрик: Непрерывно отслеживать самые важные количественные показатели (метрики) тестирования, которые демонстрируют эффективность QA-процессов в целом.
  • Поддерживать прозрачность коммуникации в командах: чтобы не допускать «изоляции» QA-процессов от остальных процессов, и QA-команд от разработчиков и стейкхолдеров. Активная прямая коммуникация — ключ к гармонии в любой компании, она необходима для эффективного непрерывного тестирования.
  • Интеграция тестирования производительности в SDLC-цикл: Непрерывное тестирование производительности является важной составляющей непрерывного тестирования, поскольку оно позволяет постоянно контролировать скорость, надежность, респонсивность и стабильность приложения.

Инструменты Continuous Testing

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

Travis CI

Travis CI — на GitHub, есть в hosted- и в локальном варианте.

Jenkins

Jenkins — наверное, самый популярный инструмент непрерывной интеграции (и тестирования), по крайней мере самый часто применяемый. Работает как через GUI-интерфейс, так и через консоль.

Katalon Studio

Katalon Studio представляет собой целую платформу автоматизированного тестирования Web UI, веб-сервисов, API и мобильных девайсов.

Selenium

Selenium — №1 в мире QA, применяется и для автоматизации непрерывного тестирования веб-приложений.


Источник

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас