УДК 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 (or an empty features element)
Рис. 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
С.С. Ананько, П.С. Кавригин, С.П. Мери,, СЛ. Немнюгин, С.Г. Толушкин
МОДЕЛИРОВАНИЕ ПРОЦЕССОВ РАСПРОСТРАНЕНИЯ ЗАРЯЖЕННЫХ
ЧАСТИЦ И ЖЕСТКОГО ЭЛЕКТРОМАГНИТНОГО ИЗЛУЧЕНИЯ С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИЙ ВЫСОКОПРОИЗВОДИТЕЛЬНЫХ И
РАСПРЕДЕЛЕННЫХ ВЫЧИСЛЕНИЙ
Моделирование процессов распространения заряженных частиц и жесткого электромагнитного излучения в различных средах на основе использования реалистических полуэмпирических моделей — актуальная сегодня задача. Результаты моделирования могут быть использованы для расчета систем радиационной защиты, в ядерной физике и дозиметрии. Развитие ускорительной техники позволяет применять знания из области ядерной физики в медицинских целях, например, при лечении злокачественных опухолей пучками высокоэнергетических заряженных частиц. Значительный интерес здесь представляет использование
пучков адронов и ядер некоторых элементов. Терапевтический эффект в данном случае основан на свойстве частиц, имеющих ненулевой заряд, резко тормозить в конце своего пробега и передавать большую часть своей энергии поглощающему веществу. Данное свойство получило название "пик Брэгга" — по имени ученого, предсказавшего это явление. Эффективное лечение требует тщательной предварительной подготовки, учета химического состава ткани, физических свойств, реальной геометрии облучаемого органа. И в основе этого подготовительного этапа лежит процесс моделирования.