Системное интеграционное тестирование (SIT, System Integration Testing) и/или тестирование встряхиванием (Shake-out Testing) – важный элемент каждого проекта по трансформации или внедрению OSS. Планирование интеграционного тестирования – комплексная задача, по сложности сравнимая с проектированием и строительством высотного здания.

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

Архитектурное проектирование

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

Базовые элементы

Базовые элементы. Фундамент здания аналогичен базовой облачной или аппаратной программной инфраструктуре, необходимой для работы комплекса OSS. Являясь опорой конструкции, основание здания должно быть тщательно выверенным и достаточно прочным для поддержки всех остальных элементов здания. Точно так же базовая техническая инфраструктура должна поддерживать все программные компоненты более высокого уровня. В решениях OSS к основным элементам относятся вычислительные и сетевые системы, системы хранения данных и безопасности, необходимые для поддержки OSS. Сюда входят также общие сервисы, такие как управление идентификацией и доступом, авторизация, протоколы передачи почты (SMTP, Simple Mail Transport Protocol) и сетевой синхронизация (NTP, Network Time Protocol) и многое другое. Все эти основополагающие элементы должны пройти интеграционное тестирование, которое позволит убедиться в том, что OSS работает в точном соответствии с проектными ожиданиями.

Отдельные этажи

Отдельные этажи. Каждый этаж высотного здания можно сравнить с отдельными программными решениями, составляющими комплекс OSS/BSS. Каждый этаж здания, будучи надлежащим образом обустроен и меблирован, должен соответствовать общему дизайну здания и взаимодействовать с другими этажами (речь идет о согласовании сантехнических и электрических систем, правильном размещении лестниц и лифтов, оптимальном расположении окон, стен и дверей, разделяющих помещения отдельных пользователей/жильцов). Аналогичным образом, каждый инструмент OSS/BSS нуждается в уникальной конфигурации, с учетом потребностей каждого пользователя и/или арендатора. Одновременно необходимо обеспечить его согласованность со смежными инструментами для бесперебойного протекания сквозных рабочих процессов между приложениями. В то время как отдельные заводские и пользовательские приемосдаточные проверки (FAT, Factory Acceptance Testing / UAT, User Acceptance Testing) призваны гарантировать соответствие пространства каждой квартиры данным первоначального плана, SIT гарантирует надлежащее согласование и настройку сквозных рабочих процессов и удобство пользования системой в целом.

Системы водо- и электроснабжения, отопления, вентиляции и кондиционирования воздуха

Системы водо- и электроснабжения, отопления, вентиляции и кондиционирования воздуха. Эти системы во многом напоминают серверные процессы программного обеспечения. Так же как прокладка кабелей, трубопроводов и воздуховодов подлежит тщательной проверке на предмет их слаженной работы в структуре здания и обеспечения доставки услуг на каждый этаж, внутренние серверные процессы и потоки данных между инструментами OSS должны быть протестированы на предмет их операционной совместимости. SIT гарантирует правильную интеграцию потоков данных, без отклоненных транзакций при передаче данных между интерфейсами API в отдельных системах.

Лифты

Лифты. Их можно сравнить с пользовательскими интерфейсами (UI, User Interface). Подобно тому как лифты перевозят людей и грузы между этажами, UI облегчают ежедневную деятельность пользователей, обеспечивая бесперебойную связь и передачу данных между отдельными программными решениями. Пользовательские интерфейсы также являются предметом SIT. В данном случае целью проверки является обеспечение интуитивной, последовательной и эффективной навигации между приложениями (как в работе лифта, точно и без рывков останавливающегося на нужных этажах).

Если какой-либо из перечисленных выше элементов конструкции высотного здания будет построен/установлен изолированно, без учета его взаимодействия с другими элементами, здание может оказаться непригодным к пользованию и небезопасным. Аналогичным образом, отсутствие комплексной проверки различных программных решений (часто поставляемых разными поставщиками) может привести к таким проблемам, как несоответствие или отбраковка данных, появление критических участков в рабочем процессе, или даже к отказу системы в целом. Именно поэтому системное интеграционное тестирование (SIT) является залогом бесперебойного функционирования всего «здания» (т.е. интегрированной системы программного обеспечения), гарантирующего продуктивный и безопасный пользовательский опыт.

Системное интеграционное тестирование в разработке программного обеспечения для телекоммуникационных компаний

Одним из неоспоримых преимуществ решения SunVizion является его разработка с учетом возможности модульной интеграции. SunVizion не только предоставляет пользователю множество предварительно интегрированных модулей OSS и BSS. Система также рассчитана на использование стандартных отраслевых интерфейсов, таких как открытые программные интерфейсы TM Forum OpenAPIs.