Что такое окружение в it

Что такое окружение в it

Окружения развёртывания программного обеспечения

image

Только что опубликовал в русской википедии перевод статьи Deployment environment.

Публикую этот перевод здесь также. Замечания и комментарии приветствуются.

В развёртывании программного обеспечения, окружение или ярус является компьютерной системой в которой компьютерная программа или компонент программного обеспечения развёртывается и выполняется. В простом случае, такое развёртывание и немедленное выполнение программы на той же машине, может выполнятся в единственном окружении, однако при промышленной разработке используется разделение на development окружение (‘окружение разрабочика’) (где делаются исходные изменения) и production окружение (которое используют конечные пользователи); часто с промежуточными этапами (‘stages’) посередине. Этот структурированный процесс управления релизами может иметь фазы deployment (rollout, ‘развёртывание’, ‘выкатка’), testing (‘тестирование’), и rollback (‘откат’) в случае проблем.

Окружения могут существенно отличаться в размерах: deployment окружение это обычно рабочая станция отдельного разработчика, в то время как production окружение может быть сетью множества географически разнесённых машин в случае с дата-центров, или виртуальными машинами в случае с облачными решениями. Код, данные и конфигурация могут быть развёрнуты паралельно, и нет необходимости связи с соответствующим ярусом — например, pre-production код может подсоединяться к production БД.

Архитектуры

Архитектуры развёртывания существенно разнятся, но в целом, ярусы начинаются с develpment (DEV) и заканчиваются production (PROD). Распространённой 4-х ярусной архитектурой является каскад ярусов deployment, testing, model, production (DEV, TEST, MODL, PROD) c деплоем софта на каждом ярусе по очереди. Другое распространённое окружение это Quality Control (QC), для приёмочного тестирования; песочница или экспериментальное окружение (EXP), для экспериментов не предназначенных для передачи в продакшен; и Disaster Recovery (‘аварийное восстановление’), для предоставления возможности немедленного отката в случае проблемы с продакшеном. Другой распространённой архитектурой является deployment, testing, acceptance and production (DTAP).

Такая разбивка в частности подходит для серверных программ, когда сервера работают в удаленных дата-центрах; для кода который работает на конечных устройствах пользователя, например приложений (apps) или клиентов, последний ярус обозначают как окружение пользователя (USER) или локальное окружение (LOCAL).

Точные определения и границы между окружениями варьируется — test может рассматриваться как часть dev, приёмка может рассматриваться как часть test, часть stage, или быть отдельной и так далее. Основные ярусы обрабатываются в определённом порядке, с новыми релизами при развёртывании (rolled out или pushed) на каждом. Ярусы experimental и recovery, если представлены, являются внешними к этому процессу — experimental релизы являются конечными, в то время как recovery являются обычно старыми или дублирующими версиями production, развёрнутыми после production. В случае проблем, в последнем случае можно сделать roll back к старому релизу, и большинство просто выкатывают старый релиз таким же способом как новый. Последний шаг, деплой в production («pushing to prod») самый чувствительный, т.к. здесь любые проблемы напрямую влияют на пользователя. По этой причине это часто управляется по разному, но как минимум мониторится более тщательно, и в некоторых случаях имеется фаза отката или простого переключения. Лучше всего избегать названия вроде Quality Assurance (QA); QA не означает тестирование софта. Тестирование важно, но это отличается от QA.

Иногда развёртывание выполняется вне обычного процесса, главным образом для предоставления срочных или небольших изменений, без необходимости полного релиза. Это может быть один патч, большой service pack или небольшой hotfix.

Окружения могут быть очень разных размеров: разработка обычно идёт на индивидуальных машинах разработчиков (хотя это могут быть тысячи разработчиков), в то время как продакшеном могут быть тысячи географически распределённых машин; тестирование и QC может быть маленьгим и большим, зависеть от предоставленных ресурсов, а staging может варьироваться от единичной машины (подобно canary) до точных дубликатов продакшена.

Окружения

Local

Development/Thunk

Сервер разработки выступающий как песочница где разработчик может выполнить unit-тестирование

Integration

Основа для построения CI, или для тестирования сайд-эффектов разработчиком

Testing/Test/QC/Internal Acceptance

Окружение в котором выполняется тестирование интерфейса. Команда контроля качества проверяет что новый код не будет иметь влияния на существующую функциональность системы после деплоя нового кода в тестовое окружение.

Staging/Stage/Model/Pre-production/External-Client Acceptance/Demo

Production/Live

Серверы конечных пользователей/клиентов

Окружение разработчика

Окружение разработчика (dev) является окружением в котором софт разрабатывается, это часто просто компьютер разработчика. Это отличается от конечной целевой среды некоторыми вещами — цель может не быть стационарным компьютером (это может быть смартфон, встроенная система, самоуправляемый транспорт датацентра и т.д.), и даже если это стационарный компьютер, окружение разработчика будет включать инструменты разработчика например компилятор, IDE, различные или дополнительные версии библиотек и вспомогательного софта, и т.д., что не представлено в пользовательском окружении.

В контексте управления ревизиями, особенно при участии множества разработчиков, проводятся более тонкие различия: разработчик имеет рабочую копию исходного текста на своей машине, и изменения вносятся в репозиторий, будучи закомиченными либо в «стволе», либо в ветке, в зависимости от методологии разработки. Окружение на отдельной рабочей станции, на которой изменения отработаны и опробованы, может называться локальным окружением или песочницей. Сборка копии исходного кода репозитория в чистом окружении является отдельным этапом интеграции (интеграция разрозненных изменений), и это окружение может называться интеграционным окружением или окружением разработчика; при непрерывной интеграции это делается часто, так же часто, как и для каждой ревизии. Понятие уровня исходного кода звучащее как «фиксация (коммит) изменения в репозитории» с последующей сборкой «ствола» или ветки — соответствует переходу от локального (индивидуального окружения разработчика) к интеграции (чистой сборке); плохой релиз на этом этапе означает, что изменение сломало сборку, а откат релиза соответствует либо откату всех сделанных изменений, либо отмене только ломающего изменения, если это возможно.

Тестовое окружение

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

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

Тесты могут быть последовательными (один за другим) или параллельными (для некоторых или всех сразу), в зависимости от сложности тестовой среды. Важной целью agile и других высокопроизводительных практик разработки программного обеспечения является сокращение времени от разработки или предоставления программного обеспечения до его поставки в продакшен. Высокоавтоматизированные и распараллеленные тестовые среды вносят важный вклад в быструю разработку программного обеспечения.

Staging

Stage или stage-окружение — это среда для тестирования, которая в точности похожа на продакшен-окружение. Она стремится как можно точнее отразить реальное продакшен-окружение и может подключаться к другим продакшен-сервисам и данным, таким как базы данных. Например, серверы будут работать на удаленных машинах, а не локально (как на рабочей станции разработчика во время разработки, или на одной тестовой машине во время тестирования), чтобы проверить влияние сети на систему.

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

Другим важным использованием stage-окружения является тестирование производительности, в частности нагрузочное тестирование, так как это часто чувствительно для окружения.

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

Продакшен-окружение

Продакшен-окружение также известно как live (в частности в применении к серверам) так как это окружение, с которым непосредственно взаимодействуют пользователи.

Развертывание в производственной среде является наиболее чувствительным шагом; это может осуществляться путем непосредственного развертывания нового кода (перезаписывания старого кода, так что только одна копия представлена в один момент времени), или путем развертывания изменения конфигурации. Это может принимать различные формы: параллельное развертывание новой версии кода и переключение на неё с изменением конфигурации; развертывание новой версии кода рядом со старым с соответствующим «флагом нового функционала», и последующее переключение на новую версию с изменением конфигурации, которая выполнит переключение этого «флага»; или развертывание отдельных серверов (один выполняет старый код, другой — новый) с перенаправлением трафика со старого на новый с изменением конфигурации на уровне маршрутизации трафика. Всё это, в свою очередь, может быть применено одновременно или выборочно, и на разных этапах.

Развертывание новой версии обычно требует перезапуска, если только нет возможности горячего переключения, и поэтому требует либо прерывания обслуживания (обычно это пользовательское ПО, когда приложения должны быть перезагружены), либо дублирования — постепенного перезапуска экземпляров «за спиной» у балансировщика нагрузки, либо заблаговременного запуска новых серверов с последующим простым перенаправлением трафика на новые сервера.

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

Посекундный биллинг, маркетплейс и песочницы для Big Data: что могут тестовые среды в облаке

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

Многие проблемы построения тестовых сред решает их размещение в облаке. Мы расскажем про возможности тестирования на нашей облачной платформе VK Cloud (бывш. MCS). Но часть из того, что мы расскажем, верна для любого облака.

Сложности настройки тестового окружения

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

Разные Git-ветки — разные среды

Большинство компаний, занятых в сфере разработки ПО, используют системы контроля версий. Наиболее распространенной из них является Git, который используют 87% разработчиков (опрос RhodeCode в Twitter).

Best practice в Git являются так называемые feature-branches (ветви), когда для каждой новой функциональности выделяется отдельная ветвь в репозитории. Такой подход позволяет разработчикам не «толкаться локтями» и делает внесение изменений более независимым, однако требует развертывания множества выделенных сред для тестирования отдельных фич.

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

25% физических серверов — это «зомби», которые потребляют электроэнергию, но не делают ничего полезного. А многие IT-специалисты не могут сказать, чем заняты 15–30% установленных в их компании серверов.

On-premise железо под тестовые среды тут ничем не отличается от любого другого и, как правило, плохо утилизировано. И по-другому быть не может. Когда вы покупаете парк серверного оборудования, вы перезакладываетесь по ресурсам на случай роста потребления и количества тестовых сред. В итоге тестовые среды простаивают в ночное время и в выходные «на всякий случай», а вы просто платите за потребляемое электричество и охлаждение.

Простое применение виртуализации в вашем частном облаке никак не решает проблему негибкой масштабируемости и недоиспользования оборудования.

Сложность настройки

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

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

Еще одна проблема — в том, что у штатного системного администратора часто нет экспертизы в развертывании специфических тестовых сред, и компания вынуждена привлекать дорогостоящих консультантов извне. Пример — песочница для больших данных на базе Hadoop, Spark, HDFS или Airflow. Развертывание подобного окружения занимает минимум неделю у квалифицированного в области big data специалиста и не меньше месяца у обыкновенного системного администратора. Аналогичная история и с кластерами Kubernetes: построение тестового кластера, приближенного к продакшн-конфигурации, занимает минимум несколько дней.

В итоге компания вынуждена обращаться к третьей стороне — привлекать консультантов. Однако найти специалистов по большим данным достаточно сложно, а администраторов таких систем можно пересчитать чуть ли не по пальцам. Да, со всеми задачами по развертыванию тестовых сред может справится DevOps-инженер, но он тоже есть не в каждой компании, а найти хорошего эксперта в этой области ничуть не проще, чем специалиста по big data.

Как облако решает эти проблемы

Посекундный биллинг только за потребленные ресурсы и мгновенное масштабирование

Наиболее очевидный плюс облачных сервисов — возможность арендовать облачную инфраструктуру любой конфигурации (один сервер или целый кластер) на любой срок. На нашей платформе VK Cloud (бывш. MCS) биллинг посекундный — платить нужно только за те вычислительные ресурсы, которые реально использовались.

В отличие от bare metal, private cloud и большинства российских облачных провайдеров, VK не тарифицирует ресурсы остановленных виртуальных машин (RAM, CPU): оплачивать нужно лишь занятое дисковое пространство.

По нашему опыту итоговая экономия от тестирования в облаке может достигать 60–70%, по сравнению с тестированием в инфраструктуре on-premise.

Возможность мгновенного масштабирования ресурсов в облаке в большую и меньшую сторону позволяет быстро развертывать среды только на нужное время и утилизировать арендованные мощности практически на 100%. Время развертывания тестовой среды сокращается на несколько дней, а то и месяцев, по сравнению с on-premise.

Ресурсы выделяют сами разработчики

С помощью порталов самообслуживания настраивать тестовые среды в облаке и выделять для них ресурсы могут сами разработчики, не обращаясь к администраторам. Даже это простое действие может сократить time-to-market продукта на несколько недель.

API для автоматического создания и уничтожения тестовых сред

Облако позволяет создавать короткоживущие окружения по модели «точно в срок». С помощью REST API и CLI можно массово развертывать тестовые среды, останавливать, обновлять и удалять их. Таким образом, можно настроить полный жизненный цикл для тестовых сред и поддерживать в работоспособном состоянии сотни сред. Благодаря мгновенному масштабированию облака и посекундному биллингу достигается гибкость и сокращение расходов на эксплуатацию.

В режиме частного облака (они используют виртуализацию в собственном ЦОД) работать с такой нагрузкой практически невозможно, так как доступного «железа» часто не хватает для параллельной работы всех сред. В итоге разработчики ждут своей очереди на тестирование и не могут быстро проверить работу новой версии приложения.

Автоматизированное развертывание и управление тестовыми средами в публичном облаке снимает ограничение в скорости тестирования и в итоге сокращает time to market. Кроме того, управление расходами при аренде облачных ресурсов более предсказуемо, а сами расходы ниже, чем при использовании собственного специализированного оборудования для тестовых стендов.

Еще одно преимущество облачных тестовых сред — интеграция с CI/CD-инструментами. Эти решения (например, Jenkins) содержат плагины, которые позволяют динамически создавать тестовые окружения в облаке VK во время билда. Тестовую среду можно активировать прямо перед запуском функциональных или регрессионных тестов. Если тесты прошли успешно, среда свернется автоматически, если что-то не так — среда сохранится, чтобы разработчики могли переподключиться и понять причину регрессии.

Готовые строительные блоки для тестовых окружений

Быстро развернуть тестовое окружение платформе VK Cloud (бывш. MCS)
помогают PaaS, например — контейнеры Kubernetes и базы данных в облаке. На базе Kubernetes развивается сервисный каталог с сотнями приложений.

Из каталога можно развернуть за несколько минут кластеры ActiveMQ, RabbitMQ, Kafka, системы мониторинга и анализа логов, различные CMS и базы данных. В отличие от популярного Docker Hub, который содержит только индивидуальные шаблоны приложений, в Kubernetes Service Catalog есть высокоуровневые шаблоны, упрощающие интеграцию. Из шаблонов можно развертывать преднастроенные компоненты приложений (message queue, service discovery, базы данных, серверы приложений, CI/CD инструменты, кеширующие серверы, инструменты блокчейн и многое другое), без необходимости настраивать виртуальные машины, на которых они развернуты.

Приложения, доступные в Kubeapps marketplace

Песочницы для Big Data

На VK можно разворачивать тестовые среды для приложений, работающих с большими данными. С помощью PaaS-сервиса больших данных можно создавать кластеры Hadoop, Spark, HBase и Airflow. Процесс развертывания полностью автоматизирован, и это экономит недели времени по сравнению с самостоятельной настройкой.

Дополнительное преимущество здесь дает посекундный биллинг и мгновенное масштабирование. Возможность создавать расширяемые тестовые среды на короткие периоды сокращает расходы компании на поддержание аналитической IT-инфраструктуры. Экономия может достигать 80% по сравнению с on-premise.

Интеграция с Infrastructure-as-a-Code

В отличие от проприетарных решений на базе VMWare, облачная платформа VK построена на базе открытого ПО OpenStack, которое имеет полноценную интеграцию с различными инструментами: Terraform, Ansible, Puppet, Chef.

Terraform построен в духе Infrastructure-as-Code (IaC), когда процесс настройки инфраструктуры устроен как написание кода и более привычен разработчикам. Terraform сложно использовать в частном облаке, поскольку у него отсутствует полноценная интеграция с VMware. В облаке VK компании могут использовать готовые примеры работы с Terraform (лежат в этом GitHub-репозитории).

Тестовая среда

Среда тестирования — это настройка программного и аппаратного обеспечения для групп тестирования для выполнения тестовых случаев. Другими словами, он поддерживает выполнение теста с настроенным оборудованием, программным обеспечением и сетью.

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

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

В этом уроке вы узнаете

Ключевые области для настройки в тестовой среде

Для тестовой среды ключевая область для настройки включает в себя

  • Система и приложения
  • Тестовые данные
  • Сервер базы данных
  • Фронтальная рабочая среда
  • Клиентская операционная система
  • браузер
  • Аппаратное обеспечение включает операционную систему сервера
  • сеть
  • Необходимая документация, такая как справочные документы / руководства по конфигурации / руководства по установке / руководства пользователя

Процесс настройки среды тестирования программного обеспечения

Тесты ограничены тем, что можно тестировать, а что не следует тестировать.

Следующие люди участвуют в настройке тестовой среды

  • Системные администраторы,
  • Разработчики
  • Тестеры
  • Иногда пользователи или технари со сродством к тестированию.

Тестовая среда требует настройки различного количества отдельных областей, таких как,

Настройка тестового сервера

Каждый тест не может быть выполнен на локальной машине. Возможно, потребуется установить тестовый сервер, который может поддерживать приложения.

Например, Fedora для PHP, Java-приложения с почтовыми серверами или без них, cron, Java-приложения и т. Д.

сеть

Сеть настроена в соответствии с требованиями теста. Это включает в себя,

  • Настройка интернета
  • Настройка LAN Wifi
  • Настройка частной сети

Это гарантирует, что перегрузка, возникающая во время тестирования, не влияет на других участников. (Разработчики, дизайнеры, авторы контента и т. Д.)

Тестовая настройка ПК

Для веб-тестирования вам может потребоваться настроить разные браузеры для разных тестеров. Для настольных приложений вам нужны разные типы ОС для разных тестеров ПК.

Например, для тестирования приложения Windows Phone может потребоваться

  • Установка Visual Studio
  • Эмулятор Windows Phone
  • Кроме того, можно назначить тестер Windows-телефоном.

Сообщение об ошибке

Инструменты сообщения об ошибках должны быть предоставлены тестерам.

Создание тестовых данных для тестовой среды

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

Подход к копированию производственных данных для проверки данных включает в себя:

  • Настройка рабочих заданий для копирования данных в общую среду тестирования
  • Вся PII (Личная информация) изменяется вместе с другими конфиденциальными данными. PII заменяется логически корректными, но не личными данными.
  • Удалите данные, которые не имеют отношения к вашему тесту.

Тестировщики или разработчики могут скопировать это в свою индивидуальную среду тестирования. Они могут изменить его согласно их требованию.

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

Для анонимизации данных могут быть использованы два подхода,

  • Черный список: при таком подходе все поля данных остаются без изменений. За исключением тех полей, которые указаны пользователями.
  • WhiteList: по умолчанию этот подход анонимизирует все поля данных. За исключением списка полей, которые разрешено копировать. Поле в белом списке подразумевает, что копировать данные в том виде, в каком они есть, можно, и анонимность не требуется.

Кроме того, если вы используете производственные данные, вам нужно быть умным в том, как получать данные. Запросы к базе данных с использованием сценария SQL — эффективный подход.

Управление тестовой средой

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

Список действий функции управления тестовой средой включает в себя:

  1. Поддержка центрального репозитория со всеми обновленными версиями тестовых сред.
  2. Управление средой тестирования в соответствии с требованиями команды тестирования.
  3. Согласно новым требованиям, создающим новые среды
  4. Мониторинг окружающей среды
  5. Обновление / удаление устаревших тестовых сред
  6. Исследование проблем окружающей среды
  7. Координация до разрешения вопроса.

Контрольный список тестовой среды

аппаратные средства
1 Проверьте, доступно ли необходимое оборудование для тестирования? Если это не так, проанализируйте время поставки!
Проверьте, доступно ли периферийное оборудование? Например, сканеры, специальные принтеры, карманные компьютеры и т. Д.
Программное обеспечение / соединения
2 Указаны ли необходимые приложения? Приложение, такое как Excel, Word, рисунки и т. Д.
Для нового программного обеспечения существует ли тестовая среда для организации? Имеет ли организация опыт использования и обслуживания программного обеспечения?
Экологические данные
3 Проверьте, доступны ли стандартные наборы тестовых данных? С набором регрессионных тестов рассмотрите администрирование дефектов для сбора тестовых данных.
Существуют ли соглашения с владельцами тестовых данных о тестовых данных? Рассмотрим функциональное обслуживание.
Инструменты / процессы обслуживания
4 Проверьте, существует ли одна точка контакта для обслуживания тестовой среды? Если нет, подготовьте список всех возможных членов, участвующих в поддержании работоспособности тестовой среды. Он должен также включать их контактную информацию.
Достигнуто ли соглашение о готовности и качестве тестовой среды? Например, критерии приемки, требования к техническому обслуживанию и т. Д. Также проверьте, согласованы ли другие / дополнительные атрибуты качества для сред.
Все ли участники, вовлеченные в процесс обслуживания, известны?

Помимо этого, есть еще несколько вопросов, на которые нужно ответить перед настройкой среды тестирования.

  • Нужно ли разрабатывать внутреннюю среду тестирования или передавать на аутсорсинг?
  • Следует ли следовать внутреннему стандарту компании или следовать какому-либо внешнему (IEE, ISO и т. Д.)?
  • Как долго требуется тестовая среда?
  • Различия между тестовой и производственной системами и их влияние на достоверность теста должны быть определены.
  • Можете ли вы повторно использовать существующую настройку для других проектов в компании?

Проблемы в настройке управления тестовой средой

  1. Правильное планирование использования ресурсов

Неэффективное планирование использования ресурсов может повлиять на фактический результат. Также это может привести к конфликту между командами.

Возможно, что тестовая среда расположена географически отдельно. В таком случае команда тестирования должна полагаться на команду поддержки для различных активов тестирования. (Программное обеспечение, оборудование и другие вопросы).

Иногда настройка тестирования становится слишком сложной в случаях интеграционного тестирования .

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

Определенный тест требует сложной конфигурации среды тестирования. Это может стать проблемой для команды тестирования.

Лучшие практики для настройки управления тестовой средой

  1. Тщательно разбирайтесь в требованиях к тестированию и обучайте членов команды тестирования.
  2. Связь должна быть проверена до начала тестирования
  3. Проверьте наличие необходимого оборудования и программного обеспечения, лицензий
  4. Браузеры и версии
  5. Планирование использования по расписанию тестовой среды.
  6. Инструменты автоматизации и их конфигурации.

Что такое испытательный стенд?

In general, a test bed is a software development environment. It allows the developers to test their modules without affecting the live production servers. The test bed is not confined to developers only but also used by testers. It is referred as a test environment as well.

Ссылка на основную публикацию