Остаточное тестирование клиентского приложения по протоколу xmpp

УДК 681.3

Е.Ю. Марченков, В.П. Котляров

ОСТАТОЧНОЕ ТЕСТИРОВАНИЕ КЛИЕНТСКОГО ПРИЛОЖЕНИЯ

ПО ПРОТОКОЛУ ХМРР

Сегодня остро стоит вопрос тестирования клиентских приложений. Существует ряд решений, позволяющих существенно снизить расходы на тестирование клиентских приложений по сравнению с ручным тестированием и при этом получить выигрыш в результатах. В данной статье мы рассмотрим остаточное тестирование клиентского приложения, которое отвечает за передачу информации по протоколу ХМРР. Будут проведены верификация и тестирование с помощью инструмента VRS/TAT в режиме Model Checking. Рассматриваемое клиентское приложение — часть решения по предоставлению интерактивных возможнос-гейдля пользователей интерпег-телевидения.

Описание проекта. В последнее время в развитых странах эксперты отмечают уменьшение интереса к телевидению. Производители телевизионной техники и программ бьют тревогу: все больше зрителей, "отворачиваясь" от экранов телевизоров, проводят свой досуг и получают необходимую информацию в Интернете. Появление этой широкодоступной, содержащей огромный объем информации компьютерной сети проявило главный недостаток традиционного телевидения — невозможность для зрителя получать необходимую именно ему информацию в удобное именно для него время. Несколько кликов мышкой, и на экране дисплея возникает то, что необходимо, по телевизору же можно увидеть только то. что "дают".

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

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

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

обмена текстовыми сообщениями для зрителей одного и того же канала;

общения голосом для зрителей одного и того же канала.

В качестве основной платформы для реализации интернет-телевидения была выбрана платформа Microsoft TV IPTVe. Данная платформа обладает следующими возможностями:

надежной доставкой AV (аудио-видео) потоков через протокол RTP; мгновенной сменой каналов, наличием PiР (картинка-в-картинке) потоков,

поддержкой различных кодеков (VC-I, Н.264, MPEG-2),

поддержкой и управлением отказоустойчивостью,

дополнительными данными (телетекст, субтитры и т. п.),

проигрыванием защищенных с помошыо цифровой подписи файлов, расположенных на Windows Media Server.

Типовая архитектура решения, построенного на базе Microsoft TV IPTVe, представлена на рис. 1.

Для реализации возможности обмена текстовыми сообщениями существующее клиентское приложение было доработано. Был дописан модуль, отвечающий за отправку и прием сообщений по протоколу ХМРР (Jabber).

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

На рис. 2 представлена архитектура решения на базе Microsoft TV IPTVe с двумя добавленными возможностями: обмен текстом и голосом.

К существующей архитектуре были добавлены два сервера: ХМРР Server, отвечающего за реализацию текстового общения по протоколу ХМРР, и Voice Server, отвечающего за реализацию голосового общения по протоколу SI Р.

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

ХМРР (eXtensible Messaging and Presence Protocol — "Расширяемый протокол обме-

на сообщениями и информацией о присутствии"), ранее известный как Jabber, — это основанный на XML расширяемый протокол для мгновенного обмена сообщениями(1М) в околореальном времени с открытым исходным кодом, с информацией о присутствии (список контактов). Протокол построен расширяемым и имеет возможности передачи голоса по сети и передачи файлов.

Архитектура решения, построенного на базе протокола ХМРР, представлена на рис. 3.

Технология верификации и тестирования. При реализации модуля для обмена текстовыми сообщениями во время просмотра интернет-телевидения возникает вопрос, насколько клиентская часть модуля соответствует спецификации протокола ХМРР, доступной по адресу www.xmpp.org.

Для проверки соответствия клиентской реализации и спецификации ХМРР были использованы два инструмента — VRS и TAT.

TAT (Test Automation Toolset) [ 1 ] — это инструментальная система автоматизации тестирования.

Процесс тестирования по TAT состоит из нескольких фаз:

представление имеющихся спецификаций в формате MSC диаграмм (Message Sequence Charts);

автоматическая трансляция заданных в формате MSC спецификаций в исполняемый целевой код тестов, управляемая

Рис. 1. Архитектура решения на базе Microsoft TV IPTVe

Рис. 2. Архитектура решения на базе Microsoft TV IPTVe включая голосовое и текстовое общение

ХМГГ ClIENT

хмрг server

хмрр client

хмгг server

Рис. 3. Архитектура ХМРР решения

хмрр client

gateway

foreign foreign messaging network

mtuacing client

networx

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

автоматическое выполнение всех полученных тестовых наборов.

На рис. 4 схематично показан процесс работы TAT.

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

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

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

MSC

XML config

Рис. 4. Процесс работы ТАТ

румент, как VRS [2]. Он позволяет автоматически создавать модель поведения системы в виде машины состояний. VRS создает дерево поведения на основе результатов обхода этой модели. В полученном дереве каждый путь (трасса) представляет один из сценариев поведения системы. Таких путей может быть бесконечно много, и тогда возникает вопрос о выборе оптимального количества путей для максимального покрытия системы [3].

Для автоматизации тестирования клиента, реализующего функционал обмена текстовыми сообщениями для интернет-телевидения, все имеющиеся требования, описанные в спецификации протокола ХМРР, были приведены к формату MSC-диаграмм.

Например, процесс авторизации клиента на сервере описывают следующие требования:

Step 1: Client initiates stream to server:

Step 2: Server responds with a stream tag sent to client:

Step 3: Server informs client of available authentication mechanisms:

Step 4: Client selects an authentication mechanism:

Step 5: Server sends a | BASE64[ encoded challenge to client:

Step 5 (alt): Server returns error to client: Step 6: Client sends a IBASE64I encoded response to the challenge:

Step 7: Server sends another I BASE64I encoded challenge to client:

Step 7 (alt): Server returns error to client: Step 8: Client responds to the challenge: Step 9: Server informs client of successful authentication:

Step 9 (alt): Server informs client of failed authentication:

Step 10: Client initiates a new stream to server: Step II: Server responds by sending a stream header to client along with any additional features (or an empty features element).

Данные требования легко могут быть представлены в виде MSC-диаграммы (рис. 5).

STEF 1 CLIENT INITIATES STREAM ТО SERVER

step 1 server responds with a stream tag sent to client

TIF J" SERVER INFORMS CLIENT Of AVAILABLE AUTHENTICATION MECHANISMS

step 4: client selects an authentication mechanism

step 5. server sinds a ibasemi encoded challenge to client

step 5 (alt)- server returns error to client

step & client sends a i îas104i encoded response to the challingi

step 7. server sends another 1вл5еоч1 encodeo challenge to client

step 7 {alt): server riturns error to client

sttp si client responds to the challenoe

stef *jt server informs client of successful authentication

step « 1alt1: server informs client of failed authentication

STEP KkCUENT INITIATES A NEW STREAM TO SERVER

step ii: server responds by sending a stream header to client along with any additional features

Рис. 5. Авторизация клиента

На основе MSC-диаграмм с помощью TAT были сформированы автоматизированные тестовые наборы и проведено тестирование.

Использование VRS/TAT позволило верифицировать и протестировать клиентское приложение для платформы Microsoft TV IPTVe. Результатом стали найденные ошибки в реализации работы с протоколом ХМРР в клиентском приложении.

В ходе тестирования клиентского приложения получены следующие результаты: протестирован один базовый протокол, создано 58 трасс, проведено 116 тестов, найдена одна ошибка.

Связка двух инструментов УЯЯ и ТАТ позволяет провести качественную верификацию и тестирование при существенно меньших трудозатратах по сравнению с ручным тестированием. Более того, данные инструменты позволили найти те ошибки, которые было бы крайне сложно обнаружить в ходе ручного тестирования.

СПИСОК ЛИТЕРАТУРЫ

1. TAT User's Manual. Motorola. 2007.

2. Baranov S., Kotlyarov V., Letichevsky A., Drobintsev P. The technology of Automation Verification and Testing in Industrial Projects // Proc. of St. Petersburg IEEE Chapter. International Conference. May 18—21. St. Petersburg. Russia, 2005. P. 81-86."

3. Баранов С.Н., Котляров В.П., Летичевский АА

Индустриальная технология автоматизации тестирования телекоммуникационных приложений на основе верифицированных поведенческих моделей спецификаций требовании // Космос, астрономия и программирование: Тезисы Межаунар. науч. конф., Санкт-Петербург 20-22 мая. 2008 г. С. 134—145.

УДК 681.3

С.С. Ананько, П.С. Кавригин, С.П. Мери,, СЛ. Немнюгин, С.Г. Толушкин

МОДЕЛИРОВАНИЕ ПРОЦЕССОВ РАСПРОСТРАНЕНИЯ ЗАРЯЖЕННЫХ

ЧАСТИЦ И ЖЕСТКОГО ЭЛЕКТРОМАГНИТНОГО ИЗЛУЧЕНИЯ С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИЙ ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ И

РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ

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

пучков адронов и ядер некоторых элементов. Терапевтический эффект в данном случае основан на свойстве частиц, имеющих ненулевой заряд, резко тормозить в конце своего пробега и передавать большую часть своей энергии поглощающему веществу. Данное свойство получило название "пик Брэгга" — по имени ученого, предсказавшего это явление. Эффективное лечение требует тщательной предварительной подготовки, учета химического состава ткани, физических свойств, реальной геометрии облучаемого органа. И в основе этого подготовительного этапа лежит процесс моделирования.