Kim jest tester oprogramowania? Co to jest testowanie? Gdzie szukać pracy? Czym jest SJSI i jakie egzaminy można zdawać? Odpowiedzi na te wszystkie pytania będą się pojawiały w postach od dziś aż do końca lutego. Dzisiejszym wpisem rozpoczynamy serię wpisów dot. testowania oprogramowania. Stworzyłam zakładkę ‘Testowanie oprogramowania‘, aby łatwo można było wrócić do tych postów – dodaj do ulubionych, aby być na bieżąco! 🙂
Jeśli myślisz o starcie w IT lub przebranżowieniu, to zastanów się, czy praca jako tester oprogramowania, nie byłaby dla Ciebie. A więcej na ten temat przeczytasz u mnie na blogu lub w mediach społecznościowych.
Testowanie oprogramowania
testowanie: Proces składający się z wszystkich czynności cyklu życia, zarówno statycznych jak i dynamicznych; skoncentrowany na planowaniu, przygotowaniu i ewaluacji oprogramowania oraz powiązanych produktów w celu określenia czy spełniają one wyspecyfikowane wymagania, na wykazaniu, że są one dopasowane do swoich celów oraz na wykrywaniu usterek.
SŁOWNIK TERMINÓW TESTOWYCH ISTQB® Wersja 3.4 (2020) Data wydania: 15.06.2020 r. International Software Testing Qualifications Board® © Stowarzyszenie Jakości Systemów Informatycznych
Pozostałe materiały SJSI (dot. TTMi oraz IREB, o których napiszę więcej w lutym) wykorzystują tę samą definicję testowania oprogramowania.
Z powyższą definicją spotkają się wszyscy testerzy, którzy zdecydują się na zdanie egzaminu ISTQB FL. Adam Roman w książce “Testowanie i jakość oprogramowania. Modele, techniki, narzędzia” (wydanej przez Wydawnictwo Naukowe PWN, Warszawa 2015) przedstawia także inne definicje tego, czym jest testowanie – dwie najciekawsze, związane z międzynarodowymi normami IEEE, możesz przeczytać poniżej.
(…) testowanie to proces (lub przeprowadzanie procesu) obsługi systemu lub komponentu, w określonych warunkach, obserwowania lub nagrywania rezultatów działania i ewaluacji jego cech.
Norma IEEE 610, cytat z książki Adama Romana “Testowanie i jakość oprogramowania. Modele, techniki narzędzia”. Wydawnictwo Naukowe PWN, Warszawa 2015, s. 5
(…) testowanie jako proces analizy elementu oprogramowania w celu wykrycia różnic (usterek) między istniejącymi a wymaganymi warunkami oraz oceny cech tego elementu.
Norma IEEE 829, cytat z książki Adama Romana “Testowanie i jakość oprogramowania. Modele, techniki narzędzia”. Wydawnictwo Naukowe PWN, Warszawa 2015, s. 5
Nie będę stać na stanowisku, że należy znać te definicje na pamięć (chyba, że planujesz zdawać egzaminy ISTQB, wtedy jest to określone w wymaganiach, że trzeba 😉 ). Ale warto o nich wiedzieć. Dlaczego? Ponieważ w końcu dojdzie do momentu, że ktoś zapyta, czym się zajmujesz. I oczywiście, można powiedzieć (jak ja na początku kariery testerskiej), że “moja praca to szukanie błędów”. Jednak to nie jest do końca prawda. Bo testowanie (czy też zapewnianie jakości oprogramowania – choć nie można tych terminów używać wymiennie) to jest coś więcej.
Oczywiście – jednym z jego elementów jest wykrywanie usterek, braków, prowadzenie testów funkcjonalności, niemniej jednak najważniejsze jest to, że system, komponent, etc. jest zgodny z wymaganiami interesariusza. Najczęściej przywoływany przykład: wszystkie błędy w systemie zostały znalezione i poprawione (nie jest to możliwe w bardziej skomplikowanych systemach zgodnie z jedną z siedmiu zasad testowania, ale jest to hipotetyczna sytuacja). Tylko jakie ma to znaczenie, jeśli program robi zupełnie coś innego, niż życzył sobie klient?
Tester oprogramowania
tester: Wykwalifikowany profesjonalista, zaangażowany w testowanie modułu lub systemu.
SŁOWNIK TERMINÓW TESTOWYCH ISTQB® Wersja 3.4 (2020) Data wydania: 15.06.2020 r. International Software Testing Qualifications Board® © Stowarzyszenie Jakości Systemów Informatycznych
tester (ang. tester) – wykwalifikowany profesjonalista, zaangażowany w testowanie modułu, systemu lub innego artefaktu procesu tworzenia oprogramowania.
cytat z książki Adama Romana “Testowanie i jakość oprogramowania. Modele, techniki narzędzia”. Wydawnictwo Naukowe PWN, Warszawa 2015, s. 24
Definicje testera są bardzo podobne, jednak w książce Adama Romana pojawia się dodatkowy (warty zwrócenia uwagi) fragment. “(…) innego artefaktu procesu tworzenia oprogramowania” – ponieważ często jest tak, że praca testera nie ogranicza się tylko do klikania. Błędy można znaleźć już na etapie czytania dokumentacji projektowej, gdy system jeszcze nie istnieje. Poprawienie małej rzeczy w dokumentacji przed rozpoczęciem procesu developmentu jest dużo łatwiejsze niż wtedy, gdy system już istnieje.
Przekładając to na prostszy język, bardziej zrozumiały dla osoby startującej, czy poszukującej wiedzy.
Tester oprogramowania – poddaje pod wątpliwość każdy, nawet najmniejszy, element strony, oprogramowania, aplikacji czy gry. Zadaniem takiej osoby jest wyłapanie ewentualnych błędów (za pomocą odpowiednich scenariuszy testów), które sprawiają, że projekt, nad którym pracuje zespół IT, nie działa tak, jak powinien. Mogą to być brakujące funkcjonalności czy niedziałające podstrony. Dodatkowo tester manualny ulepsza programy, ale nie pisze kodu. Rozróżniamy jeszcze testera automatyzującego, który prowadzi bardziej zaawansowane zadania. O tym jednak innym razem. 😉
Podsumowanie – co to jest testowanie, kim jest tester?
Teraz już wiesz, że mogą być różne definicje zarówno tego, co to jest testowanie, jak i kim jest tester. Jeśli jesteś początkującym testerem oprogramowania, napisz mi w komentarzu, jak rozumiesz pojęcie “testowania” i “testera”.
Jeśli natomiast jesteś już osobą z doświadczeniem testerskim – napisz w komentarzu, jak tłumaczysz swoim najbliższym (czy też nowo poznanym osobom), czym zajmujesz się zawodowo 🙂
Pingback: Gdzie szukać pracy jako tester? - Jolanta Klima
Dzięki za ten artykuł, dużo osób jest teraz zainteresowanych tematem testowania, to bardzo przydatna lektura!