Паттерны Ci/Cd И Антипаттерны. Часть 2

Добрый день.

Сегодня делимся с вами переводом второй части статьи.

«Патерны и антипаттерны CI/CD» , приуроченный к запуску нового потока по курсу «Практики и инструменты DevOps» .

Вы можете прочитать первую часть этой статьи Здесь .

1.3 Паттерны и антипаттерны при тестировании 1.3.1 Автоматизация тестирования

  • Шаблон: Автоматизируйте проверку и проверку программного обеспечения, включая тестирование модулей, компонентов, емкости, функциональности и развертывания.

  • Антишаблоны: ручное тестирование модулей, компонентов, развертываний и т. д.
  • Модуль - Автоматизация тестов без зависимостей.

  • Компонент — Автоматизация тестов с зависимостями от других компонентов, баз данных и файловых систем.

  • Развертывание.

    Автоматизируйте тесты для проверки успешности развертывания и настройки.

    Иногда это называют «дымовым» тестированием.

  • Функциональность — Автоматизация тестов для проверки поведения ПО с точки зрения пользователя.

  • Емкость.

    Автоматизируйте нагрузочное тестирование и тестирование производительности в условиях, близких к рабочим.



Паттерны CI/CD и антипаттерны.
</p><p>
 Часть 2

1.3.2 Изоляция тестовых данных
  • Шаблон: используйте транзакции для тестов, зависящих от базы данных (например, тестирование компонентов), и откат транзакций после завершения.

    Используйте небольшой набор данных для эффективного тестирования поведения.

  • Антишаблоны: использование копии производственных данных для тестов на этапе фиксации.

    Запуск тестов в общей базе данных.

1.3.3 Параллельные тесты
  • Шаблон: параллельно запускайте несколько тестов на экземплярах оборудования, чтобы сократить затраченное время.

  • Антишаблоны: запуск тестов на одной машине или экземпляре.

    Запуск зависимых тестов, которые нельзя запускать параллельно.

1.3.4 Система-заглушка
  • Шаблон: используйте заглушки для моделирования внешних систем, чтобы упростить развертывание.

  • Антишаблоны: ручная установка и настройка взаимозависимых систем для сборок и развертываний на этапе фиксации.

1.3.5 Сквозное тестирование считается вредным Непрерывная доставка — это набор целостных принципов и практик, направленных на сокращение времени выхода на рынок.

Он основан на быстрой и надежной обратной связи посредством тестов.

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

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

Например, рассмотрим службу «Платежи компании», в которой платежи на конец года отправляются в нижестоящую службу «Платежи».

Поведение службы «Платежи компании» можно проверить во время сборки, запустив следующие типы автоматических тестов:

  • Модульные тесты: сравнение назначения и реализации при тестировании отдельных модулей кода.

  • Приемочные испытания: сравнение реализации и требований при тестировании функциональной части системы.

  • Сквозные тесты: сравнивайте реализацию и требования при тестировании функциональной части системы, включая потерянные зависимые службы.

В то время как модульные и приемочные тесты различаются по назначению и объему, приемочные и сквозные тесты различаются только по объему.

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

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

Если тестирование не приносит новой информации, то дефекты остаются незамеченными.

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

Конец второй части.

По сложившейся традиции ждем ваших комментариев и приглашаем вас на День открытых дверей .

Третья часть статьи уже доступна здесь .

Теги: #DevOps #автоматизация

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.