Автор оригинала: Limor Wainstein.
Ваши команды разработчиков следуют DEVOPS, или вы рассматриваете возможность реализации культуры DevOps в будущем? Если это так, вам нужно знать, как приблизиться к тестированию программного обеспечения с мышлением DevOps.
AWS определяет devops Как следует за :
«… Комбинация культурных философии, практики и инструментов, которые повышают способность организации доставлять заявки и услуги при высокой скорости: развиваться и улучшать продукты на более быстрых темпах, чем организации, использующие традиционные процессы развития программного обеспечения и управления инфраструктурой».
Усыновление DEVOPS направлено на унификацию разработки и операций, причем сильное внимание уделяется мониторингу эффективности автоматизации и применения на всех этапах разработки трубопровода.
Потребность в DEVOPS возникла от Agile Price, таких как автоматизация приложений использовалась для выпуска программного обеспечения быстрее в Agile Teams, но наводнение меньших более частых выпусков напряженных оценок, связанных с qa и операционными командами. Затем пришли идеи лечения всего жизненного цикла программного обеспечения в качестве одного процесса, автоматизируя этот цикл и, следовательно, снижение давления ниже по потоку на операции. Конец культурного движения был набор практик, которые просмотра доставки программного обеспечения в качестве стратегической бизнес-инициативы.
Программное обеспечение для тестирования в DEVOPS аналогична Agile в том, что тестирование проводится ранее, на всех этапах развития. DEVOPS представляет свои собственные уникальные тестирования фокусировку, проблемы и тестовые метрики для улучшения процессов тестирования в будущих выпусках.
Развлечения процессов тестирования и лучшие практики
Фрейма автоматизации тестирования
Одна вещь, которую вы не можете избежать в культуре DevOps, используют Frameworks Test Automation. Поскольку автоматизация находится в ядре DEVOPS и одного из ключевых водителей целей DevOps, вы должны использовать зрелую структуру автоматизации, которые могут легко создавать сценарии для новых тестовых случаев.
Рамки — это набор лучших практик, предположений, общих инструментов и библиотек, которые могут использоваться между командами.
Вы сталкиваетесь с выбором пользовательского построения рамок для ваших нужд вашей конкретной команды, используя каркас автоматизации открытых источников или покупкой коммерческой структуры. Одним из последних вариантов является более практичным, потому что нет формальной поддержки, и если создатель индивидуальной структуры оставляет компанию, вы можете оставить не знать, как его использовать.
Семкость и WATIR являются двумя примерами структуры автоматизации открытых источников. Коммерческие варианты включают Tricentis Tosca Testsuite и Smartbeat TestComplete.
Несмотря на то, что каркасы автоматизации могут вызвать замедление скорости релизов, поскольку они впервые реализованы, они всегда обеспечивают ценность в долгосрочной перспективе. Структуры автоматизации помогают предотвратить дефекты вместо того, чтобы сосредоточиться на нахождении их, и они помогают командам создавать тестовые люксы намного быстрее, абстрагируя детали пользовательских интерфейсов с многоразовыми блоками общей функциональности, что позволяет простым тестам, которые автоматически отслеживают время отклика, утилизацию процессоров и память Использование может обеспечить понимание потенциальных дефектов. Например, если определенный процесс, по-видимому, занимает больше времени с каждой сборкой, такой как вход в систему, будущие сборки могут стать нелюбимыми из-за высокого времени отклика.
Мониторинг приложений
Раннее обнаружение дефектов программного обеспечения до того, как они вызывают такие проблемы, как неисправности системы, является жизненно важным аспектом тестирования DevOps. С учетом этого инструменты мониторинга приложений являются решающими и должны быть развернуты в производственной среде, чтобы открыть ошибки, прежде чем они приведут к сбою.
PROMETHEUS является популярным инструментом мониторинга с открытым исходным кодом, который позволяет обрабатывать большое количество метрических данных. Язык запроса PROMETHEUS позволяет визуализировать данные и управлять предупреждениями. PROMETHEUS поддерживает множество различных интеграций, в том числе с пагелой и слабым для уведомлений о предупреждении, а также с графаной для визуальных панелей. Список поддерживаемых продуктов включает в себя серверные приложения, продукты баз данных, Кубернаны и виртуальные машины Java (JVM).
Тестовая оркестровка
Тестовая оркестровка является естественным результатом DevOps Focus на автоматизации. Ваша команда в конечном итоге запускает весь рабочий процесс тестирования программного обеспечения в повторяемых, многоразовых шагов, которые можно оптимизировать для выпуска программного обеспечения Quicker. Команды DEVOPS часто используют инструменты оркестрации для усилий по тестированию программного обеспечения, такие как Огурец Отказ
Тонкое различие между автоматизацией и оркесторией заключается в том, что автоматизация связана с одним задачами, такими как автоматически останавливая службу, а оркестровка предназначена для автоматизации и оптимизации рабочего процесса или процесса, включающая несколько задач и нескольких систем. Орхестровка имеет дело с большой картиной, учитывая, как конкретные решения влияют на весь процесс тестирования.
Обеспечивая процесс тестирования, представляет собой повторяемое и организованное, команды разработки оптимизируют процесс тестирования путем удаления извлетий, что улучшает скорость, в которой вы можете развернуть программное обеспечение.
Источник изображения
Тестовый зрелость
Испытательная зрелость — это ключевой дифференциатор программных тестов для команд разработки, следующий в соответствии с DEVOPS. При тестировании не подчеркивается, улучшается с каждым выпуском и оптимизированным, проблемы с узкими местами для развертывания программного обеспечения возникают. Автоматизация и, что более важно, оркестровка, это то, что имеет значение для тестирования зрелости. На уровне зрелого тестирования команды оптимизируют свои процессы тестирования для более быстрых релизов.
Тестовые метрики
Естественно, ведущие от последнего пункта — это проблема улучшения процессов тестирования все время, что приводит к таким улучшению? Как вы узнали, оркестровка и оптимизация — ключ. Но есть еще один важный фактор-тестовые метрики.
Тестовые метрики по-прежнему актуальны в среде DevOps, как и в любом другом подходе разработки программного обеспечения, а правильные тестируемые метрики могут дополнительно оптимизировать процессы тестирования, предоставляя ценные идеи по тестированию усилий и качества программного обеспечения. Некоторые примеры тестовых метрик, относящихся к контексту DevOps:
- Прогресс автоматизации Автоматизация испытаний -since — это важный водитель сокращенного времени развертывания, что DevOps стремится, имеет смысл отслеживать свой прогресс автоматизации вовремя. Прогресс автоматизации является мерой доли испытаний, автоматизированных против общих возможных автоматических испытаний. В идеале, вы хотите увидеть положительный прогресс, как только вы начнете практиковать DEVOPS.
Источник изображения
• Частота развертывания — это простое, но проницательную метрику, которая обеспечивает четкую оценку того, являются ли ваши команды Dev Dev развертывают новый код достаточно часто. Метрика должна направляться со временем или оставаться стабильным — любое снижение развертываний гарантирует расследование возможных узких мест. • MTTR — среднее время для восстановления измеряет, сколько времени требуется, чтобы восстановить из производственной недостаточности. Это является ключевой метрикой в понимании зрелости по тестированию в DevOps — с автоматическими монтажными тестами, аналитическими тестами, мониторинга производительности приложений и тестируемой оркестрой, проблемы должны быть найдены и исправлены быстро, в течение нескольких минут. МТТР должен храниться до минимума и должен уменьшаться со временем. • Тестовое покрытие — в то время как охват теста не рассказывает вам ничего о качестве тестов, он все еще служит важным показателем того, насколько вероятно, что вы хотите поймать критические или приоритетные ошибки. Например, Code Coverage является одним из многих полезных метрик качества кода, которые могут быть дополнены другими полезными тестовыми метриками, включая покрытие требований, которые измеряют, сколько случаев тестируемых случаев написано, что касается требований к клиентам.
Закрытие мыслей
- Существует несколько принципов для тестирования программного обеспечения в мышлении DevOps, каждый из которых используется для обеспечения достижения набора целей, выровненных с разработкой инициативой разработки DevOps, автоматизированной доставкой, более быстрой временем на рынок и более высокую частоту развертывания.
- Тестирование DEVOPS имеет тяжелый фокус на автоматизации — как в автоматизации одиночных задач, либо тестов, так и оптимизации и оптимизации всего процесса тестирования, через тестовую оркестровку.
- Frameworks Automation, Срок погашения испытаний и мониторинга производительности приложения помогают дополнительно оптимизировать тестирование программного обеспечения в DevOps.
- Наконец, тестовые метрики все еще важны в командах после культуры DevOps, поскольку отслеживание правильных метрик приводит к улучшению и уточнениям в тестировании.
Оригинал: «https://www.codementor.io/@limormaayan/testing-in-a-devops-mindset-eb4ndxtcf»