Инженер в отдел тестирования 5G Core (Python)

Дата размещения вакансии: 16.11.2024
Работодатель: YADRO
Уровень зарплаты:
з/п не указана
Город:
Санкт-Петербург
Требуемый опыт работы:
От 3 до 6 лет

Ядро мобильной связи 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го дня работы, включающую стоматологию, госпитализации, международные путешествия;
  • Льготное страхование членов семьи;
  • Курсы английского языка;
  • Психолог и другие поддерживающие специалисты.