Разработка и развитие (доработкой) системы, автоматизирующей комплексное функциональное и нагрузочное тестирование нашей сетевой ОС (представляет собой оркестратор и сотни сценариев для него);
Развитие имеющихся и созданием новых автотестов для упомянутой системы;
Описание сетевых топологий, воспроизводящих типичные сетевые конфигурации наших заказчиков, в виде программного кода
Принимать участие в проектировании и написании последовательностей (pipelines) CI/CD;
Взаимодействовать с разработчиками с целью реализации сценариев тестирования добавляемых функций и с целью формирования задач по устранению выявленных неисправностей.
Требования:
Знание методик тестирования ПО и сетевых решений (smoke тесты, юнит-тесты и пр.);
Уверенная работа в операционных системах Linux;
Понимание устройства сетей связи на базе Ethernet и IP;
Умение автоматизировать задачи с помощью скриптов на Python и Bash: знакомы с синтаксисом этих языков, способны с нуля написать нужный скрипт, способны разобраться в имеющемся сложном коде от 10 000 строк;
Виртуализация в Linux (QEMU-KVM) и изоляция (Docker): можете подготовить конфигурацию VM KVM с нуля, запустить ее и диагностировать;
Опыт эксплуатации и поиска неисправностей в сетевых инфраструктурах на базе Ethernet и IP: если у вас сеть из нескольких элементов и не проходят пакеты, вы понимаете, как проводить диагностику.
Будет плюсом:
Опыт эксплуатации Ethernet и IP-сетей;
Опыт написания автотестов;
Опыт работы тестировочными фреймворками;
Опыт работы с веб-фреймворками Django, Flask (или эквиваленты);
Опыт работы с базами данных (любая БД, которая позволит создать микросервис для обработки служебной информации сложного приложения);
Опыт работы c CI/CD средами, желательно Jenkins;
Опыт эксплуатации виртуализированных облачных инфраструктур в Linux;
Опыт работы с контейнеризированными сервисами;
Опыт работы с Jenkins Pipeline (pipeline as code) и Apache Groovy DSL;
Понимание современного устройства процесса разработки ПО:
работа с кодом в системе SCM (Git, GitLab);
применение подходов DevOps и CI/CD;
работа с задачами в трекере (Jira и пр.), проектная работа Agile Scrum.
Английский язык на уровне, позволяющий свободно читать техническую документацию.