Как стать автором
Обновить
525.89
YADRO
Тут про железо и инженерную культуру

Позвоните бабушке: как тестируют функцию CSFB, которая связывает поколения

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров568

Привет, Хабр! Меня зовут Анастасия Беднова, я тестирую базовые станции мобильных сетей 4G в YADRO. В команде мы применяем разные подходы, сегодня хочу рассказать о практике «пирамида тестирования» на примере фичи Circuit Switched Fallback — переключения с одного поколения сети на другое. Рассмотрим уровни, в которых участвуют команды тестирования, без учета Unit- и Component-тестов. 

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

Что такое Circuit Switched Fallback

Circuit Switched Fallback (CSFB) — это технология, которая перенаправляет телефон, подключенный к 4G (LTE) сети, в 2G- или 3G-сеть для осуществления голосового звонка.

В каких ситуациях срабатывает CSFB:

  • Телефон не поддерживает голосовой вызов через сеть 4G (режим VoLTE). Например, ваша бабушка использует старый смартфон, который поддерживает передачу данных в 4G, но не поддерживает голосовой вызов в 4G.

  • В сети оператора нет инфраструктуры, обеспечивающей голосовые вызовы через сеть 4G (IMS/VoLTE).

  • Вы используете телефон в районе с неустойчивым сигналом. За городом или в дороге, где прием сигнала работает нестабильно, устройство самостоятельно запрашивает смену технологии для обеспечения устойчивого голосового соединения.

Больше технических подробностей про технологию вы найдете в статье.  

Чем 2G отличается от LTE 

Основная разница между 2G- и 4G-технологиями — в скорости передачи данных. Изначально в стандарте 2G для передачи голоса выделялся отдельный канал (полоса частот) для каждого пользователя, который в данный момент использует только он.

Из-за использования других видов модуляции в 4G-стандарте эту полосу можно разбить на небольшие временные отрезки, в которых IP-пакеты передаются с высокой скоростью. Также на скорость повлияло использование другие частотных диапазонов для LTE. 

Как устроены архитектуры сетей операторов связи и как они управляют сетями разных поколений? Рассказал ведущий технический менеджер продукта в YADRO Михаил Бухтеев. 

При этом пользовательские устройства, поддерживающие LTE-стандарт, как правило, могут работать и в 2G-сетях. Но для обеспечения скорости и качества эти устройства стандартно подключаются к LTE-сети. Для совершения голосового звонка в том случае, если режим VoLTE не поддерживает пользовательское устройство или сеть оператора, устройство необходимо переключить в сеть 2G, желательно без потери качества сервиса. Для этого и нужен CSFB (Circuit Switch FallBack).

Еще одно отличие между 2G и 4G — оборудование, которое используется для поддержания сигнала.

Набор оборудования в 2G-сети

Набор оборудования в 4G-сети

Как тестировать устройства для технологий, которые отличаются не только «начинкой», но и физическими свойствами? Разделять задачу на уровни по методу пирамиды. 

Телеком-направление в YADRO стремительно растет, появляются новые задачи. В мою команду тестирования базовых станций 4G ищем двух специалистов — QA Automation Engineer и Software Development Engineer in Test/SDET. Для обеих позиций важно уверенно писать на Python и иметь опыт работы с CI/CD.  Переходите по ссылкам, чтобы узнать подробности и оставить отклик.

Декомпозируем задачу для успешного тестирования

Базовая станция стандарта GSM/LTE — сложное, многокомпонентное устройство, непростое для тестирования.  Особенную сложность представляет проверка сценариев реагирования на всевозможные сбои и отклонения от стандартного поведения как внутри системы, так и извне. 

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

Первый уровень: тестирование в LTE-сети

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

Что происходит в сети оператора при таком звонке:

  • Телефон отправляет на базовую станцию (eNB) вызов.

  • Базовая станция связывается с ядром сети (MME) и запрашивает процедуру CSFB для исходящего звонка, дожидается от ядра сети подтверждения о возможности такого перехода.

  • После этого отправляет телефону информацию о новом подключении к 2G-сети, которое он должен установить.

  • После этого базовая станция завершает обслуживание абонента в 4G-сети, обслуживание переходит к станции 2G.

  • Голосовой вызов осуществляется через 2G-сеть.

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

Симулятор позволяет автоматизировать этот этап тестирования и увеличить скорость тестов и повторяемость результатов. CSFB — это базовая функциональность, поэтому проверка проходит регулярно.

Критерии успешного теста:

  • Формирование корректного запроса в сторону ядра с указанием необходимых ресурсов.

  • Корректное завершение сессии обслуживания в LTE с освобождением ресурсов.

Также симуляторы помогают моделировать ситуации с отказом выделения ресурсов и корректную обработку разных сценариев ошибок.

Второй уровень: тестирование в GSM-сети

В 2G-сети основная логика работы CFBS находится в области обмена между MME и MSS/VLR — пакетным ядром 4G и голосовым ядром 2G опорной сети. 

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

Критерий успешного тестирование — установка соединения с различными наборами параметров подключения. Это позволяет лучше исследовать правильность работы алгоритмов. 

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

Третий уровень: тестирование полного цикла (системное)

Тестирование на системном уровне позволяет проверить сценарии, которые наиболее часто встречаются в жизни, и использовать реальные устройства, представляющие сочетание 2G- и 4G-сетей. Подробнее о системном тестировании расскажет мой коллега.

Андрей Михайлов

Эксперт по тестированию в департаменте контроля качества в YADRO 

Системное или E2E (End-to-End) тестирование — это целый комплекс проверок, цель которых убедиться, что наши продукты работают корректно и не содержат ошибок в условиях, наиболее приближенных к тем, в которых они будут эксплуатироваться у операторов сотовой связи.

О каких продуктах идет речь:

  • Базовая станция стандартов 2G и 4G (BTS).

  • GSM-контроллер (BSC).

  • Система управления сетью (NMS).

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

Системное тестирование включает в себя:

  • Тестирование совместимости (Interoperability Testing) в лаборатории у операторов и в лаборатории YADRO.

  • Тестирование Telecom-решения в целом.

  • Полевые испытания у операторов, которые включают функциональное тестирование и измерения KPI.

Расскажу подробнее о каждом из видов тестирования.

Тестирование совместимости (Interoperability Testing)

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

Какие это элементы:

  • Элементы ядра сети — EPC (4G)/MSC (2G).

  • BTS другого вендора.

  • BSC другого вендора.

  • Мобильные телефоны разных производителей.

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

Тестирование Telecom-решения в целом

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

Здесь мы фокусируемся на сценариях, которые проводятся оператором для управления сегментом сотовой сети.

Ранее, на более низких уровнях тестирования проверили, насколько корректно функционирует каждый из элементов сети (BTS, BSC, NMS) по отдельности. Здесь же проходит валидация и верификация сценариев на уровне всего решения.

Полевые испытания у операторов

Полевые тесты проводятся для функциональности, которая содержит изменения в планировщике радиоресурсов и критична к радиоусловиям, а также для полноценной проверки работы двух технологий 2G и 4G одновременно, как в случае с CSFB. 

Разработанные телеком-продукты частично интегрируются в сеть оператора и работают в настоящих условиях. То есть базовые станции с антеннами вывешиваются по соседству с базовыми станциями других вендоров. Почему «частично интегрируются»? На наши базовые станции или контроллер пока пускаем только «наших» же пользователи — телефоны инженеров по тестированию. Коммерческих пользователей там пока нет.

Для проведения тестов мы оборудовали брендированный автомобиль измерительными комплексами с телефонами.

Цель таких тестов — функциональное тестирование фичей (CSFB, handover), а также измерение KPI, которые требуются операторами: количество успешных звонков, время установления звонка, время handover, количество успешных handovers).

Как «пирамиду» применяют в других задачах

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

Например, ту же «пирамиду» можно использовать в тестировании функции emergency call, которая позволяет совершать вызов экстренных служб при любой загрузке сети. Добавляя в первый симулированный вызов соответствующий флаг, мы проверяли приоритетность переключения вызова в 2G-сеть, даже если обычное подключение в данный момент невозможно. 

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

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

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

Теги:
Хабы:
+10
Комментарии0

Публикации

Информация

Сайт
yadro.com
Дата регистрации
Дата основания
Численность
5 001–10 000 человек
Местоположение
Россия
Представитель
Ульяна Соловьева