Преимущества виртуальных машин и работа с UEM в QA |
01.09.2022 00:00 | ||||||||||||
Оригинальная публикация Всем привет! Сегодня мы рассмотрим основные аспекты UEM (Unified Endpoint Management) — технологии, применяемой в сервисах по управлению клиентскими устройствами. Речь пойдет о виртуализации и виртуальных машинах для тестирования и обеспечения качества. Статья будет полезна для QA и DevOps уровней джуниор-мидл. Это обзорный материал, в котором мы постарались максимально подробно описать действие виртуализации. Разберем понятие управления клиентскими устройствами, задачи и преимущества виртуальных машин в работе QA, поделимся методикой настройки и использования ВМ. Потребность бизнеса в разработке ПО для обеспечения своей деятельности резко возросла в условиях дефицита полупроводников, чипов, рабочих станций и другой техники. Учитывая рост расходов на приобретение железа для сотрудников, IT-компании все чаще обращаются к облачным сервисам и сервисам виртуализации от вышестоящих IT-гигантов. Стремясь сократить финансовые затраты, бизнес интересуется сервисами по управлению клиентскими устройствами, так как в большинстве стран документооборот и обмен информацией перешел в онлайн. Для контроля информации, работы с техническими средствами коммуникации и коммутации необходим единый сервис управления, такой как виртуальные машины. Как работает виртуализация?Виртуализация — это процесс создания программной (виртуальной) версии компьютера с выделенными ресурсами центрального процессора, оперативной памяти и хранилища, которые «заимствуются» у физического компьютера или облачного сервера. Виртуальная машина (ВМ) — это компьютерный файл (обычно его называют образом), который действует как обычный компьютер. ВМ может работать в окне в качестве отдельной вычислительной среды или даже целой системы, как это часто реализуется на рабочих компьютерах. Виртуальная машина изолирована от остальной части хостовой системы, то есть ее программное обеспечение не может вмешиваться в работу основной операционной системы хоста. Виртуализация реализуется с помощью гипервизора, который объединяет ВМ и компьютер-хост. Гипервизор — это уровень ПО, который позволяет машине работать на базовом компьютере и распределяет между ними процессоры, память и хранилище. Существуют две основные разновидности гипервизоров. Гипервизоры типа 1 работают непосредственно на физическом оборудовании компьютера, напрямую взаимодействуя с его процессором, памятью и физическим хранилищем. Они также называются аппаратными гипервизорами, так как заменяют операционную систему хоста.
Гипервизор типа 2 работает не на базовом оборудовании, а как приложение в ОС. В серверных средах гипервизоры типа 2 появляются редко. Они больше подходят для отдельных пользователей ПК, которым нужно параллельно запускать на одном компьютере несколько ОС. Это могут быть инженеры, специалисты по безопасности, анализирующие вредоносный код, или обычные пользователи, которым нужен доступ к приложениям, работающим только на других программных платформах. Гипервизоры типа 2 часто содержат дополнительные наборы инструментов. Пользователи могут установить их в гостевой ОС для улучшения соединения между гостевой и основной ОС. Это позволяет пользователю работать с ними через буфер обмена или получать доступ к файлам и папкам ОС хоста из гостевой виртуальной машины.
Перейдем к понятию управления клиентскими устройствами. UEM (Unified Endpoint Management)Это унифицированное управление конечными точками. Фактически это стек, соединяющий в себе технологии MDM (Mobile device management), EMM (Enterprise mobility management), MAM (Mobile application management). Единое решение для современного управления настольными компьютерами, мобильными, упрочненными (военными и промышленными) и носимыми устройствами наподобие умных часов с помощью сети Интернет либо Wi-Fi. Развитие этой технологии позволило сократить расходы, повысить продуктивность и обеспечить сотрудникам предприятий — пользователям рабочих устройств удобные условия работы с помощью интеллектуального решения UEM, ориентированного на облако и виртуализацию в целом. Появились следующие возможности:
а) объединение единого каталога приложений на основе самообслуживания с системой единого входа; б) удаленная поддержка администратора; в) представление фаервола для защиты данных пользователей.
Компания Apple также внедрила смежную технологию, реализованную на платформе macOS и имеющую привязку к UEM. DEP (Device Enrollment Program)Профили DEP (Device Enrollment Program) и MDM (Mobile Device Management), как правило, устанавливаются на устройства, выданные крупными компаниями или школами и университетами в пользование. Профиль позволяет автоматизировать настройку практически всех программных компонентов. При этом он также позволяет полностью контролировать устройство дистанционно. Возможности ограничены лишь фантазией администратора, который его настраивал. Смысл Apple Device Enrollment Program — привязка устройств на аккаунт компании для облегчения управления и инвентаризации. Внутри системы DEP имеет самый высокий приоритет (после Apple, разумеется). Mobile Device Management (MDM) системы имеют приоритет ниже, чем Apple ID пользователя устройства. Удалить профиль MDM пользователь может легко, в отличие от DEP. Для этого достаточно быть админом в системе. В итоге уровень приоритетов выстраивается таким образом:
BYOD (Bring Your Own Device) Это IT-политика, которая разрешает и даже поощряет использование собственных устройств для выполнения рабочих задач. При этой модели сотрудники используют в работе свои собственные устройства. Для компании-работодателя это самый дешевый с точки зрения оборудования, но самый небезопасный метод организации мобильных сотрудников. Если требуется сокращать расходы, но можно обеспечить внедрение надежных технологий безопасности на персональных устройствах, то BYOD — лучший вариант, реализованный как частичное управление устройством. BYOD используется путем интеграции ряда политик (Android Device Policy, Google apps Device Policy) с политикой предприятия. Все работает на уровне корпоративной сети. Политики контролируют доступ пользователей в сеть и формируют профили для различных сетевых элементов, чтобы обозначить, какая информация может храниться или передаваться через то или иное устройство. Также определяются точки контроля передаваемых данных до того, как они попадут в сеть или покинут ее. Этот метод дает полный контроль за действиями пользователей и приложениями, которые они используют. Пример
В чем ключевая польза виртуальных машин? Сегодня средства виртуализации позволяют решать самые разные задачи, в том числе специалистами по тестированию и обеспечению качества программных приложений.
Как применяются виртуальные машиныПольза от применения виртуальных машин огромна. Намного проще протестировать систему на чистой виртуальной среде, сломать ее и откатиться по снапшоту* к определенной точке чистоты. При тестировании приложения на хост-системе рабочей машины требуется постоянно что-то деинсталлировать, чистить кеш, реестр и системные логи, переустанавливать ОС, в некоторых случаях каждый день. Однажды очередная временная непроверенная сборка разрабатываемого продукта в результате инсталляции полностью убьет рабочую машину. Нужно понимать, что для успешного применения виртуальных машин инженеры QA должны уметь их создавать и настраивать. И в зависимости от характера тестируемых приложений использовать методики, подходящие для конкретных случаев. Основные задачи, для которых QA наиболее полезны виртуальные машины: Задача 1: Настройка среды окружения. Современное ПО разрабатывается в соответствии с актуальными запросами потребителей IT-услуг, которые постоянно растут. Появляются новые функциональные требования к ПО для поддержания работы IT-служб. Также значительно увеличиваются требования к производительности, скорости работы и другим важным характеристикам программных приложений. Применяя устаревшие среды и инструменты разработки программного кода, таких показателей зачастую не добиться. Задача 2: Работа с сервером управления UEM. Когда в процессе разработки ПО используется периодическая сборка Developer Stage с результатами всех изменений и правок, внесенных в код разработчиками за данный период, инженерам QA удобно иметь быстрый доступ к нескольким ключевым сборкам. Например, к 2-3 последним, если нужно сравнивать изменения функциональности за недавнее время.
Задача 3: Сравнение с выпущенными ранее версиями тестируемого ПО. Инженеры QA сравнивают поведение приложения с выпущенными ранее версиями. Также они выполняют тестирование апгрейда программы и миграции данных из БД прежних версий. Это имитация обновления ПО у клиентов, которые раньше пользовались прежней версией, добавили в БД большой объем важной информации и настроили приложение в соответствии с потребностями своего бизнеса. Недопустимо, если клиент безвозвратно потеряет все свои данные, например, за последний месяц ведения и учета бизнеса. Или если сотрудники, которые привыкли к интерфейсу приложения, увидят не дополнительные настройки и кнопки, а полностью новые, необычные для них формы. Это может ввести в заблуждение, создать путаницу и затормозить рабочий процесс, что критично для потребителя IT-услуг. Такого допускать нельзя. В качестве ключевых сборок могут выступать финальные сборки ранее вышедших версий тестируемого ПО. Так что потребуется еще несколько снимков. Например, разрабатывается Программа-Х версии 14.5.0, значит, для исследований нужно иметь под рукой финальные сборки версий 14.3.1, 14.0.0. Задача 4: Обеспечить кроссбраузерность тестирования. Управление клиентскими устройствами зачастую осуществляется через web-сервис, так как он может быть куда перспективнее своего собрата на desktop-версии. Методика настройки и использования виртуальной машиныОбщая идея в том, что инструменты виртуализации позволяют сохранять и оперативно возобновлять необходимые состояния ВМ. Также несколько пользователей могут клонировать одну и ту же машину, заранее подготовленную и размещенную в общем доступе. То есть инженеры QA имеют в распоряжении набор виртуальных машин с такими сохраненными состояниями (снапшотами), которые позволяют быстро разворачивать окружение и иметь доступ к разным вариантам работы с исследуемым ПО. В то же время все снапшоты машин будут одинаковыми для всех разработчиков программного продукта. Любой разработчик может самостоятельно воспроизвести и увидеть ровно ту же ситуацию, какую описал инженер QA в качестве ошибочной. Для этого в соответствующей заявке (тикете) в багтрекере, помимо описания сути проблемы и шагов к воспроизведению, нужно точно указать ту среду, в которой проводилось исследование и зафиксирована та или иная ошибка. Для этого используйте формат «машина/снапшот». ПО по виртуализации помогает разработчику быстро сориентироваться в условиях поставленной задачи, самостоятельно просмотреть актуальные настройки разрабатываемой программы и среды. Кроме того, это позволяет экономить время разработки, не тратиться на дополнительные выяснения между программистом и QA. Приведем полную модель развертывания сервиса UEM на виртуальных машинах для тестирования. Нам понадобятся:
Это примерная модель взаимодействия сервиса. То есть нам нужно очень много физических устройств для проверки и тестирования только базовой работоспособности нашего сервиса с клиентской частью. Найти 10, 20 или 30 машин довольно затратно, намного проще имитировать это на виртуальной или вынести всю тестовую среду на облачный сервис (проверить работу одновременного подключения к сервису 2000 клиентов). Программное обеспечениеСреди распространенных средств виртуализации, заслуживших признание, стоит назвать VirtualBox (Oracle VM VirtualBox) и продукты семейства VMware (VMware Workstation и VMware Player — но в этой версии не реализована возможность создания снапшотов), а также аппаратную виртуализацию Hyper-V от Microsoft. Данные инструменты позволяют поддерживать на одном компьютере процессы разработки, отладки, тестирования, запуска многоуровневых приложений; вводить в эксплуатацию новые типы и версии ОС и исследовать на них поведение тестируемых программных приложений; а также инсталлировать новые или обновлять имеющиеся ОС без модификации разделов дисков и перезагрузки компьютера. ЗаключениеТехнологии UEM и виртуализации с каждым днем становятся все более востребованными на крупных предприятиях, социально значимых объектах инфраструктуры — в школах, университетах, больницах. Связка этих стеков экономит финансы, повышает безопасность компаний и упрощает взаимодействие внутри их структур. Для QA-специалиста работа в такой технологической связке помогает сэкономить время и охватить больше тестов, это очень важно при регрессионном тестировании. Также сокращается время на восстановление ПО после проведения тестов, критичных для операционных систем. |