Do naszego biura w Krakowie poszukujemy Java Test Developera.
Od ponad 3,5 roku rozwijamy we współpracy z brytyjską firmą KiWi Powered jeden z naszych projektów (branża energetyczna, krótko mówiąc, inteligentne zarządzanie popytem i podażą energii elektrycznej).
Projekt przez ten czas mocno się rozrósł i jako zwolennicy Agile'a i jak najmniejszych zależności w projektach aktualnie dzielimy go na mikroserwisy. Właśnie dlatego potrzebujemy osoby odpowiedzialnej za testy, która wspomoże nas realizacją testów poszczególnych komponentów (i nie chodzi tu o testy jednostkowe, a o testy poszczególnych mikroserwisów) oraz testy end to end całego systemu.
Testowanie systemu obejmowałoby także testy obciążeniowe, aktualnie obsługujemy około 800 urządzeń, z czego około 15% przesyła dane sekunda po sekundzie.
Współpracowałbyś/współpracowałabyś głównie z Java Developerami, choć w projekcie nie brakuje innych technologii!
Więcej o projekcie:
- Monitorujemy około 1000 obiektów 24h/dobę które przesyłają dane w czasie rzeczywistym.
- Mamy do czynienia z minimum 970 * 2 * 60 * 24 = 2.793.600 nowych wpisów danych na temat zużycia energii w ciągu dnia.
- Zbieramy i przetwarzamy dane na temat zużycia energii w czasie rzeczywistym.
- Nasze systemy monitorują dane 24/7/365.
- Współpracujemy z dużymi międzynarodowymi partnerami, takimi jak British Telecom, Shell.
- Jako system kolejkowy używamy RabitMQ
Wymagania
Wymagania:- Dobra znajomość języka programowania Java
- Znajomość narzędzi i frameworków do testowania oprogramowania (np. JUnit, TestNG, Mockito, Spock, Selenium, Thucydides, JMeter)
- Umiejętność tworzenia testów funkcjonalnych i integracyjnych
- Wiedza z zakresu wytwarzania (CI) oraz testowania oprogramowania (BDD, TDD)
- Doświadczenie w testowaniu systemów rozproszonych
- Znajomość języków skryptowych (preferowany Python)
- Znajomość środowiska UNIX/Linux
- Doświadczenie z systemami raportowania błędów (JIRA)
- Podstawowa wiedza z zakresu protokołów sieciowych (OOP)
- Doświadczenie w pracy w metodologiach zwinnych (metodyka SCRUM)
- Tworzenie scenariuszy testów integracyjnych
- Przeprowadzanie testów funkcjonalnych
- Implementacja i utrzymywanie automatyzacji testów.
- Rozwijanie i zwiększanie wydajności wewnętrznych rozwiązań technologicznych