Loading...

Od ponad 8 lat jest związany z testami i ich automatyzacją. Przez ten czas miał okazję poznać wiele gałęzi związanych z IT (Telco, FinTech, Automotive, GameDev) i zajmować się procesami wdrażania jakości dla różnorodnych systemów. Obecnie od prawie 5 lat zajmuje się testami automatycznymi wraz z architekturą, dedykowanymi aplikacjom webowym.

Prelekcja:

Jak z QA zostałem coachem – (r)ewolucja w mindsecie testów na przykładzie HuuugeGames

Celem prezentacji jest pokazanie jak wraz ze wzrostem organizacji, ilości i poziomu skomplikowania projektów musiały się zmienić procesy, które stosowaliśmy w zapewnianiu jakości (automatyzacja testów, infrastruktura środowisk testowych, koncepcje i odpowiedzialności związane z testowaniem na różnych szczeblach), jakie błędy popełniliśmy, z jakimi wyzwaniami się zmagaliśmy i jakie finalnie wypracowaliśmy rozwiązania.

Sama prezentacja będzie podzielona na 3 kluczowe bloki:

  1. PRZEDSTAWIENIE PROBLEMU – CO? (Rozrost organizacji i podejście do zapewniania jakości)
    • Jak organizacja i management podchodzili do testów i jakie stwarzało to problemy
    • Jak wyglądały nasze projekty i jakie wówczas mieliśmy wyzwania z nimi związane
    • Narzędzia do testów i automatyzacji z jakich korzystaliśmy i jakie rodziły problemy
  2. POTRZEBA ZMIAN – JAK i DLACZEGO? (Stare rozwiązania nie sprawdzały się w nowych wyzwaniach)
    • Problemy które zaczęliśmy napotykać (np. związanie z utrzymaniem testów, liczbą istniejących narzędzi)
      • Problem z utrzymaniem testów
      • Testy automatyczne stały się wąskim gardłem
      • Wiele różnych języków i wiele narzędzi do testów
    • Zmiana infrastruktury (CI/CD) wymaga zmian w testach
      • Testy nie zapewniały szybkiego feedbacku
      • Testowanie automatycznie z poziomu API było niewystarczające, nie zapewniało wymaganego pokrycia
      • Pisanie nowych testów API było ponad siły zespołu QA (tworzenie nowych testów, testowanie nowych funkcjonalności, pisanie test planów – tego było za dużo)
      • Przejście na Kubernetesa wymagało szerokich zmian w testach
  3. ROZWIĄZANIA (jak możemy odpowiedzieć na powyższe wyzwania)
    • Zaangażowanie cały zespół developerski w tworzenie testów (na różnych poziomach)
    • rola i odpowiedzialności QA
      • Testy E2E, testy funkcjonalne, testy dostępności, testy UX
      • Wsparcie w testowaniu i pisanie test planów
      • Monitoring, nagrywanie sesji i zbieranie logów (szczególnie w środowiskach k8s)
    • rola i odpowiedzialności developera
      • API testy, unit testy
      • Dbanie o pokrycie kodu
    • sposób wyboru nowych narzędzi, decyzja o utrzymaniu starych
    • testowanie wraz ze wzrostem poziomu skomplikowania infrastruktury (mikroserwisy z CI/CD)

Jako organizacja przeszliśmy długą drogę w zrozumieniu tego, że testy to integralna cześć każdego procesu wytwarzania oprogramowania i wymaga, jak kod, dokumentacji, planu, wymagań, uwzględnienia w estymacjach, a także odpowiedniej architektury. Ważnym wnioskiem jest uświadomienie, że za jakość odpowiada cały zespół, ale rolą QA jest pomoc każdemu członkowi zespołu być świadomym tej jakości, pomagać w procesach usprawniających jakość, dzielić się wiedzą z nią związaną, a także rozumieć zapewnianie jakości jako proces, a nie jednorazowe osiągnięcie.