Обзор телекоммуникационного домена

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

Архитектура телеком-систем

Телеком-системы делятся на две категории:

Business Support Systems (BSS):

  • Биллинг: Тарификация, списание, выставление счетов, сбор платежей
  • CRM: Управление клиентами, сервисные запросы, претензии
  • Управление заказами: Активация, изменение, отключение услуг
  • Revenue Assurance: Выявление утечек доходов и ошибок биллинга

Operations Support Systems (OSS):

  • Управление сетью: Мониторинг, обнаружение сбоев, оптимизация производительности
  • Провижининг: Настройка сетевых элементов для новых услуг
  • Service Assurance: End-to-end мониторинг качества услуг
  • Управление инвентарём: Учёт физических и логических сетевых ресурсов

Терминология домена

  • CDR (Call Detail Record): Запись метаданных каждого звонка, сессии данных или SMS
  • Тарификация (Rating): Применение тарифных правил к CDR для расчёта начислений
  • Медиация: Сбор и нормализация сырых данных использования от сетевых элементов
  • Провижининг: Настройка сетевого оборудования для оказания услуг
  • Перенос номера (MNP): Перенос телефонных номеров между операторами

Фокусные области тестирования телекома

Тестирование точности биллинга

Биллинг — двигатель доходов телекома:

graph LR A[Сетевой элемент] --> B[Сбор CDR] B --> C[Медиация] C --> D[Тарификационный движок] D --> E[Система биллинга] E --> F[Генерация счетов] F --> G[Оплата]

Ключевые сценарии тестирования биллинга:

  • Голосовые звонки: пиковые vs. внепиковые тарифы, минимальный заряд, посекундная vs. поминутная тарификация
  • Использование данных: ступенчатые планы, пороги дросселирования, политики добросовестного использования
  • SMS/MMS: списание из пакетов, международные тарифы, премиум-номера
  • Роуминг: начисления посещаемой сети, наценка домашней сети, обработка TAP-файлов

Тестирование обработки CDR

CDR — сырьё телеком-биллинга. Тестировать обработку CDR на:

  • Обнаружение и устранение дублей CDR
  • Обработку повреждённых CDR (пропущенные поля, невалидные значения)
  • Объёмную обработку (миллионы CDR в час)
  • Точность временных меток в разных часовых поясах
  • Корреляцию частичных CDR (установка + завершение вызова)

Тестирование протоколов

Телеком использует специализированные протоколы:

  • SIP (Session Initiation Protocol): Установка и завершение VoIP-вызовов
  • Diameter: Аутентификация, авторизация и учёт для сетей 4G/5G
  • SS7: Legacy-протокол сигнализации для сетей с коммутацией каналов
  • GTP: Туннелирование данных для мобильных пакетных сетей

Продвинутое тестирование телекома

Тестирование Network Slicing в 5G

5G вводит network slicing — создание виртуальных сетей на общей инфраструктуре:

  • Тестирование изоляции слайсов: трафик одного слайса не должен влиять на другой
  • Проверка гарантий QoS по слайсам (задержка, пропускная способность, надёжность)
  • Тестирование жизненного цикла слайсов: создание, изменение, удаление
  • Проверка биллинга по слайсам — разные слайсы могут иметь разные тарифные планы

Тестирование Revenue Assurance

Revenue assurance выявляет разрывы между использованными услугами и полученным доходом:

  • Сравнение CDR, сгенерированных сетью, с CDR, обработанными биллингом
  • Выявление неоплаченного использования (потерянные CDR, сбои медиации)
  • Обнаружение переплат (дубли CDR, некорректные тарифы)
  • Тестирование сверки между счётчиками сети и записями биллинга

Тестирование системы обнаружения фрода

Телеком-фрод обходится отрасли в миллиарды ежегодно:

  • Фрод SIM-боксов: международные звонки через локальные SIM-карты
  • Фрод подписки: получение услуг по ложной идентичности
  • Фрод Wangiri: мошенничество с пропущенными звонками с премиум-номеров
  • Тестирование правил обнаружения на известных паттернах фрода

Практическое задание

Разработайте тест-кейсы для системы мобильного биллинга:

  1. Тарификация голоса: Тестируйте пиковые vs. внепиковые тарифы, звонки, пересекающие тарифную границу
  2. Списание за данные: Тестируйте пороги ступенчатых планов, дросселирование при достижении лимита
  3. Надбавки роуминга: Тестируйте голос, данные и SMS с корректно применённой наценкой роуминга
  4. Скидки пакетов: Тестируйте списание минут и данных из пакета
  5. Точность счёта: Проверьте, что сумма всех тарифицированных CDR совпадает с итогом счёта
Руководство по решению

Тест тарифной границы:

  • Звонок начинается в 17:59 (внепиковый период с 18:00), длительность 5 минут
  • Первая минута по пиковому тарифу, оставшиеся 4 — по внепиковому
  • Проверить корректное применение раздельной тарификации

Тест дросселирования данных:

  • План: 5 ГБ на скорости 4G, затем дросселирование до 1 Мбит/с
  • Сгенерировать ровно 5 ГБ использования, проверить дросселирование следующей сессии
  • Проверить отправку уведомления о дросселировании абоненту

Советы из практики

  1. Точность биллинга нужно тестировать до уровня долей копейки — ошибки умножаются на миллионы абонентов
  2. Тестируйте с реалистичными объёмами CDR — пакетная обработка в масштабе выявляет другие баги
  3. Тестирование переноса номера должно покрывать всех операторов рынка
  4. Тестируйте обработку часовых поясов для звонков, пересекающих полночь или границы зон
  5. Проверяйте расчёты пропорционального списания при изменении плана посреди периода

Ключевые выводы

  1. Тестирование телекома сосредоточено на точности биллинга и обработке данных в масштабе
  2. Обработка CDR — основа доходов телекома — тестировать её значит тестировать бизнес
  3. Тестирование протоколов (SIP, Diameter) требует специализированных инструментов
  4. Тестирование на масштабе необходимо — телеком-системы обрабатывают миллиарды записей ежедневно