Ядро мобильной связи 5G — это программно-аппаратный комплекс, отвечающий за пакетной сети передачи данных, аутентификацию абонентов, управление абонентскими профилями и политиками предоставляемых услуг, в том числе отвечает за управление мобильностью абонентов и др.
Ядро также обеспечивает функции управления сетью и безопасности сети и абонентов. Чаще всего оно разворачивается в центрах обработки данных мобильных операторов.
О проекте:
Цель нашего проекта - разработка программной части ядра 5G. Если очень сильно упростить, то ядро 5G можно назвать набором микросервисов, которые работают в облаке и используют REST API для общения между собой.
Очевидно, что для общения с внешним миром и некоторыми внутренними сервисами используются разные протоколы и стандарты, но микросервисная архитектура стандарта 5G накладывает свой отпечаток на то, как мы разрабатываем и, в особенности, тестируем продукт.
В проекте есть несколько команд аналитики, разработки и тестирования. Команды разработки отвечают за модульные и компонентные тесты, а команда тестирования - за интеграционные, нагрузочные и E2E тесты, при этом большая часть интеграционных и E2E тестов пока не автоматизирована.
О команде:
Функциональность продукта быстро расширяется, количество тестов постоянно растёт.
Для достижения необходимого уровня эффективности работы и качества продукта, перед командой тестирования стоит важная задача - правильно выстроить пирамиду тестирования, автоматизировать то, что выгодно автоматизировать, и создать удобные инструменты для ручного тестирования всего остального.
Основные цели команды:
- Разработка тест-планов и автоматизация существующих тестов;
- Создание и поддержка инструментов для авто-тестов (компонентных, интеграционных и нагрузочных);
- Создание и поддержка инструментов для ручного и исследовательского тестирования;
- Настройка инфраструктуры для тестов и инструментов;
- Внедрение эффективных практик тестирования и обучение команды.
Чем Вам предстоит заниматься:
- Разрабатывать новые и поддерживать существующие инструменты автоматизированного, ручного и нагрузочного тестирования;
- Настраивать инфраструктуру и CI/CD piplines для разрабатываемых тестов и инструментов
- Взаимодействовать с командами аналитики, разработки и ручного тестирования;
- Проводить ревью архитектуры продукта с точки зрения testability;
- Разрабатывать тестовую стратегию и тест-планы для некоторых продуктовых фичей;
- Писать автотесты для этих фичей и дорабатывать инструменты при необходимости;
- Участвовать в ревью тестовой стратегии, тест-планов и автотестов для других продуктовых фичей;
Большинство из этих слов придется использовать почти каждый день (кроме субботы и воскресенья):
Docker, Linux, Bash, REST API, NoSQL, Swagger, Postman, Karate, JSON, JavaScript, Wiremock, Python, Pytest, JUnit, Behave, Gherkin, Cucumber, Allure, FastAPI, Pydantic, Wireshark, Jira, Git, Gitlab, CI/CD, TCP/IP, SCTP, NGAP, NAS
Если какие-то из них вам пока не знакомы - это нормально, мы научим.
Также вам предстоит выяснить, кто из этих людей самый крутой и почему: Майерс, Канер, Копланд, Уиттакер, Бейзер.
Да. Вам придется читать книги и учиться.
Что мы ожидаем от будущего члена команды:
- Иметь опыт разработки на любом языке программирования от 2х лет. Наш основной язык разработки тестовых инструментов - Python. Если вы программируете на другом языке - перейти на Python не проблема, мы поможем;
- Быть знакомым с классическими алгоритмами и структурами данных;
- Уметь отлаживать собственный (и не только) код, а также тестировать его;
- Знать теорию тестирования и иметь практику её применения от 2х лет;
- Иметь опыт разработки авто-тестов от 1 года на любом языке и фреймворке;
- Иметь опыт тестирования REST API ;
- Иметь опыт разработки или тестирования ПО под ОС Linux;
- Иметь опыт разработки или тестирования многопоточных/асинхронных программ;
- Имать опыт работы с системами контроля версий и баг-трекинга;
- Знать английский на уровне чтения и написания технической документации.
Будем рады предложить Вам:
- Конкурентный уровень заработной платы;
- Гибридный формат работы, возможность полной удалённой работы;
- Систему премирования за научные достижения, публикацию статей, регистрацию патентов и выступления на конференциях;
- «Лекторий», в рамках которого приглашенные эксперты и наши специалисты на регулярной основе делятся профессиональным опытом из различных областей науки;
- Внутреннюю программу поддержки инноваций;
- Медицинскую страховку с 1го дня работы, включающую стоматологию, госпитализации, международные путешествия;
- Льготное страхование членов семьи;
- Курсы английского языка;
- Психолог и другие поддерживающие специалисты.