Senior Software Development Engineer in Test (UI) in Katowice

Senior Software Development Engineer in Test (UI) in Katowice

Katowice Pełny etat 54000 - 66000 zł / rok (szac.) Hybrydowo
L

W skrócie

  • Zadania: Twórz i rozwijaj nowoczesne rozwiązania testowe dla platformy handlowej.
  • Firma: Globalna firma IT, część DXC Technology, z innowacyjną kulturą pracy.
  • Benefity: Atrakcyjne wynagrodzenie, benefity zdrowotne, praca zdalna i możliwości rozwoju zawodowego.
  • Pozostałe informacje: Dynamiczne środowisko z doskonałymi możliwościami rozwoju kariery.
  • Dlaczego ta praca: Pracuj z najnowszymi technologiami i wpływaj na rozwój nowoczesnych rozwiązań.
  • Kwalifikacje: 5+ lat doświadczenia w automatyzacji testów UI oraz umiejętności programowania w Pythonie.

Przewidywane wynagrodzenie mieści się w przedziale 54000 - 66000 zł za rok.

DXC Luxoft jest globalną firmą świadczącą usługi IT i konsultingowe, będącą częścią DXC Technology, dostarczającą nowoczesne rozwiązania cyfrowe i programowe na całym świecie. Współpracujemy z wiodącymi instytucjami finansowymi i globalnymi przedsiębiorstwami, pomagając im w transformacji i skalowaniu dzięki nowoczesnej technologii. Dołącz do globalnej społeczności inżynierów i bądź częścią budowania wpływowych, nowoczesnych rozwiązań technologicznych!

Opis projektu: Budujemy wewnętrzną platformę handlową obejmującą zarządzanie zamówieniami, realizację i analizę danych. Interfejs użytkownika to zestaw aplikacji TypeScript/React działających w kontenerze desktopowym i przesyłających dane w czasie rzeczywistym.

Obowiązki:

  • Współtworzenie i współposiadanie, wraz z naszym backendowym SDET, zjednoczonego frameworka testowego, który obejmuje każdy obszar, który testujemy:
    • Wspólne fundamenty: fikstury, dane testowe, konfiguracja, środowiska i raportowanie są wspólne dla UI, API, Kafka, bazy danych i zestawów wydajnościowych.
    • Scenariusze międzywarstwowe: jeden scenariusz może obejmować różne warstwy. Na przykład, test składa zamówienie w UI, a następnie sprawdza wynikowe zdarzenie i rekord w bazie danych.
    • Jedna jakość widoku: wyniki z każdego zestawu zasilają jeden widok jakości wydania.
  • Projektowanie, budowanie i utrzymywanie testów end-to-end i komponentowych z użyciem Playwright i TypeScript dla przepływów pracy związanych z handlem i analizą.
  • Rozszerzanie naszego wspólnego zestawu narzędzi testowych: obiekty stron, fikstury i mocki API kontenera desktopowego.
  • Budowanie front-endowych narzędzi dla danych w czasie rzeczywistym: mockowane odpowiedzi WebSocket i REST, kontrolowane dane testowe oraz deterministyczne odtwarzanie aktualizacji strumieniowych.
  • Pokrycie trybów awarii UI: rozłączenia i ponowne połączenia, wygasłe sesje, błędy uprawnień, nieregularne dane i przestarzałe dane.
  • Posiadanie testów wydajnościowych front-endu:
    • Startup i responsywność: pomiar czasu uruchamiania aplikacji i czasu do pierwszych danych oraz sprawdzenie, czy UI pozostaje responsywne przy wysokich wskaźnikach aktualizacji.
    • Zachowanie siatki w skali: pomiar wydajności renderowania i przewijania siatek z dziesiątkami tysięcy wierszy.
    • Zasoby kontenera: śledzenie wzrostu pamięci i wycieków w długoterminowych sesjach desktopowych oraz koszt CPU na okno.
    • Bramki regresji: przekształcanie wyników w budżety, które powodują niepowodzenie CI w przypadku regresji.
  • Budowanie i utrzymywanie izolowanych, na żądanie środowisk testowych na Linuxie i AWS:
    • Cykl życia: środowiska są tworzone na podstawie gałęzi lub uruchomienia, zaczynają się od zasianych danych i znanego stanu, a następnie są automatycznie usuwane.
    • Izolacja: uruchomienia testów nie zakłócają się nawzajem ani nie kolidują z wspólnymi środowiskami.
  • Walidacja kontraktów front-end/back-end i schematów ładunków.
  • Uruchamianie zestawów UI w CI/CD: podzielone równoległe uruchomienia, zaplanowane regresje i raportowanie w pull requestach.
  • Uczynienie niepowodzeń diagnozowalnymi: ślady Playwright, zrzuty ekranu i wideo oraz korelacja z telemetrią.
  • Współpraca z inżynierami UI, analitykami biznesowymi i traderami w celu automatyzacji krytycznych przepływów pracy i definiowania kryteriów akceptacji QA.
  • Używanie narzędzi wspomaganych AI tam, gdzie pomagają w pisaniu, utrzymywaniu i triage'u testów.

Wymagane umiejętności:

  • 5+ lat doświadczenia w automatyzacji testów UI, w tym projektowanie lub znaczne rozszerzanie frameworka.
  • Umiejętności programowania w Pythonie (pytest, Playwright dla Pythona): narzędzia testowe, przygotowanie danych, kontrole backendowe w scenariuszach UI oraz wkład w wspólny framework.
  • Doświadczenie w testowaniu aplikacji React z złożonymi siatkami danych (AG Grid lub podobne), dynamicznymi formularzami i dużym stanem po stronie klienta.
  • Doświadczenie w testowaniu wydajności front-endu:
    • Profilowanie: panele wydajności i pamięci Chrome DevTools oraz API Lighthouse i wydajności.
    • Diagnoza: znajdowanie długich zadań, wstrząsy układu i wycieki pamięci.
    • Budżety: ustalanie budżetów wydajności i egzekwowanie ich w CI.
  • Doświadczenie w CI/CD z Azure DevOps (preferowane) lub Jenkins/GitHub Actions oraz Git.
  • Doświadczenie w budowaniu izolowanych środowisk testowych:
    • Linux: komfortowa praca w wierszu poleceń, skrypty powłoki, procesy, sieci i rozwiązywanie problemów z logami.
    • Docker: Docker i Docker Compose.
    • AWS: EC2, ECS lub EKS, S3, IAM, VPC i CloudWatch.
    • Infrastruktura jako kod: Terraform, CloudFormation lub CDK.
  • Silne nawyki dotyczące niezawodności: izolowane testy, deterministyczne oczekiwania zamiast snu, kontrolowane ponowne próby i triage testów niestabilnych.
  • Doświadczenie z raportowaniem testów i śledzeniem (raporty Playwright, Allure, Azure Test Plans, TestRail).
  • Jasna komunikacja i dobra dokumentacja.

Umiejętności dodatkowe:

  • Doświadczenie w handlu lub po stronie kupującego: OMS/EMS, algorytmy, pozycje, alokacje lub ryzyko.
  • Znajomość Javy, wystarczająca do czytania kodu serwisowego i wkładu w zestawy backendowe w wspólnym frameworku.
  • Automatyzacja kontenera desktopowego: Electron, OpenFin lub podobne.
  • Testowanie komponentów (Vitest lub Jest).
  • Testowanie wizualne lub interakcyjne Storybook.
  • Testowanie dostępności i regresji wizualnej.
  • Profiler React i znajomość wydajności renderowania React (memoizacja, wirtualizacja).
  • OpenTelemetry lub podobne narzędzia do monitorowania rzeczywistych użytkowników oraz wykorzystanie danych RUM z produkcji do wyboru scenariuszy testów wydajności.

Senior Software Development Engineer in Test (UI) in Katowice – pracodawca: Luxoft

Nasza firma to doskonały pracodawca, który oferuje dynamiczne środowisko pracy w sercu innowacji technologicznych. Wspieramy rozwój zawodowy naszych pracowników poprzez mentoring oraz dostęp do najnowszych technologii, a także promujemy kulturę współpracy i otwartości. Pracując z nami, będziesz miał okazję uczestniczyć w projektach, które mają realny wpływ na branżę, a lokalizacja w centrum miasta zapewnia wygodny dostęp do licznych udogodnień.

L

Dane kontaktowe:

Zespół rekrutacyjny Luxoft

Naszym zdaniem te umiejętności pozwolą ci błyszczeć jako Senior Software Development Engineer in Test (UI) in Katowice

UI test automation
Python
pytest
Playwright
React
front-end performance testing
Chrome DevTools