Рубрика:
Разработка /
Тестирование
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
АННА СЕРГЕЕВА, старший специалист службы обеспечения качества Alloy Software Inc., annserge@rambler.ru
Распределенные виртуальные стенды для тестирования веб-серверных приложений
Узнайте, как эффективно применять средства виртуализации для организации распределенных тестовых стендов. Дается пример тестирования веб-серверных настроек профессионального приложения Alloy Navigator для управления службами технической поддержки клиентов
Служба технической поддержки как лицо всей компании
В нашу эру высоких технологий и еще более высоких сетевых скоростей очень популярны и востребованы всевозможные веб-приложения. Поэтому многие их разрабатывают, многие внедряют, и еще больше людей пользуются ими ежедневно. Кто-то ради развлечения, например, обменивается короткими сообщениями или селфи в соцсетях. Кто-то проверяет почту от друзей и дальних родственников или заказывает пиццу или бытовую технику с доставкой на дом.
Бизнес также использует веб-приложения. Например, организует порталы служб технической поддержки своих клиентов (часто встречается англоязычное упоминание этих служб как Service Desk, Help Desk или Technical Support, в данном случае это непринципиально).
И от удобства использования и скорости обработки заявок на таких порталах напрямую уже зависит успех всего бизнеса. Недаром ведь службы технической поддержки считаются лицом компании, и по их работе у клиентов формируется образ всей компании и отношение к ней. Дело серьезное.
Вряд ли требовательные пользователи современных компьютеров, смартфонов и прочих гаджетов готовы к длительному ожиданию загрузки или отображения страниц или к часто возникающим ошибкам в работе сервиса и к необходимости многократных попыток ввода и подтверждения своих данных (например, пользователю портала технической поддержки не с первого раза удается создать и сохранить заявку на обслуживание). И вывод напрашивается сам собой. Среди факторов, формирующих доверие клиентов к подобным сервисам, немаловажными являются быстродействие работы портала и корректность обработки введенных данных.
А это значит, что в компаниях, специализирующихся на выпуске ПО, у специалистов по обеспечению качества разрабатываемых и предоставляемых конечным пользователям программных веб-приложений, помимо тестирования удобства интерфейса, совместимости с различными браузерами и конечными стационарными/мобильными устройствами и прочего, возникает необходимость также тестировать работоспособность и надежность серверной составляющей веб-приложений.
Об одном из подходов к проведению такого вида тестирования и пойдет речь в этой статье.
Структура приложений диктует подход к их тестированию
Начнем с того, что сложные программные пакеты предусматривают достаточно сложную структуру. Ведь в практических реализациях таких программ используется распределенная архитектура на нескольких машинах, связанных между собой по сети. Так, под сервер приложений предоставляется отдельная машина, под веб-сервер – другая, а клиенты вообще пользуются порталами с удаленных машин.
В качестве наглядного примера рассмотрим программный пакет, тестированием которого автор в настоящее время непосредственно занимается.
Alloy Navigator 7 – это профессиональный инструмент для автоматизации бизнес-процессов предприятий, позволяющий управлять ими как внутри организации, так и извне. Одной из сфер применения являются организация и управление ИТ-структурой служб технической поддержки клиентов и пользователей.
Содержит средства управления инцидентами и проблемами, изменениями, уровнем сервиса и знаниями. Поддерживает веб-интерфейсы для клиентского портала самообслуживания и портала доступа технических специалистов [1].
Соответственно при внедрении пакета Alloy Navigator должны быть предусмотрены веб-сервер, SQL-сервер и прочие серверы приложения, а также веб-приложения на стороне клиентов (пользователей) (см. рис. 1).
Рисунок 1. Схемы организации распределенного веб-приложения по нескольким машинам
С точки зрения проведения тестирования продукта самым простым и быстрым решением было бы установить все компоненты исследуемого приложения на одну локальную машину и работать только с ней. Но в таком случае, увы, результаты могут быть далеко не самыми достоверными и приближенными к реальным условиям эксплуатации веб-приложений.
А, значит, и при организации тестирования веб-серверных настроек приложения Alloy Navigator также стоит создавать и использовать распределенные стенды. И, поскольку его структура максимально приближена к реальным практическим реализациям, это значительно повышает достоверность результатов исследований.
Также использование нескольких машин в стенде позволяет экспериментировать с настройками только той машины, где установлен веб-сервер, без воздействия на настройки окружения других частей приложения.
Преимущества тестирования на виртуальных машинах
Автор уже писал ранее о необходимости использования виртуальных машин в тестировании [2], о методах их применения и о преимуществах [3].
Перечислим их кратко.
- Применение виртуальных машин в тестировании снижает расходы на аппаратные средства.
- Возможно имитировать окружение, развернутое на оборудовании клиентов, и подстраиваться под их локализацию и кастомизацию.
- Нет необходимости постоянно избавляться от следов предыдущих ненужных установок и настроек.
- Грамотно подобранный набор машин с нужными сохраненными состояниями позволяет тестировщикам быстро разворачивать нужное окружение и иметь оперативный доступ к разнообразным вариантам работы с исследуемым ПО.
- В ходе экспериментов всегда можно вернуться к исходному состоянию и перенастроить все заново.
- Еще один плюс распределенных тестовых стендов – это возможность конструирования нужных сочетаний среды: можно подключать разные SQL-серверы, разные веб-серверы, разные веб-клиенты.
Постановка задачи
Пришло время поговорить о возможности тестирования крупных программных пакетов на базе распределенных виртуальных стендов. Рассмотрим основные аспекты создания тестового стенда на нескольких виртуальных машинах, соединенных между собой по сети. Какие особенности виртуальных машин нужно учесть? Какие компоненты приложения стоит устанавливать на одни машины, а какие на другие? Как настроить взаимодействие всех этих компонентов?
Предлагаемый подход не является единственно допустимым, но в результате будет получен полностью рабочий и подготовленный к тестированию стенд, приближенный к условиям практической эксплуатации. Возможны различные вариации: по числу использованных виртуальных машин, их сочетанию с физическими машинами, можно даже прибегнуть к внедрению облачных технологий. Также можно распределить виртуальные машины по нескольким физическим машинам и подключить их к локальной сети компании или же создать свою виртуальную сеть на одной физической машине.
Окончательный выбор остается за читателем. Автор предлагает в статье удобный в исполнении и использовании вариант решения задачи, который имеет свое практическое применение. В качестве примера – создание стенда для тестирования веб-серверных настроек пакета Alloy Navigator.
Статью целиком читайте в журнале «Системный администратор», №11 за 2014 г. на страницах 78-84.
PDF-версию данного номера можно приобрести в нашем магазине.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|