Система автоматизированного тестирования программного обеспечения роутеров iRZ
Тестирование может выполняться двумя способами: вручную на лабораторных стендах и автоматически. Учитывая большой объем происходящих изменений, первый способ нерентабелен, поскольку требует значительных временных и человеческих ресурсов. Поэтому для оптимизации процесса была разработана система автоматизированного тестирования программного обеспечения роутеров iRZ.
Составляющие системы тестирования: управляющий сервер (работает на основе ОС GNU/Linux), промежуточный коммутатор и тестируемые роутеры iRZ (рис. 1).
CFDI-агент — специальная программа, которая занимается тестированием ПО и сбором полученных в результате этого данных. CFDI-агент создает Linux-контейнеры для каждого тестируемого роутера iRZ. Linux-контейнер — изолированная копия операционной системы Linux, взаимодействующая с роутером iRZ для проведения тестов независимо от других роутеров и контейнеров. Для масштабирования всей системы Linux-контейнеры можно вынести на отдельный сервер.
Для работы стенда необходимо объединение всех его элементов в одну общую физическую сеть. Для этой цели служит промежуточный коммутатор, имеющий возможность создания на нем VLAN (Virtual Local Area Network) — логической («виртуальной») локальной компьютерной сети, представляющей собой группу хостов, объединенных в одну сеть на программном уровне. Таким образом, внутри одной физической локальной сети может быть несколько логических локальных сетей, которые не могут напрямую взаимодействовать друг с другом. Данная технология необходима для изолированного тестирования каждого из роутеров iRZ. В такую сеть объединяются Linux-контейнер и тестируемый iRZ-роутер. Управление таким коммутатором CFDI-агент осуществляет по протоколу SSH.
CFDI-агент оснащен современным веб-интерфейсом, через который осуществляется весь процесс настройки и запуска тестирования (рис. 2).
В соответствии с заданными тестовыми параметрами CFDI-агент самостоятельно настраивает тестируемые роутеры iRZ. Данная процедура выполняется посредством протокола HTTP через служебную программу, имеющую свой URL, — это позволяет параллельно проводить тестирование работы веб-интерфейса роутера. Управление роутерами осуществляется через Ethernet-порты, таким образом также происходит тестирование их работоспособности.
В настоящее время с помощью данной системы может быть реализовано тестирование ПО только роутеров серии R4. Набор функциональных возможностей, доступных для тестирования, включает:
- работоспособность последовательных портов RS-232 и RS-485;
- работоспособность виртуального коммутатора VRRP;
- работоспособность сервера DHCP;
- работоспособность веб-интерфейса;
- работоспособность Ethernet-портов;
- работоспособность протокола SNMP;
- добавление DNS-серверов;
- создание GRE-тоннелей;
- создание статических маршрутов;
- создание OpenVPN-тоннелей;
- фильтрация по MAC-адресу;
- работоспособность Wi-Fi.
В данный момент отсутствует возможность тестирования GPIO-интерфейсов, чтения и выполнения команд по SMS, настройки работы SIM-карт с различными операторами и APN, смены WAN-интерфейсов.
В дальнейшем планируется расширение набора функциональных возможностей роутеров, доступных для тестирования системой, а также добавление разграничения прав доступа к системе, процедуры авторизации и аутентификации.
В заключение можно сказать, что представленная система является масштабируемой и гибкой, благодаря чему она имеет большие перспективы развития. Автоматизированный режим тестирования позволяет оптимизировать данный процесс — снизить операционные затраты, исключить человеческий фактор, а также делает возможным оперативный выпуск кастомизированных прошивок, прошедших контроль качества и соответствующих заявленным как функциональным, так и нефункциональным требованиям.