Testowanie oprogramowania to proces i zbiór czynności, związany z użytkowaniem danej aplikacji mobilnej, strony WWW lub programu, który ma na celu zebranie informacji o produkcie i wszelkich możliwych ścieżkach użytkownika oraz zdiagnozowanie i wskazanie programistom błędów oprogramowania.
Tester oprogramowania jest swego rodzaju ambasadorem ostatecznego użytkownika aplikacji i zleceniodawcy, ponieważ chroni ich przed negatywnymi skutkami niedopatrzeń programistów. To on jako jedna z pierwszych osób sprawdza, jak działa dane oprogramowanie. To on odpowiada za testowanie manualne, czyli ręczne sprawdzenie i przeklikanie każdej ścieżki i każdego scenariusza użytkownika.
Ostateczny użytkownik apki, podobnie jak Klient software house’u mają wysokie oczekiwania. Oprogramowanie powinno być stabilne, bezpieczne i bezawaryjne. Tester, pracując nad projektem, musi być gwarantem spełnienia tych wyma
Testowanie oprogramowania to poszukiwanie odpowiedzi na pytania, czy:
Co można testować?
Na początek coś zaskakującego. Każdy program, aplikację mobilną lub stronę WWW koduje… człowiek. Front-end lub back-end developer, który naturalnie ma prawo się pomylić. Jak mówi znany cytat: “Człowiek, który nie robi błędów, zwykle nie robi nic”. Być może programista nawet sam sprawdzał swoją wykonaną pracę (np. metodą gumowej kaczuszki), ale mimo wszystko to może być zawodne – w końcu najtrudniej sprawdzić samego siebie i spojrzeć na swój produkt obiektywnie, “z zewnątrz”.
Takie wtopy, jak wymieniony we wstępie “wypadek przy pracy” w mBank lub wcześniejszej przygody w Alior Bank, to wynik nieodpowiedniego testowania oprogramowania lub nawet zaniechania i nieprzeprowadzenia na czas niezbędnych testów IT. W 1996 roku błąd oprogramowania kosztował First National Bank of Chicago aż 920 milionów dolarów. O wiele bardziej skrajnymi i tragicznymi w skutkach przykładami będą choćby wybuch elektrowni jądrowej w Czarnobylu, co mogliśmy przypomnieć sobie dzięki świetne zrealizowanemu serialowi “Chernobyl”, a także katastrofa lotu China Airlines 140 z 1994 roku. Tam też, oprócz człowieka, zawiodło oprogramowanie. Testy walidacyjne wykluczą takie przypadki. Minimalizacja ryzyka to klucz do sukcesu testowania oprogramowania.
Jeśli bierzesz udział w przetargach lub projektach unijnych, lub Twój Klient bardzo wyraźnie precyzuje to w umowie, będziesz zobowiązany do przeprowadzenia odpowiedniej ilości testów oprogramowania.
Testerzy oprogramowania weryfikują doświadczenia, związane z aplikacją i interfejs użytkowników. To Oni powinni mieć najświeższą w branży wiedzę z zakresu UX i UI.
Dobrą relację z Klientem, także tym, który szuka dobrego software house’u, buduje się na zaufaniu. Jeśli Twój Klient będzie czuł, że Twoje produkty IT są rzetelnie i gruntownie przetestowane przez profesjonalny zespół testerów, chętniej zamówi u Ciebie kolejną stronę lub apkę, albo chociaż usługę help desk. Wysoka jakość oprogramowania = większa wiarygodność.
Jeśli coś nie będzie działać, Klient wróci do Ciebie z reklamacją, a to oznacza dodatkowe godziny web developerów, za które niekoniecznie będzie chciał dopłacać. Więc finalnie dopłaci Twoja firma, lub, jeśli jesteś programistą – freelancerem, dopłacisz mu swoim czasem, który mógłbyś poświęcić na kolejne projekty IT i pozyskiwanie nowych zleceń.
SLA, czyli Service Level Agreement, to standardowa w branży IT umowa między Klientem a dostawcą, precyzująca gwarantowany czas reakcji i dostępności zasobów. Czyli w skrócie i bardziej po polsku: umowa, mówiąca o tym, jakie jest prawdopodobieństwo, że aplikacja lub serwis internetowy działa przez 24 godziny 7 dni w tygodniu (zwykle wszyscy dążą do 99,9% skuteczności) oraz czy dany produkt jest obserwowany, rozwijany i analizowany przez developerów po zakończeniu produkcji. Im więcej testów oprogramowania przed oddaniem produktu, tym wyższa jakość i skuteczność oprogramowania oraz większa szansa na wysoki wynik SLA w przyszłości. Każda awaria to dodatkowe koszty – dla Ciebie lub dla Klienta.
Manualnych testerów oprogramowania z roku na rok w wielu firmach, nie tylko z branży IT, potrzeba coraz więcej. Jeśli chcesz zostać jednym z nim, ukończ kurs dla testerów oprogramowania w Software Development Academy ze szkoleniem z Cybersecurity i warsztatami Scrum. Zajęcia odbywają się stacjonarnie w kilkunastu polskich miastach lub zdalnie online. W kilka miesięcy możesz poszerzyć kwalifikacje zawodowe i zmieniać oblicze polskiej branży IT. Pomagać wprowadzać naprawdę dobre produkty i projekty w życie. Pracować nad aplikacjami i ich aktualizacjami, które zobaczysz jako pierwszy przed premierą. Brzmi interesująco?