Истории

Что такое непрерывное тестирование и зачем оно нужно вашим разработчикам

Истории
Анна Самойдюк
Анна Самойдюк

Ex-редактор направления «Истории».

Анна Самойдюк

Непрерывное тестирование – современная концепция ускоренного тестирования, когда тесты проводятся непрерывно, качество оценивается на каждом шагу, а системы разработки, QA, DevOps и операционная система работают сообща.

Что такое непрерывное тестирование и зачем оно нужно вашим разработчикам

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

Непрерывное тестирование – тип тестирования программного обеспечения, который включает в себя процесс раннего тестирования, частого тестирования, повсеместного тестирования и автоматизации.

Это стратегия оценки качества на каждом шагу. Цель непрерывного тестирования – тестировать рано и тестировать часто. В процессе участвуют системы разработки, DevOps, QA и операционная система.

Чем отличается непрерывное тестирование?

Старый способ тестирования был децентрализованным. Программное обеспечение передавалось от одной команды к другой. Проект имел определенные фазы разработки и тестирования. Команда QA всегда требовала больше времени для проверки ПО. Цель состояла в том, чтобы качество преобладало над дедлайном проекта.

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

При непрерывном тестировании в приложении постоянно выполняются тесты. При непрерывном DevOps-процессе все изменения в приложении постоянно переходят из разработки в тестирование и затем к доставке.

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

Как непрерывное тестирование отличается от автоматизированного? 

Автоматизированное тестирование vs непрерывное тестирование:

Параметр Автоматизированное тестирование Непрерывное тестирование
Определение Процесс, где инструмент или ПО используется для  автоматизации задач. Методология тестирования, фокусирующаяся на достижении непрерывного качества и улучшения. 
Цель Набор простых или повторяемых задач, которые машина может выполнять быстрее и при меньшем количестве ошибок.  Помогает найти риск, решить его и улучшить качество продукта. 
Необходимое условие Автоматизация в тестировании без интеграции непрерывного тестирования. Непрерывное тестирование нельзя провести без автоматизированного. 
Время На выпуск софта могут уйти месяцы и годы.  Софт может выйти через неделю или несколько часов.
Фидбек Регулярный фидбек после тестирования каждого релиза. Фидбек на каждом этапе должен быть мгновенным
История Автоматизированному тестированию десятки лет.  Концепция непрерывного тестирования относительно нова

Этапы непрерывного тестирования

  • Использовать инструменты генерации автотестов из требований и юзер-стори
  • Создать тестовое окружение
  • Скопировать и анонимизировать данные из продакшена для создания тестового датасета
  • Применить виртуальные сервисы (заглушки) для тестирования API
  • Параллельное нагрузочное тестирование

Инструменты

1) Experitest

Experitest – платформа непрерывного тестирования для мобильных и веб-приложений, позволяющая вам проводить тесты на 2000 реальных мобильных устройствах и браузерах. Она полностью интегрируются с экосистемой вашей разработки, тестирования и непрерывной интеграции и совместима с Appium, Selenium, Jenkins, Travis CI и так далее.

2) QuerySurge

QuerySurge – умное решение для тестирования данных; это первое DevOps-решение для непрерывного тестирования данных. К числу основных функций относятся надежный API, аналитика данных, интеграция в DevOps-процесс для непрерывного тестирования и быстрая проверка больших объемов данных. 

3) Jenkins

Jenkins – инструмент непрерывного тестирования, написанный на Java. Его можно настроить через графический интерфейс или консольные команды.

4) Travis

Travis – инструмент непрерывного тестирования, размещенный на GitHub.  Он предлагает множество разных языков и хорошую документацию.

5) Selenium

Selenium – инструмент тестирования с открытым исходным кодом. Он поддерживает все ведущие браузеры: Firefox, Chrome, IE и Safari. Selenium WebDriver используется для автоматизации веб-приложений.

Преимущества непрерывного тестирования

  • Ускорение выпуска софта 
  • Улучшение качества кода
  • Оценка покрытия бизнес-рисков
  • Интеграция с процессом DevOps
  • Создание гибких и надежных процессов за несколько часов
  • Непрерывный механизм фидбека
  • Объединение традиционно разрозненных команд для удовлетворения современных корпоративных потребностей
  • Устранение пробела между разработкой, тестированием и операциями
  • Автоматизированное тестирование помогает достичь согласованности, поддерживая одинаковую конфигурацию для всех соответствующих тестов
  • Подчеркивание бизнес-ожиданий для снижения бизнес-рисков
  • Предоставление повсеместного доступа к тестовой среде с помощью Service Virtualization

Проблемы непрерывного тестирования

  • Традиционный процесс ограничивает культурный сдвиг среди разработчиков и QA
  • Нехватка навыков DevOps и правильных инструментов для тестирования в Agile и DevOps средах
  • Гетерогенные тестовые среды, которые никогда не будут отражать продакшн-среду
  • Обычный процесс тестирования и слабо определенное управление тестовыми данными
  • Более длительные циклы интеграции кода создают проблемы с интеграцией и запоздавшее исправление ошибок
  • Неэффективные ресурсы и тест-среды
  • Сложная архитектура приложения и бизнес-логика, ограничивающая DevOps-принятие

Источник.


Материалы по теме:

Как выбрать язык программирования для изучения в 2019 году

Как работает Google Duplex и сможет ли он заменить человека

Интернет-тренды 2019 года: главное из отчета Мэри Микер

Модный интеллект: какие профессии из мира fashion заменит AI-разум

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 ИИ-помощники для написания контента — чем они полезны предпринимателям, копирайтерам и маркетологам
  2. 2 «Роснано» продала «Газпромбанку» 50% в Фонде развития ветроэнергетики
  3. 3 «Ростелеком» до конца года объединит сайт госуслуг с Единой биометрической системой
  4. 4 Материнская компания Facebook запатентовала роботизированное глазное яблоко
  5. 5 «Ростелеком» протестирует 5G в метро трех крупных городов России
FutureFood
Кто производит «альтернативную» еду
Карта