Разработчик инструментов тестирования
Местоположение и тип занятости
Компания
Описание вакансии
Условия работы
Компании Undev в отдел тестирования видео бэкенда очень нужен технически грамотный, умный и сообразительный программист с хорошим чувством юмора, устойчивой нервной системой, способный разбираться в сложных взаимодействиях программных средств. Мы создаем среду, в которой будет удобно выполнять различный анализ софта, как вручную, так и автоматизированно. Все вместе включает в себя CI, фаззер, удобный веб-интерфейс с графиками и отчетами, стенд, в котором можно легко и непринужденно автоматизированно разворачивать тестовые среды etc. Но все это еще только на стадии разработки. Часто требуется рисерч, поиск наиболее подходящих решений. В работе необходимы навыки программирования, администрирования, опыт R&D, желание изучать, придумывать и внедрять новое.
Что нужно будет делать
Разрабатывать фреймворк для тестирования: среду, которая имеет базу тестов (которую надо расширять), умеет запускать их как изолированно, так и в рамках CI. Разбираться, как работает (и где работает неправильно) видеобэкенд, который умеет много всего делать с видео: транскодировать, рестримить, скриншотить, etc. Реализовывать новые юзкейсы тестирования, что часто связано не только с написанием кода, но и с организацией нетривиальной среды. Писать веб-интерфейс, в котором можно будет посмотреть, как все работает/ломается и еще кучу всего интересного. В общем, работы много и очень разной. Если Вас не напугало все написанное выше и Вы обладаете необходимым набором знаний, мы будем очень рады познакомиться.
Есть ряд обязательных требований
- нужно знать python, потому что фреймворк для тестирования пишется именно на нем;
- Linux, весь софт запускается в этой ОС, поэтому желательно знать, как сней работать, а еще лучше, знать как она работает;
- ООП и паттерны проектирования -- пригодятся для внесения вклада в разработку фреймворка, он у нас объектноориентированный;
- сети и протоколы передачи данных.
И не очень обязательных, но с ними будет легче:
- знание протоколов передачи и форматов хранения видео (mpeg2ts, h.264, mp4);
- опыт тестирования ПО, создания автотестов, использования систем непрерывной интеграции, применение профилировщиков, статических/динамических анализаторов, фаззеров и тп.;
- знание других языков программирования;
- знакомство с web-разработкой (JavaScript фреймворки и вот это все), чтобы делать мимими-отображение результатов тестирования и кнопочки его запуска, во время отдыха от написания сложнотестов.