Software Verification & Validation Engineer (QA)
Summary
A software QA/Verification & Validation engineer at Scanway (Wrocław, hybrid) who owns the quality of embedded software for satellite payloads: managing requirements and traceability, planning and automating tests in Python, running integration/system and hardware-in-the-loop tests on real hardware, and handling controlled releases.
Szukamy osoby, która będzie odpowiadać za techniczną stronę zapewnienia jakości oprogramowania rozwijanego dla payloadów satelitarnych i innych systemów embedded. Rola łączy zarządzanie wymaganiami, planowanie i automatyzację testów, weryfikację systemu na rzeczywistym sprzęcie oraz przygotowanie kontrolowanych wydań oprogramowania. Nie jest to stanowisko ograniczone do wykonywania gotowych scenariuszy testowych – szukamy osoby, która potrafi samodzielnie przełożyć wymagania i dokumentację na mierzalne kryteria, zaplanować sposób ich weryfikacji i zebrać dowody potwierdzające zgodność dostarczonego produktu, niezależnie od testów rozwijanych przez zespół programistów.
Twój zakres obowiązków
- Zarządzanie wymaganiami programowymi i systemowymi: porządkowanie, wersjonowanie, analiza kompletności oraz utrzymywanie traceability.
- Weryfikowanie wymagań pod kątem jednoznaczności, spójności i testowalności.
- Definiowanie kryteriów akceptacji oraz powiązań między wymaganiami, zmianami w oprogramowaniu i wynikami testów.
- Przygotowywanie planów weryfikacji, specyfikacji testów, procedur oraz raportów.
- Projektowanie i automatyzacja testów w Pythonie.
- Rozwój narzędzi testowych, symulatorów, generatorów danych i skryptów diagnostycznych.
- Prowadzenie testów integracyjnych, systemowych, regresyjnych i hardware-in-the-loop.
- Weryfikacja działania kamer, akwizycji danych, telemetrii, komend, transferu plików i protokołów komunikacyjnych.
- Testowanie zachowania systemu w sytuacjach błędnych, np. przy timeoutach, utracie komunikacji lub niepoprawnych danych.
- Analiza wyników, raportowanie niezgodności oraz współpraca z programistami i elektronikami przy ustalaniu przyczyn problemów.
- Rozwój procesu CI/CD i automatycznego uruchamiania testów.
- Release management: wersjonowanie, tagowanie, przygotowywanie artefaktów, changelogów, release notes i list znanych problemów.
- Weryfikacja gotowości releasów oraz kompletności dokumentacji i wyników testów.
- Doświadczenie w obszarze QA oprogramowania, Verification & Validation, testów integracyjnych lub systemowych.
- Umiejętność przekładania wymagań technicznych na konkretne i mierzalne przypadki testowe.
- Dobra znajomość Pythona oraz frameworków testowych, np. pytest.
- Praktyczna znajomość systemu Linux.
- Doświadczenie z Git oraz systemami CI/CD.
- Znajomość komunikacji sieciowej, protokołów oraz przetwarzania danych binarnych.
- Umiejętność diagnozowania problemów na podstawie logów, telemetrii, zachowania systemu i dokumentacji.
- Umiejętność czytania kodu C lub C++ i technicznej współpracy z programistami.
- Samodzielność w organizowaniu procesu weryfikacji oraz prowadzeniu dokumentacji testowej.
- Język angielski umożliwiający pracę z dokumentacją techniczną i komunikację z anglojęzycznym kontrahentem.
- Gotowość do okresowej pracy ze sprzętem na stanowisku laboratoryjnym.
- Doświadczenie z systemami wbudowanymi, w tym Embedded Linux.
- Znajomość kamer przemysłowych, naukowych lub kosmicznych oraz systemów akwizycji obrazu.
- GigE Vision, GenICam, Camera Link, frame grabbery lub inne interfejsy kamerowe.
- Protokoły stosowane w systemach kosmicznych, w szczególności bazujące na CCSDS, PUS lub CSP.
- Modbus, UART, SPI, Ethernet lub inne interfejsy sprzętowe i komunikacyjne.
- Znajomość obsługi narzędzi typu analizator logiczny, oscyloskop, multimetr.
- Doświadczenie z Dockerem i GitLab CI.
- Tworzenie mocków sprzętu, symulatorów i środowisk hardware-in-the-loop.
- Znajomość narzędzi do zarządzania wymaganiami i macierzy traceability.
- Znajomość standardów ECSS dotyczących oprogramowania lub product assurance.
- Doświadczenie w branży kosmicznej, lotniczej, przemysłowej, medycznej, motoryzacyjnej albo w innych systemach o podwyższonej niezawodności.
- Pracę nad rzeczywistymi systemami kosmicznymi i optoelektronicznymi.
- Udział w pełnym cyklu rozwoju produktu: od wymagań i integracji po testy oraz release.
- Realny wpływ na sposób zarządzania wymaganiami, weryfikacją i jakością oprogramowania.
- Możliwość tworzenia procesu oraz narzędzi testowych zamiast wyłącznie realizowania gotowych scenariuszy.
- Dostęp do kamer, urządzeń embedded, symulatorów i stanowisk integracyjnych.
- Rozwój w obszarze systemów embedded, protokołów kosmicznych, automatyzacji testów i inżynierii wydań.
- Elastyczne godziny pracy oraz hybrydowy model pracy.
- Prywatną opiekę medyczną, kartę sportową oraz ubezpieczenie na życie.
- Dofinansowanie do nauki języka angielskiego oraz budżet szkoleniowy na rozwój kompetencji technicznych.
- Swobodną atmosferę pracy, brak dress code'u oraz regularne spotkania integracyjne zespołu.