Jakie są najczęstsze błędy początkujących testerów? Na co szczególnie uważać zaczynając pracę jako tester oprogramowania? O tym w dzisiejszym artykule.

 

Nieustannie słyszymy o dużym zapotrzebowaniu na specjalistów IT i możliwościach zmiany branży oraz poprawy zarobków. Coraz więcej osób zachęconych taką wizją decyduje się na podjęcie tego kroku. Dużym zainteresowaniem cieszą się nie tylko kursy i szkolenia na programistów, ale również na testerów oprogramowania. Osobom dopiero wchodzącym na rynek i stawiającym w testerskim świecie pierwsze kroki może wydawać się, że próg wejścia do świata IT przez zawód testera jest niski, a praca nie stawia dużych wymagań. Okazuje się jednak, że niektórzy początkujący testerzy, być może nie do końca jeszcze rozumiejący jak wyglądają relacje w takiej pracy i na czym ona polega, popełniają całkiem sporo błędów. Dotyczą one zarówno wiedzy testera i jego podejścia do tematu planowania oraz wykonywania testów, jak i kompetencji miękkich, których posiadanie – jak się okazuje – w tym zawodzie jest nieocenione.

A zatem, jakich błędów powinni wystrzegać się nowi w branży?

Brak planowania lub nieodpowiednie planowanie w procesie testowym

Błędne jest myślenie, że praca testera polega wyłącznie na przeprowadzaniu testów. W rzeczywistości jest to znacznie szerszy proces, który obejmuje:

  • planowanie testów,
  • analizę,
  • projektowanie,
  • implementację,
  • wykonywanie,
  • a także raportowanie o postępie i wynikach.

Jednym z najczęstszych błędów początkujących testerów jest brak planowania lub planowanie testów w nieumiejętny sposób. Chaotyczne działania prowadzą do tego, że oprogramowanie może nie zostać odpowiednio przetestowane, przez co nie będzie spełniać wymagań użytkowników lub jego wydanie zostanie przesunięte w czasie. Aby testowanie dało satysfakcjonujące wyniki i zagwarantowało odpowiednie pokrycie, powinno być dobrze zaplanowane i ułożone w proces testowy, który w każdym przypadku może wyglądać nieco inaczej. To zależy od rodzaju oprogramowania; tego, ile osób będzie z niego korzystało; specyfikacji i wielu innych czynników.

Nieumiejętna priorytetyzacja zadań

Ramy czasowe projektu wymagają od testera umiejętnego ustalania priorytetów w oparciu o zarządzanie ryzykiem. Ważne jest, by najbardziej krytyczne i istotne ze względu na funkcjonowanie oprogramowania błędy były zgłaszane deweloperom w pierwszej kolejności. Te mniej ważne, na przykład odnoszące się do wyglądu aplikacji, ale nie wywierające wpływu na jej działanie, powinny mieć niższy priorytet. Warto w tym miejscu wspomnieć, że przy zgłaszaniu błędów ważne są dwa pojęcia: krytyczność błędu oraz jego priorytet. Tester powinien potrafić je rozróżnić. Krytyczność, czyli ważność błędu daje informację o tym, jaki wpływ na aplikację będzie miał dany defekt. W ramach ważności możemy wyróżnić błąd: krytyczny, bardzo poważny, poważny, średni i trywialny. Natomiast priorytet określa, jak pilne jest naprawienie defektu. Tu obowiązuje następujący podział: pilny, następne wydanie, przy okazji, otwarty.

Brak systematyczności i odkładanie zgłaszania błędów na później

Tester oprogramowania musi wykazywać się doskonałą organizacją, samodyscypliną oraz systematycznością. Defekty warto zgłaszać zaraz po ich wykryciu. Odkładanie tego na później może sprawić, że część szczegółów wyleci nam z pamięci, a więc nie będziemy w stanie opisać problemu wystarczająco dokładnie i jego odtworzenie przez dewelopera będzie trudne, lub wręcz niemożliwe. Brak systematyczności może prowadzić do utraty wiarygodności testera w oczach zespołu oraz do wydłużenia jego pracy. Systematyczne i bezzwłoczne zgłaszanie błędów ma też jedną ogromną zaletę: pozwala deweloperom szybciej rozpocząć pracę nad usunięciem defektu, zwiększając dzięki temu prawdopodobieństwo dotrzymania ustalonych terminów.

Niedostateczna wiedza o branży, w jakiej ma działać aplikacja

Błędne jest założenie, że do przetestowania aplikacji wystarczy wiedza niezbędna do przeprowadzenia procesu testowego. Niezwykle istotna jest również ta z zakresu obszaru, w jakim ma działać konkretna aplikacja. Jeżeli testujemy oprogramowanie przeznaczone do prowadzenia pełnej księgowości, wypada wiedzieć, czym jest cash flow oraz jak obliczyć amortyzację. Jeśli tester nie ma o tym pojęcia albo wykazuje duże niedostatki w wiedzy, nie będzie w stanie dobrze sprawdzić działania takiej aplikacji. 

Brak testów negatywnych

Inwencja użytkowników oprogramowania może zaskakiwać i prowadzić do nieprzewidywalnych skutków. Warto przygotować się na „nieoczekiwane” i sprawdzić działanie aplikacji zarówno poprzez testowanie pozytywne (zgodne z przeznaczeniem), jak i negatywne (niedozwolone). Testy negatywne poprawiają jakość testowania aplikacji i pozwalają na wyeliminowanie wielu defektów, które nie zostałyby wykryte, gdyby sprawdzanie aplikacji zostało ograniczone do testów pozytywnych. Dlaczego testy negatywne są tak istotne? Przede wszystkim dlatego, że dostarczają informacji, czy z aplikacji będą mogły korzystać osoby nieuprawnione oraz, czy zostaną przeprowadzone procesy, które na pewnym etapie powinny zostać przez aplikację zablokowane. Takie testy przeprowadza się poprzez wprowadzenie nieprawidłowych danych.

Nieodpowiednie dane testowe

Warto pamiętać, że niektóre błędy w działaniu aplikacji mogą się ujawnić wyłącznie po uprzednim wprowadzeniu konkretnych danych testowych. Dlatego prowadzenie testów, które polega na wpisywaniu przypadkowych ciągów znaków, może uniemożliwić wykrycie takich defektów. Dociekliwy i dokładny tester będzie pamiętał o tym, by wprowadzić różne kombinacje znaków z uwzględnieniem takich technik jak klasy równoważności oraz wartości brzegowe. Przetestuje aplikację, wprowadzając wartość ujemną tam, gdzie dozwolone są tylko dodatnie, a znaki specjalne tam, gdzie powinny się znaleźć wyłącznie litery.

Brak precyzyjnego opisu błędu

Tylko precyzyjny opis zgłaszanego błędu pozwoli deweloperowi na jego odtworzenie. Dlatego tak istotne jest to, co tester zawrze w zgłoszeniu. Prawidłowo zgłoszony defekt powinien uwzględniać: zwięzły i zrozumiały tytuł zgłoszenia; środowisko testowe; warunki wstępne; poszczególne kroki, które należy wykonać, by odtworzyć określony błąd; rezultat wykonanych kroków oraz oczekiwany efekt.  Do zgłoszenia z opisem błędu można dołączyć screenshot, który pomoże zobrazować problem. Zawarte w opisie kroki powinny bezbłędnie prowadzić do celu każdą osobę, która otrzyma takie zgłoszenie. Nie ma zatem mowy o stosowaniu skrótów myślowych, czy nieprecyzyjnych sformułowań.

Tutaj przeczytasz więcej o tym, jak poprawnie zgłaszać błędy.

Brak asertywności i pewności siebie w zderzeniu z zespołem

Rola testera polega na wykrywaniu błędów i wskazywaniu nieścisłości w działaniu oprogramowania, co ma celu poprawę jego jakości. Niestety nie zawsze jest to postrzegane w ten sposób. Dotyczy to zwłaszcza sytuacji, kiedy przyjdzie nam zgłosić błąd w działaniu funkcjonalności, nad którą zespół pracował z poświęceniem przez długi czas. Możemy mieć wtedy do czynienia z różnymi postawami deweloperów. U jednych będzie to pełne zrozumienie i zadowolenie związane z możliwością poprawy jakości aplikacji, u innych krytykowanie pracy testera i postrzeganie go jako osoby „czepiającej się”. W drugim przypadku warto wykazać się asertywnością wobec negatywnych nastrojów oraz pewnością siebie podczas zgłaszania defektu. Z drugiej strony należy pamiętać, że zbyt duża pewność siebie też może prowadzić do problemów. Nie raz już zdarzało się bowiem, że tester zgłaszał błąd, który w istocie defektem nie był.  

Nieodpowiednia komunikacja z zespołem

Kompetencje miękkie są niezwykle ważne w pracy testera. Umiejętność bezkonfliktowego komunikowania się z zespołem pozwala uniknąć wielu problemów i poprawia efektywność działań. Przekazywanie informacji w odpowiedni sposób może być kluczem do sukcesu rozumianego jako sprawne działanie całego zespołu. Niezwykle istotne jest nie tylko to, jak tester rozmawia z deweloperami, ale również to, czy potrafi kontrolować własne emocje.

Wskazywanie błędów dewelopera, zamiast błędów aplikacji

Traktowanie wykrytych defektów jako błędów w pracy dewelopera, a nie błędów w działaniu aplikacji może rodzić wiele problemów. Należy unikać sytuacji potencjalnie konfliktowych i wytykania pomyłek. Zgłoszenie defektu zawsze powinno się odnosić do działania procesu, funkcjonalności lub innej cechy oprogramowania. Nie używamy w nim podkreśleń, pogrubień, wykrzykników i nie wskazujemy konkretnej osoby. Nie stosujemy formatowania, które może wskazywać na emocjonalne nacechowanie zgłoszenia.

Brak ciągłego rozwoju i nabywania nowych umiejętności technicznych

Zawód testera przeznaczony jest dla osób, które chcą się stale rozwijać i poszerzać wiedzę. Stagnacja i lenistwo zdecydowanie nie są tu wskazane. Nowe technologie, narzędzia, kolejne poziomy ISTQB, nauka języków programowania. Wszystko to podnosi atrakcyjność testera na rynku pracy i zwiększa jego szanse na utrzymanie etatu albo zatrudnienie u nowego pracodawcy. Pamiętajmy, że kto się nie idzie do przodu, ten stoi w miejscu. 

Duże zapotrzebowanie na specjalistów IT sprawia, że wiele osób myśli o przebranżowieniu. Na rynku pojawia się coraz więcej kursów oraz szkoleń przygotowujących do pracy testera oprogramowania. Choć ukończenie dobrego kursu może być bardzo pomocne, to nie wyczerpuje jeszcze tematu. Ważne są również określone cechy osobowe, takie jak chęć nieustannego poszerzania wiedzy, asertywność, dociekliwość, skrupulatność. Czego jeszcze nie powinno zabraknąć w pracy testera? Z pewnością pasji do testowania oraz zainteresowania nowymi technologiami. Bez tego praca byłaby nie tylko nieefektywna, ale wręcz niemożliwa.