Testowanie manulane w tworzeniu jakościowego produktu
Czym jest właściwie testowanie manualne? Kim jest tester?
Przymiotnik ‘manualny’ oznacza ‘wykonywany ręcznie’, czyli mowa o ‘testowaniu wykonywanym ręcznie’. Często taki tester oprogramowania postrzegany jest jako ‘po prostu klikacz’. Owszem, jest część procesu tworzenia produktu, gdzie taka osoba wykonuje klikanie po interfejsie aplikacji webowej czy mobilnej, ale nie jest to całościowy obraz.
Drugim często spotykanym określeniem na testowanie manualne jest ‘psucie’. I według mnie jest już to trochę bliższe istoty rzeczy, gdyż rolą testera jest określenie poziomu ryzyka z jakim wiąże się wdrożenie oprogramowania.
Kiedy zacząć testowanie oprogramowania?
Dobrą praktyką jest testowanie na każdym etapie tworzenia aplikacji. Warto to rozpocząć zanim pojawi się jakikolwiek kod aplikacji. Gdy dostaniemy pierwsze wymagania, już mogą zostać dostrzeżone niedoprecyzowania czy nieścisłości w logice. Może coś wzajemnie się wykluczać. Część może nie będzie mieć większego znaczenia. Część może na przykład ‘jedynie’ ułatwić pracę deweloperom. Jednak czasami, nawet pozornie niewinny brak informacji, może mieć poważne konsekwencje i przynieść na przykład finansowe straty lub problemy prawne.
Wykrycie błędu na późniejszym etapie wiąże się również z większymi kosztami naprawy. Są aplikacje, w których na przykład kwestia tego, czy wynik obliczeń powinien być zaokrąglony w górę czy w dół, jest bardzo istotna.
Z czym mierzy się tester?
W internecie można znaleźć sporo grafik, które często pokazują dość brutalne i trudne relacje między developerami a testerami. Choć mamy wspólny cel, jakim jest stworzenie jakościowego produktu, to pole do powstania napięć jest tutaj spore.
Czasami można inaczej rozumieć wymagania dotyczące aplikacji. Pomocne jest zapoznanie się z nimi przez testerów i developerów w tym samym czasie. Najlepiej w ramach wspólnego spotkania. Można patrzeć na tę samą cyfrę, lecz z innego miejsca. Jeden będzie widział 9, a drugi zobaczy 6 😉
Ważną rolę gra tu również otwartość na współpracę tzw. biznesu, gdy będą do nich kierowane pytania. Czasami coś z ich perspektywy może wydawać się oczywiste. Albo może być pochopnie postrzegane jako coś niewymagające większego doprecyzowania. Dlatego dobra komunikacja jest czymś naprawdę ułatwiającym pracę i zwiększa szansę na sukces.
Dodatkowo podczas testów bierze się pod uwagę różne środowiska korzystania z aplikacji. Czasami developer sprawdzi swoją pracę lokalnie i wypowiada słynne zdanie ‘u mnie działa’. To samo u testera na urządzeniu z inną wersją oprogramowania, na innej przeglądarce itp., może się okazać czymś zupełnie niedziałajacym.
I tu z pomocą przychodzą dobre umiejętności pracy w zespole. Można w różny sposób przekazywać, że coś nie działa i różnie przyjmować informacje o tym, że pewne rzeczy wymagają dalszej pracy nad nimi.
Można w różny sposób zadawać pytania i różnie na nie odpowiadać. A dopytywanie się o szczegóły projektu często okazuje się cenną umiejętnością.
Dla mnie jako testerki najwięcej stresu wiąże się z tym, czy dana część produktu trafi do mnie wystarczająco wcześnie, abym faktycznie mogła ją odpowiednio przetestować. Praca nad produktem to praca więcej niż jednej osoby. Choć to branża, gdzie niezbędnym elementem tworzenia jest urządzenie- komputer, to jednak zrozumienie, szacunek i empatia również są ważnymi, jeśli nie niezbędnymi, składnikami.
Czy testować każdą aplikację?
Moim zdaniem, tak. Aplikacje mają różną złożoność. Ale nawet proste aplikacje, mogą mieć swoje newralgiczne punkty. Nawet z pozoru niewielkie zmiany w kodzie, mogą spowodować spore zamieszanie w działaniu aplikacji. I to niekoniecznie w miejscach, które jako pierwsze przychodzą do głowy jako te ‘narażone na usterki’. Przeczytałam kiedyś taką anegdotę: „oprogramowanie to taki twór, gdzie pomalowanie drzwi w garażu może nam zawalić sufit w salonie”. Oj tak.
Produkt dobrej jakości to produkt, który spełnia swoje funkcje również wtedy, gdy przychodzi mu zmierzyć się z warunkami mniej standardowymi. Gdy na przykład użytkownik aplikacji chce wykonać akcję mniej oczywistą, ale wciąż będącą w zakresie wymagań, które ma spełniać produkt.
Dlatego tester to też współtwórca. On “dekoduje” różnych użytkowników. Zadaje sobie pytania o tym, jak ludzie myślą, zachowują się, jak czują. Jaki scenariusz jeszcze może się zdarzyć i czy nasza aplikacja go obsługuje?
Czy logika systemu jest dopasowana do tej logiki ludzkiej?Czy realizujemy wszystkie funkcjonalności i wymagania biznesowe?
Czy aplikacja jest dobrze zaprojektowana? A może da się usprawnić jej użyteczność?
I ta część niejako próby wejścia w umysły użytkowników, aby przetestować różne scenariusze, jest dla mnie w tym procesie ogromnie ciekawa.
Testowanie oprogramowania pozwala wskazać błędy na wczesnym etapie. Dzięki temu obniżają się koszty utrzymania aplikacji i prac naprawczych. Testowanie może również usprawnić produkt pod kątem User Experience. Rola testerów oprogramowania ma więc ogromne znaczenie dla komfortu użytkownika końcowego. Wszystko to pomaga w stworzeniu produktu wysokiej jakości, co wiąże się z zaufaniem klienta. A to zaufanie jest czymś nie do przecenienia.
Potrzebujesz naszego wsparcia? Skontaktuj się z nami.
Wiemy jak pomalować każde drzwi bez usterek w suficie 🙂