Добрый день.
Сегодня делимся с вами переводом второй части статьи.
«Патерны и антипаттерны CI/CD» , приуроченный к запуску нового потока по курсу «Практики и инструменты DevOps» .
Вы можете прочитать первую часть этой статьи Здесь .
1.3 Паттерны и антипаттерны при тестировании 1.3.1 Автоматизация тестирования
- Шаблон: Автоматизируйте проверку и проверку программного обеспечения, включая тестирование модулей, компонентов, емкости, функциональности и развертывания.
- Антишаблоны: ручное тестирование модулей, компонентов, развертываний и т. д.
- Модуль - Автоматизация тестов без зависимостей.
- Компонент — Автоматизация тестов с зависимостями от других компонентов, баз данных и файловых систем.
- Развертывание.
Автоматизируйте тесты для проверки успешности развертывания и настройки.
Иногда это называют «дымовым» тестированием.
- Функциональность — Автоматизация тестов для проверки поведения ПО с точки зрения пользователя.
- Емкость.
Автоматизируйте нагрузочное тестирование и тестирование производительности в условиях, близких к рабочим.
1.3.2 Изоляция тестовых данных
- Шаблон: используйте транзакции для тестов, зависящих от базы данных (например, тестирование компонентов), и откат транзакций после завершения.
Используйте небольшой набор данных для эффективного тестирования поведения.
- Антишаблоны: использование копии производственных данных для тестов на этапе фиксации.
Запуск тестов в общей базе данных.
- Шаблон: параллельно запускайте несколько тестов на экземплярах оборудования, чтобы сократить затраченное время.
- Антишаблоны: запуск тестов на одной машине или экземпляре.
Запуск зависимых тестов, которые нельзя запускать параллельно.
- Шаблон: используйте заглушки для моделирования внешних систем, чтобы упростить развертывание.
- Антишаблоны: ручная установка и настройка взаимозависимых систем для сборок и развертываний на этапе фиксации.
Он основан на быстрой и надежной обратной связи посредством тестов.
Непрерывная доставка требует, чтобы любые изменения в коде, конфигурации, данных или инфраструктуре прошли набор автоматических и исследовательских тестов в конвейере развертывания для оценки готовности к производству.
Следовательно, если организация хочет сократить время выполнения работ, время завершения тестирования должно быть коротким, а результаты тестирования должны быть ясными.
Например, рассмотрим службу «Платежи компании», в которой платежи на конец года отправляются в нижестоящую службу «Платежи».
Поведение службы «Платежи компании» можно проверить во время сборки, запустив следующие типы автоматических тестов:
- Модульные тесты: сравнение назначения и реализации при тестировании отдельных модулей кода.
- Приемочные испытания: сравнение реализации и требований при тестировании функциональной части системы.
- Сквозные тесты: сравнивайте реализацию и требования при тестировании функциональной части системы, включая потерянные зависимые службы.
Приемочные тесты не включают потерянные зависимые службы, поэтому в приемочном тесте пути пользователя платежной компании будет использоваться Тестируемая система , состоящий из кода последней версии Платежей Компании и Стаба Платежи.
Сквозные тесты включают в себя потерянные зависимые службы, поэтому для сквозного тестирования пользовательского пути Company Payments будет использоваться тестовая система, состоящая из самого последнего кода Company Payments и работающей версии Payments. Если стратегия тестирования соответствует требованиям непрерывной поставки, то она должна иметь соответствующий баланс модульных, приемочных и сквозных тестов, который уравновешивает потребность в информации и быструю и однозначную обратную связь.
Если тестирование не приносит новой информации, то дефекты остаются незамеченными.
Но если тестирование займет слишком много времени, доставка будет медленной, а потерянный доход увеличится.
Конец второй части.
По сложившейся традиции ждем ваших комментариев и приглашаем вас на День открытых дверей .
Третья часть статьи уже доступна здесь .
Теги: #DevOps #автоматизация
-
Хобби-Ферма Против Моей Фермерской Жизни
19 Oct, 24 -
Мокрый Метод Ремонта Iphone
19 Oct, 24 -
Нигерия
19 Oct, 24 -
Как Выбрать Кабель Hdmi? - Анализ
19 Oct, 24 -
Фото На 26 Гигапикселей
19 Oct, 24 -
Плохой Код Убивает
19 Oct, 24