Avatar autora

TestSlayer

TestSlayer - najlepsza, nowoczesna platforma do nauki testowania

Najczęstsze błędy w testowaniu oprogramowania

styczeń 3, 2024, 9 min czytania

Najczęstsze błędy w testowaniu oprogramowania

Rozwój umiejętności to również świadomość popełnianych błędów lub możliwości ich popełnienia. W tym artykule opiszemy jakie błędy najczęściej przytrafiają się testerom - tym młodym stażem, jak i doświadczonym. Kto wie, może znajdziesz je u siebie lub kogoś w zespole? A może pozwoli Ci uniknąć pomyłek w projekcie o innej specyfice, niż ten w którym obecnie się znajdujesz?

Typowe błędy początkujących testerów

Niepełne zrozumienie wymagań

Początkujący tester często rozpoczyna testy bez dogłębnego zrozumienia istoty wprowadzanych zmian, zdarza się, że to występuje ze względu na strach o dopytanie innych co mógłby przetestować (przecież to on jest od testów) lub przez skróty myślowe zastosowane przez osobę opisującą zadanie, dla której pewne zachowania są oczywiste. Takie sytuacje doprowadzają do tego, że pokrycie testami jest niepełne lub błędne.

Nieznajomość aplikacji

Naturalnym jest, że osoba która jest testerem od niedawna nie będzie w stanie znać aplikacji tak dobrze, jak jej doświadczeni koledzy i koleżanki z zespołu. Niestety, to może prowadzić do pominięć w testowaniu niektórych przypadków czy obszarów lub potraktowanie feature’a jako buga i odwrotnie.

Niedokładne planowanie testów

Niedbałość przy rozpisywaniu scenariuszy testowych może prowadzić do luk w pokryciu testowym, a to w efekcie do nieznalezienia błędów. Brak dobrze rozpisanych przypadków testowych może również doprowadzić do dublowania pracy testera - w natłoku pracy można zapomnieć się i wykonać te same kroki ponownie.

Nadmierne skupianie się na edge case’ach lub pomijanie ich

Obie te skrajności są złe - zarówno upieranie się, że jakiś bardzo specyficzny przypadek może źle wpłynąć na działanie aplikacji, gdy jest bardzo mała szansa na wystąpienie a jedyny efekt to rzucenie nieobsłużonego błędu (np. użycie emoji w polu wpisywania), jak i sprawdzanie jedynie happy path’ów wokół trzonu zmian, bez poświęcenia uwagi mniej oczywistym błędom (np. przekroczenie stosunkowo wysokiego limitu znaków).

Brak komunikacji

Używanie systemów ticketowych jako jedynej formy komunikacji z resztą zespołu może narazić projekt na nieporozumienia, ponieważ zdarza się, że podczas implementacji pewne założenia musiały ulec zmianie, a zgłoszenie nie zostało zaktualizowane lub zakomunikowane stosownym komentarzem, przez co tester może trzymać się pierwotnej wersji i natrafić na “błędy”, które nimi nie są. Ponadto, nic nie zastąpi dobrej zdzwonki z developerem czy chociaż konwersacji na czacie, by omówić szczegóły napotkanego błędu, zamiast przerzucać ticketami - czasem podczas takiej wspólnej weryfikacji poprawka może nadejść natychmiast.

Ignorowanie aspektów testów niefunkcjonalnych

Nowi testerzy często skupiają się wyłącznie na aspektach funkcjonalnych, ignorując wydajność, użyteczność czy kwestie zabezpieczeń danego rozwiązania.

Nieprawidłowa ocena priorytetów

Niedoświadczeni testerzy mogą nie rozumieć, które ze scenariuszy należy wykonać w pierwszej kolejności by wychwycić błędy jak najwcześniej. Przykładem tego może być pominięcie happy path'a lub w przypadku złożonego zadania skupienie się jedynie na poszczególnym fragmencie dostarczanych zmian, zamiast zacząć od całościowej weryfikacji zachowania.

Poleganie wyłącznie na testach manualnych

Testerzy z krótkim stażem, dla których testy manualne to codzienność, w której rozwijają swoje skrzydła mogą nie mieć zaufania do testów automatycznych, co w ogólnym rozrachunku jest złym podejściem, ponieważ są one sojusznikiem testerów, a nie ich przeciwnikiem - po co marnować czas na powtarzalne kwestie, skoro może zrobić to za nas automat?

Niepoprawne opisy zgłaszanych błędów

Początkujący testerzy mogą mieć tendencję do niedostarczania odpowiedniej ilości szczegółów podczas raportowania błędów lub zaciemniania ich poprzez nadmierną szczegółowość. Obie opcje prowadzą do tego, że utrudnia to developerom zrozumienie czy reprodukcję błędu, w efekcie czego również naprawę.

Typowe błędy doświadczonych testerów

Nadmierna pewność siebie w ocenie pokrycia testami

Testerzy z długim stażem mogą być przekonani, że nic ich już nie zaskoczy i że widzieli już wszystko, przez co ich przypadki testowe są doskonałe, podczas gdy wraz z rozwojem aplikacji, np. wykorzystanie nowych bibliotek czy technologii mogą pojawić się nowe lub nietypowe błędy.

Unikanie nowych podejść testowania

Doświadczeni testerzy mogą trzymać się utartych ścieżek w kontekście narzędzi czy metodologii, co może wpływać na ich wydajność czy skuteczność.

Zaniedbywanie roli mentora

Rolą każdego doświadczonego członka zespołu jest również wspieranie tych z mniejszym stażem - a więc najczęściej stażystów czy juniorów. Dotyczy to również testerów, ponieważ pomoc w rozwoju nowym osobom w przyszłości zaowocuje - zespół zyska wartościowego testera, zamiast prowadzić go wiecznie za rękę po aplikacji.

Zbyt duża wiara pokładana w testy automatyczne

Wraz z dużym pokryciem testami automatycznymi, niektórzy testerzy mogą uważać, że testy manualne są tylko dodatkiem i to niewiele znaczącym. Niestety, takie myślenie jest błędne, ponieważ automaty są pomocne, ale wykonują w kółko te same instrukcje, podczas gdy testy manualne pozwalają wyjść poza schemat i dostrzec błędy tam, gdzie niekoniecznie ich się spodziewamy.

Ignorowanie tzw. umiejętności miękkich

Komunikacja międzyludzka oraz praca zespołowa są kluczowymi aspektami w projekcie, choć niektórzy doświadczeni testerzy mogą uznać, że znają aplikację najlepiej, przez co wymądrzać się na jej temat. A to nie tędy droga…

Brak testów całości systemu

Skupianie się na poszczególnych komponentach aplikacji bez spojrzenia na nią w szerszej perspektywie może powodować opłakane skutki - problemy z integracją między modułami czy błędy regresji w innej, z pozoru niezwiązanej części aplikacji.

Nieuważność lub nieobecność na sesjach refinementu

Brak zaangażowania doświadczonych testerów podczas omawiania kolejnych feature'ów może prowadzić do kłopotów podczas implementacji nowych rozwiązań. Aktywne uczestnictwo testerów podczas refinementu może pomóc w identyfikacji potencjalnych błędów już we wczesnej fazie, co pozwala na efektywne wytworzenie oprogramowania.

Podsumowanie

To byłoby na tyle, jeśli chodzi o błędy jakie przydarzają się testerom przy pracy, zarówno tym z krótkim jak i długim stażem pracy, przy czym pamiętajmy, że błędy juniora mogą być popełniane przez doświadczonych testerów i odwrotnie. Oczywiście, to nie jest pełna lista możliwości, w tym wpisie wyciągnęliśmy na światło dzienne te najistotniejsze lub najciekawsze w naszej ocenie. Wierzymy, że taka znajomość potencjalnych problemów pozwali ich uniknąć w przyszłości, jednak należy mieć świadomość, że testerzy też są ludźmi, więc popełnianie błędów leży w naszej naturze.

Porady jak uniknąć lub rozwiązać większość opisanych tu problemów znajdą się w kursach dostarczonych na testslayer.pl

Podoba Ci się? Podziel się ze znajomymi!