kontakt@tujestbug.pl

Automatyzacja testów, co to jest?

Automatyzacja testowania nie jest czymś nowym, przełomowym – szacuje się iż powstała w tym samym czasie co pierwsze systemy informatyczne, tj. w latach 70-tych. Niemniej jednak, dopiero niedawno nabrała ona większego znaczenia na skutek popularyzacji aplikacji webowych, podejść zwinnych w wytwarzaniu oprogramowania i tym samym konieczności wykonywania testów regresji.
Jak powiedział pewien profesor uniwersytetu w Cambridge :

„Automatyzacja zastępuje coś co działa z czymś co prawie zawsze działa, ale jest szybsze i tańsze”
– R.N.

Nasuwa się zatem pytanie czy obecnie automatyzacja testów jest podejściem dominującym w pracy testera?
W zeszłym miesiącu przeprowadziłem ankietę dotyczącą charakterystyki pracy testerów, technologii w jakich pracują oraz wyzwań jakie pojawiły się w ich życiu zawodowym od początku pandemii.
Na bazie wyników ankiet wyróżniłem 3 typy respondentów, które opisałem w poniższych akapitach.

Osoby nie testujące

Ponad 70% ankietowanych myślała o zostaniu testerem oprogramowania, z czego mniej niż 30% rzeczywiście chciałaby tymi testerami zostać.
Co ciekawe osoby, które chciałyby zostać testerami oprogramowania mają ogólne rozeznanie z czym łączy się ta praca, czyli wykonywanie testów, przygotowywanie i analiza warunków testowych itd.
Osoby te jako główne czynniki nie zrealizowania swoich zamiarów podają m.in. nie posiadanie certyfikatu ISTQB, opór pracodawców przed zatrudnianiem młodszych specjalistów ds. testów w firmach IT.

Osoby testujące manualnie

Była to najmniej liczba grupa respondentów, z których nikt nie miał więcej niż 3 lat doświadczenia. Pozwala to sądzić, że po tylu latach automatyzacja staje się już niezbędnikiem każdego testera.
Głównym powodem nie korzystania z automatycznych testów był według ankietowanych brak niezbędnych umiejętności programistycznych i/lub dedykowanego czasu niezbędnego do przeprowadzenia efektywnej automatyzacji.
Testerzy manualni wyrażali zainteresowanie nauką programowania dla celów automatyzacji, ponieważ byli przekonani o korzyściach z automatyzacji takich jak :
– spędzanie mniej czasu na wykonywaniu manualnych testów
– uzyskanie awansu w pracy i przebiegu ciekawszej ścieżki kariery

Osoby wspomagające się testami automatycznymi

Najliczniejsza grupa ankietowanych, która dostarczyła najwięcej informacji w tej ankiecie. Były to głównie osoby z doświadczeniem 3 lub więcej lat w branży. Pokrywa się z tezą o tym, że automatyzacja staje się niezbędna najpóźniej po 3 roku pracy.

Charakterystyka grupy:

    1. Pracują w dużych zespołach projektowych (powyżej 11 osób) w metodykach zwinnych (Scrum, Kanban)
    2. Testują głównie aplikacje webowe, nieco mniej osób skupia się na testach API oraz sprzęcie
    3. Na co dzień wykonują manualne testy i pracują nad automatyzacją testów funkcjonalnych
    4. Nieco mniej osób wykonuje testy wydajnościowe i/lub realizuje zadania związane z konfiguracją środowisk (devops)



Podejście do automatyzacji:

  1. Na najbardziej nurtujące pytanie pt. „Ile czasu spędzam nad automatyzacją” nie udało się ustalić najbardziej przeważającego czasu w ciągu dnia – jak pokazano na wykresie poniżej ☹:
  2. Subiektywna ocena stabilności testów wyniosła aż około 8/10 bez względu na poziom doświadczenia QA
  3. Jeśli chodzi o to nad czym najwięcej czasu spędzają osoby automatyzujące jest to zdecydowanie tworzenie testów automatycznych i poprawianie testów.
  4. Stosunkowo dużo czasu zajmuje również analiza raportów i reprodukcja porażek testów. Może sygnalizować problemy z jakością raportów i/lub stabilnością środowiska testów wbrew powszechnej wysokiej ocenie 😉
  5. Do celów automatyzacji respondenci najczęściej stosują Javę (50%), Selenium (50%), Python (40%), Rest[RestAssured/Swagger] (35%)
  6. Przy pytaniu o śledzenie postępów nad automatyzacją okazało się, że tylko 65% ankietowanych śledzi postępy automatyzacji. Co czwarta osoba używa do tego dedykowanych metryk a większość po prostu obserwuje liczbę testów łącznych. Oznacza to że całkiem spora grupa respondentów nie śledzi żadnych metryk w ogóle lub skupia się tylko na ilości napisanych testów.

Problemy/wyzwania w codziennej pracy i plany na przyszłość

  1. Najczęstszymi problemami przy automatyzacji testów były trudności z organizacją czasu i niestabilne środowisko testowe (30% respondentów). Nierzadko narzekali na niejasną dokumentację i/lub problemy z komunikacją w zespole (25%).
  2. Najczęstsze problemy w czasie pandemii wymienione przez ankieterów to:
    1. Rozpraszanie uwagi (aż 55%)
    2. Trudność w wydzieleniu czasu pracy i czasu odpoczynku (55%)
    3. Brak komunikacji niewerbalnej (40%)
    4. Brak wspólnoty z zespołem (30%)
    5. Prokrastynacja zadań i mniejsze zaangażowanie zespołu (40%)
  3. Na pytanie co chcieliby zmienić w swojej pracy ?
    1. Większość ankietowanych chciałaby spędzać mniej czasu na analizie wyników testów –> czyli otrzymywać lepsze raporty z testów (60%)
    2. Usprawnić tworzenie nowych testów, aby robić to mniejszym nakładem czasu (45%)
    3. Automatyzować więcej i nie tylko funkcjonalnie (30%)
    4. Sprawić, aby programiści również uczestniczyli w automatyzacji testów e2e (25%)
  4. Na pytanie co chcemy osiągnąć w najbliższym roku?
    1. prawie wszyscy ankietowani (90%) chcieliby nauczyć się nowych umiejętności
    2. Dostać podwyżkę (70%)
    3. Podnieść stabilność testów automatycznych (45%)
    4. Pomimo subiektywnej wysokiej oceny stabilności testów (8/10) prawie co druga osoba chce dokonać poprawek w tym obszarze !

Na podstawie przedstawionych wyników ankiet można wyciągnąć poniższe wnioski:

  1. Bardzo dużo osób w IT choć raz myślało o zostaniu testerem oprogramowania, aczkolwiek tylko niewiele z tych osób wydało się to pociągające. Jako największą trudność z otrzymaniem roli testera jest niskie zainteresowanie stanowiskami juniorskimi z strony pracodawców oraz trudność w pozyskaniu certyfikatu ISTQB, który mógłby pomóc w otrzymaniu pierwszej pracy
  2. Przed trzecim rokiem pracy większość testerów chociaż raz próbowała jakiejś formy automatyzacji testów. W większości przypadków nie udało się jej wdrożyć z względu na brak dedykowanego czasu i/lub niewystarczające umiejętności programistyczne
  3. Wszyscy ankietowani z doświadczeniem powyżej 3 lat automatyzowali swoje testy w codziennej pracy korzystając głównie z Javy/Pythona i frameworków Selenium/Rest
  4. Osoby automatyzujące na co dzień narzekają na czas potrzebny do analizy testów i debugowanie testów automatycznych (60%). Chcieliby też tworzyć testy efektywniej spędzając na tym mniej czasu
  5. Pomimo wysokiej oceny stabilności testów większość ankietowanych chciałaby jeszcze bardziej ustabilizować swoje testy.
  6. Prawie każdy respondent jest zainteresowany zwiększeniem swoich umiejętności i w związku z tym nie odmówiłby podwyżce za swoją pracę (70%)
  7. Z względu na trwającą pandemię większość z nas cierpi na notoryczne rozpraszanie uwagi, a także trudność w wydzieleniu czasu na pracę i odpoczynek. Co trzeciej osobie brakuje komunikacji werbalnej i poczucia wspólnoty z zespołem. Odczuwamy też prokrastynację do wykonywanych zadań oraz mniejsze zaangażowanie zespołu.
Dziękuję bardzo osobom, które poświęciły swój czas na wypełnienie ankiety!

Dzięki Wam udało mi się ocenić Wasze potrzeby. Już niebawem możecie spodziewać się serii artykułów poświęconych poruszonym przez Was problemów/wyzwań i rozwoju w stosowanych przez Was technologiach.


0 komentarzy

Dodaj komentarz

Avatar placeholder

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *