Kategorie
Uncategorized

“Epic automation burger” czyli o poziomach w automatyzacji testów oprogramowania

Cześć!

Przy lekturze kilku zagranicznych blogów o tematyce automatyzacji oprogramowania, zauważyłem że dość często jest poruszana koncepcja “piramidy automatyzacji testów”, która opisuje trzy poziomy automatyzacji testów, ich relacje oraz względne znaczenie. Zdecydowanie podoba mi się to podejście, dlatego chciałbym się nim z Tobą podzielić!

Żeby być oryginalnym zrezygnuję z schematu piramidy na rzecz smakowitego burgera 🙂 zobacz poniżej:

Warstwa podstawowa: testy jednostkowe

Testy jednostkowe stanowią podstawę każdego solidnego podejścia do testowania automatycznego. Można je napisać stosunkowo szybko z porównaniem do raportu o błędzie (otrzymanym np. od testera), który zwykle brzmi „funkcja X i Y nie działa, kiedy wpisuję A lub B, napraw to proszę itd. itp.” Często taka forma wymaga większej analizy (odtworzenie, debugowanie), zatem wymaga więcej czasu od programisty na naprawienie problemu. Zaletą testów jednostkowych jest to, że nie tylko można je szybko napisać, ale także wykonanie testów jest bardzo szybkie, co w rezultacie daje deweloperowi natychmiastową informację zwrotną.

Wady testów jednostkowych polegają na tym, że koncentrują się głównie na małych fragmentach kodu (metodach, klasach) i dlatego nie są w stanie wykryć błędów na poziomie integracji lub systemu.

Warstwa środkowa: testy integracyjne/API

Większość współczesnych aplikacji oferuje pewnego rodzaju API (poprzez rzeczywisty interfejs programistyczny lub przez usługę sieciową udostępniającą funkcjonalność na zewnątrz), może ono być użyte przez testera do testowania aplikacji. Testy te są często znacznie “stabilniejsze”, ponieważ interfejsy API zmieniają się znacznie rzadziej niż testy interfejsu użytkownika i są wykonywane znacznie szybciej z mniejszą liczbą fałszywie negatywnych wyników.

Górna warstwa: testy na poziomie interfejsu użytkownika

Najlepiej jest minimalizować testy w tej warstwie, ponieważ często są one najbardziej “kruche” i zajmują najwięcej czasu zarówno podczas tworzenia przypadków testowych, jak i wykonywania testów. Uważam, że ta forma automatyzacji testów powinna być używana tylko wtedy, gdy faktycznie testowany jest interfejs użytkownika, a nie podstawowa funkcjonalność systemu, lub wtedy gdy nie ma innej alternatywy.

Podsumowanie:

Spróbuj zrozumieć mechanizm stosowania poszczególnych testów i ich praktyczne wykorzystanie, przyglądaj się innym deweloperom -> co testują i jakie pokrycie jest osiągane w pisanych testach jednostkowych. Co do testów, które nie są objęte testami jednostkowymi, spróbuj dowiedzieć się -> czy testowana aplikacja oferuje interfejs API, na którym można wdrożyć testy automatyczne. Początkowo testowanie „pod maską” bez interfejsu użytkownika do przeprowadzania testów może wydawać się trudne, ale korzyści dla projektu są warte włożonego trudu.

Pomimo, że kształt burgera automatyzacji testów powinien być mniej więcej zachowany, to pamiętaj składniki i proporcje burgera muszą być dobrane odpowiednio dla gustów zamawiających klientów -> dokładnie tak jak w przypadku proporcji stosowania odpowiednich testów w zależności od projektu informatycznego (indywidualne podejście).

Przestrzeganie powyższych sugestii znacznie pomoże Ci w uzyskaniu idealnego burgera automatyzacji testów. 🙂

Kategorie
Uncategorized

Najważniejsze zasady testowania oprogramowania – każdy powinien to wiedzieć! :)

Główne zasady testowania są również podstawą programu nauczania ISTQB. W poniższym wpisie przedstawię Ci tę wiedzę w krótkiej, zwięzłej formie – zaczynajmy!

0 Testowanie ujawnia usterki, ale nie może dowieść ich braku

Jasna sprawa. Każda szczegółowa weryfikacja błędów nie dowodzi, że nie można znaleźć ich więcej w aplikacji – zawsze jest to tylko kwestia czasu i budżetu poświęconego na testy.

W tym miejscu poruszę jeszcze jedną kwestię – warto poprosić innego testera o przetestowanie tego, co sami testowaliśmy. Dodatkowa para oczu na pewno jeszcze dokładniej wychwyci pozornie niewidoczne dla nas błędy.

1 Dokładne testowanie (gruntowne) nie jest możliwe

Zasada wskazuje, że żadna aplikacja nie może być w pełni przetestowana (wszystkie funkcje złożonej aplikacji lub systemu), wyjątkiem od reguły są bardzo proste aplikacje.

2 Wczesne testowanie oszczędza czas i pieniądze

Gdy we wczesnym etapie pracy znajdziemy błędy, znacznie łatwiej i taniej jest je usunąć.

3 Nagromadzenie (kumulacja) defektów

Zasada kumulacji błędów polega na tym, że w niektórych modułach aplikacji może występować więcej błędów – tą wiedzę zdobywamy wraz z doświadczeniem podczas przeprowadzenia testów w aplikacji.

4 Paradoks pestycydów

Ta zasada odnosi się do sytuacji, w której zawsze testujemy te same scenariusze w aplikacji. Prowadzi to do sytuacji, w której przestajemy znajdować błędy.

5 Błędem jest założenie, że nie ma żadnych błędów w aplikacji

Krótko i zwięźle – musisz założyć, że aplikacja zawsze zawiera jakieś błędy lub problemy. Czasami w trudniejszych i złożonych projektach IT akceptowalna jest pewna liczba drobnych usterek.

Podsumowanie:
Powyższa treść to tylko schemat, zasady są ponadczasowe i warto o nich pamiętać podczas testów zarówno prostej aplikacji, jak i skomplikowanego systemu informatycznego. 

Kategorie
Uncategorized

Najlepsze praktyki przy testowaniu funkcjonalnym

Cześć!

Opowiem Ci dzisiaj trochę o dobrych praktykach przy przeprowadzaniu testów funkcjonalnych. Testy funkcjonalne są wykonywane w celu przetestowania podstawowej funkcjonalności danej aplikacji lub oprogramowania bez ingerencji w jego budowę (jest to też często określane terminem czarnej skrzynki). Każda funkcjonalność jest testowana poprzez dostarczenie danych wejściowych, a następnie obserwację i porównanie otrzymanych wyników z oczekiwanymi. Poniżej przedstawię Ci kilka skutecznych procedur, które mogą Ci się przydać podczas przeprowadzania testów funkcjonalnych.

0 Przygotuj wcześniej plan testów i przypadki testowe

Planowanie tego, co należy zrobić, aby poprawnie przeprowadzić testowanie obejmuje:
– cel i zakres testów,
– ludzi potrzebnych do przeprowadzenia testów,
– potrzebny sprzęt,
– narzędzia oraz harmonogram testów,
– sporządzenie przypadków testowych.

1 Zbierz informacje wymagane do wykonania testów

Zbierz wszelkie potrzebne informacje i najpierw przetestuj krytyczne funkcjonalności pod względem ryzyka (ustal priorytety).

2 Wykonanie testów

Plany testów i rzeczywista funkcjonalność powinny być zgodne, aby test został wykonany poprawnie.

3 Zarządzaj defektami

Korzystaj z oprogramowania i standardowych szablonów do zgłaszania i weryfikacji defektów.

4 Przedstawiaj wyniki

Raport z wyników testu powinien być przedstawiony w jasny i prosty sposób, aby umożliwić łatwe zrozumienie przez zespół programistów.

5 Analizuj

Podczas analizy można wykryć problemy i nieścisłości zarówno podczas testowania, jak i programowania. Analiza przyczynia się do ulepszania procedur stosowanych w rozwoju produktu.

6 Rozważ testy automatyczne

Testowanie automatyczne ma na celu poprawę jakości produktu lub oprogramowania, a także oszczędność czasu -> o ile podejdziesz do tego jak do inwestycji. Testowanie automatyczne jest droższe w krótkim okresie czasu, natomiast w dłuższej perspektywie dobrze zaprojektowane testy automatyczne mogą być bardzo korzystne dla jakości finalnego projektu
i docelowo produktu.

Kategorie
Uncategorized

10 Codzienne rzeczy do zautomatyzowania (w celu oszczędzenia czasu i pieniędzy)

0 Automatyzuj swój czas!
Tak! Możesz zautomatyzować swój czas. Najlepszym sposobem jest rozpoczęcie pisania planu każdego wieczoru na następny dzień. Może on być zautomatyzowany również w formie papierowej lub w twoich cyfrowych notatkach.

1 Automatyzuj swoje finanse!
Każdy człowiek na świecie dokonuje płatności w jakieś formie, ale ten proces również można spróbować zautomatyzować. Ta procedura może być różna w zależności od Twojego banku… ale zazwyczaj prosta automatyzacja jest możliwa na każdym koncie bankowym, tylko od Ciebie zależy w jaki sposób to wykorzystasz.

2 Zautomatyzuj maile!
Aby pozostać produktywnym, powinieneś unikać e-maili w ciągu pracy. Możesz użyć innego narzędzia do komunikacji, aby mądrze wykorzystywać czas w swojej codziennej robocie, na przykład Slack jest bardzo dobrym narzędziem do zwiększenia wydajności i koncentracji przy konieczności komunikacji z zespołem.

3 Zautomatyzuj swoją przeglądarkę!
Zautomatyzuj skróty w Twojej przeglądarce dla najważniejszych i najczęściej używanych stron internetowych. Użyj wtyczek do swojego Google Chrome w przeglądarce, tak aby zautomatyzować procesy i mieć „pod ręką” najważniejsze narzędzia. Zachęcam Cię do przeprowadzenia research’u i znalezienia najlepszych -> na Twoje potrzeby, rozszerzeń dla przeglądarki.

4 Automatyzuj tworzenie prezentacji!
Zrób research i znajdź narzędzie do zautomatyzowania Twojej kolejnej prezentacji. Polecam sprawdzić to narzędzie jak przykład i dobry punkt wejścia w temat: mindmeister.

5 Przestań publikować manualnie w mediach społecznościowych!
Możliwość publikowania treści w mediach społecznościowych również doczekała się narzędzi do automatyzacji tego procesu. Osobiście polecam Ci sprawdzić to narzędzie: https://coschedule.com/

6 Przestań marnować swój czas na czytanie wiadomości!
Osobiście słucham wiadomości w formie podcastów lub radia – w przypadku jazdy samochodem, jest to dla mnie o wiele bardziej efektywne. Znajdź najlepszy sposób, który działa w Twoim przypadku, by zabierać ważne informacje dla Ciebie.

7 Zautomatyzuj wypełnianie formularzy online!
Czasami subskrypcja lub zapisanie się do serwisu czy strony internetowej może być dość czasochłonne. Można rozważyć automatyzację tego procesu za pomocą narzędzia: https://www.roboform.com/

8 Zautomatyzuj swoje kontakty!
W tym celu sprawdź to narzędzie: site.addappt.com

9 Zautomatyzuj skanowanie dokumentów w swoim biurze!
Najlepszym narzędziem, które przyspieszy skanowanie dokumentów według mnie jest scanbot.io.

Kategorie
Uncategorized

„Automatyzować lub nie automatyzować” – rady w pigułce

Cześć!

Dzisiaj odpowiem Ci na pytanie: kiedy warto automatyzować testy oprogramowania? W sposób krótki i zwięzły, tak aby pokazać Ci zalety i wady tej procedury.

0 Pierwsza zasada, którą uważam za najważniejszą, to określenie celu i planu automatyzacji. 

Musisz więc rozważyć, co dokładnie chcesz zautomatyzować, dlaczego i jakie korzyści chcesz osiągnąć z tego procesu, np. w ciągu dłuższego okresu czasu (co najmniej roku).

1 Jeżeli podejmujesz się automatyzacji w projekcie powinieneś wiedzieć, że najlepiej jest zautomatyzować testy regresji, ponieważ są one powtarzalne.

2 Pamiętaj też, że pisanie zautomatyzowanych skryptów trwa X do XX razy dłużej niż pisanie testów manualnych.

3 Utrzymanie zautomatyzowanych skryptów jest znacznie droższe niż utrzymywanie testów manualnych.
Automatyzacja, przynajmniej w krótkim okresie wdrożenia, generuje więcej kosztów niż zysków (więc myślimy zawsze długoterminowo).

4 Automatyczne testy nie są nastawione na wyszukiwanie błędów. „Automaty” służą głównie do potwierdzania, że jakość tworzonego oprogramowania nie uległa pogorszeniu.

5 Nie można zautomatyzować oprogramowania bez umiejętności kodowania, więc trzeba znać przynajmniej jeden język programowania. W przypadku prostej automatyzacji, a w bardziej zaawansowanych przypadkach trzeba będzie również użyć Stackoverflow 😉

Podsumowanie:

Automatyzacja projektów informatycznych jest wskazana w przypadku złożonych, powtarzanych działań w dużych i długoterminowych projektach informatycznych. Przed rozpoczęciem automatyzacji należy zawsze stosować „technikę Jeffa Bezosa”, starać się myśleć z perspektywy kilku lat do przodu i zadawać sobie pytania, czy w tych obszarach powstaną dodatkowe funkcjonalności. Warto również starać się przewidzieć: ile można zyskać (pieniędzy, zasobów, czasu lub zaufania klientów) w przypadku automatyzacji projektu.

Dodatkowo poniżej zestawiam 3 błędne podejścia do automatyzacji:

  1. Wszystko powinno być zautomatyzowane
  2. Automatyzacja testów wykrywa więcej błędów
  3. Automatyzacja testów to jednorazowy koszt i szybki zwrot z inwestycji
Kategorie
Uncategorized

„Ciężki rozruch” po przerwie od projektów ;)

Cześć!

Dzielę się kawałkiem, który w niedzielne późne popołudnie powoduje u mnie zdecydowanie podniesienie motywacji do developmentu… Sprawdź to koniecznie! 🙂

Kategorie
Uncategorized

Skuteczna nauka Selenium – 5 najlepszych źródeł do darmowej nauki!

Cześć!

Dzisaj przedstawię Ci 5 źródeł zasobów, które pomogą Ci opanować Selenium w możliwie najszybszy i najbardziej skuteczny sposób!

Selenium jak już w pewnym wcześniejszym poście pisałem jest narzędziem typu must have dla wszystkich którzy chcą nauczyć się automatyzacji oprogramowania! Nie chodzi tutaj o samą popularność tego narzędzia, a jedynie o sposób oraz zasadę jego działania. Tak, dokładnie to proces w jaki ono działa pomoże Ci się rozwijać i myśleć jak.. automatyk oprogramowania!

Pamiętaj, że dopierane przez mnie materiały są celowo po angielsku. Cały świat IT stoi na tym języku, dlatego angielski powinien być przez nas szlifowany w każdej wolnej chwili.

Najważniejsze na początku jest pozyskanie dobrych materiałów do nauki – pewnych, które dadzą Ci szybką „trampolinę” do merytorycznej wiedzy wysokiej jakości.

Nasz czas, zasoby oraz energia w ciągu dnia jest ograniczona -> dlatego powinieneś wybrać tylko solide materiały z których wyciągniesz możliwie najwięcej wartościowej wiedzy! 🙂

Poniżej zestawiłem 5 topowych zródeł do nauki z „googlowego gąszczu” materiałów, oto one:

0. https://www.selenium.dev/documentation/en/getting_started/

Mój absolutny faworyt i numer jeden, są to oficjalne zasoby od Selenium do nauki. Jest wszystko czego potrzebujesz, do tego fajnie opisane z przykładami ze wszystkimi językami programowania obsługiwanymi przez Selenium aktualnie.

1. https://www.linkedin.com/learning/selenium-essential-training

Selenium tutorial prosto od Linkedin! świetny kurs polecam każdemu odrazu chciałbym trafić na tak wartościowy kontent kiedy uczyłem się tego narzędzia. Te zasoby są za darmo! o ile zastosujesz pewny prosty trick. 😛 Wystarczy ze zarejstrujesz się na portalu Linkedin i przez miesiąc „wykupisz” za darmo konto premium (pierwszy miesiąc subskrypcji jest darmowy).. Oczywiście zrezygnować z subskrypcji możesz w każdej chwili 😉

2. Selenium Full Course – Learn Selenium in 12 Hours | Selenium Tutorial For Beginners | Edureka

Świetny materiał od Edureka, który porusza na poziomie podstawowym wszystkie najistniejsze zagadnienia odnośnie Selenium. Językiem użyty w powyższym video jest Java (mój favoryt wśród języków programowania, jeżeli chodzi o korzystanie z Selenium, dodatkowo na Stackoverflow znajdziesz mnóstwo rozwiązanych problemów – co jest dodatkowym atutem) …ale bez obaw jeżeli nie znasz podstaw Javy. Uważam, że powinieneś poznać Selenium z dowolnym językiem programowania tak aby jak najszybciej załapać jak działa to narzędzie!

3. https://www.guru99.com/selenium-tutorial.html

Doskonałej jakości materiały znajdziesz również na stronie Guru99 – spędziłem na niej wiele czasu ucząc się własnie z tych zasobów, choć niektóre tutoriale obecnie wymagały by drobnych update’ów to jest to świetne źródło merytorcznej wiedzy dla osób, które wolą czytać niż uczyć się bezpośrednio z materiałów video.

4. Selenium Beginner TutorialAutomation Step by Step (Raghav Pal)

Z tych zasobów również korzystałem podczas nauki. Raghav Pal zrobił dla Ciebie świetną robotą w robi to w swoim odpowiednim stylu -> tak jak lubię przedstawia samo „mięso”. W zasadzie w tej playliście porusza wszystkie najważniejsze zagadanienia „w pigułce” dotyczące Selenium i wyjaśnia wszelkie wątpliwości względem tego narzędzia.

Podsumowanie:

Powyższa lista to tylko propozycje zasobów do nauki! Zachęcam Cię również do konsultacji z innymi programistami lub testerami -> podpytaj
w jaki sposób uczą się inni ludzie! To zawsze poszerzy Twoje horyzonty
i pamiętaj, że nic nie zastąpi Twojego działania i chęci do poznawania nowych narzędzi!

Owocnej nauki 🙂

Kategorie
Uncategorized

„Create to Inspire, Inspire to Create” czyli inspiracja do tworzenia w pigułce

Cześć!

Dziś dzielę się z Tobą kolejną dawką inspiracji do developmentu. Przypadkiem natrafiłem na stary filmik, który kiedyś mocno mnie zainspirował do pociągnięcia swoich umiejętności w tańcu… po blisko 15 latach nadal wydaje się być aktualny…

Tylko musisz skompilować w swojej głowie poniższą linijkę kodu pythona 😉

inspiration = "Dance to Inspire, Inspire to Dance"
myinspiration = ['Create']

print(inspiration.replace("Dance", "Create"))

Życzę Ci udanego, twórczego dnia.
Kris

Kategorie
Uncategorized

Certyfikaty ISTQB w pigułce – wszystko co musisz o nich wiedzieć!

Cześć!

W obecnych czasach pandemii i kryzysu wiele osób jest chętnych lub zmuszonych podnieść swoje kwalifikacje w dziedzinie testowania oprogramowania – czasem żeby utrzymać pracę.

Dobrym pomysłem i zarazem inwestycją jest rozważenie przystąpienia do testu online z zakresu ISTQB – może to pozwolić Ci nieco wyróżnić się na tle innych osób, poszerzyć możliwości kariery i (być może) zaowocować wyższym wynagrodzeniem.

Czym jest ISTQB?

Organizacja ISTQB to w skrócie  „International Software Testing Qualifications Board”, oferuje ona certyfikację potwierdzenia umiejętności odnośnie różnych poziomów testowania oprogramowania przy czym jest uznana i rozpoznawalna na całym świecie. Prowadzona jest przez organizację non-profit, w skład której wchodzą wybitni eksperci z wieloletnim doświadczeniem. Certyfikaty, takie jak ISTQB, pokazują Twoją biegłość i zainteresowanie branżą testowania oprogramowania dla rekruterów i przyszłych pracodawców.

Natomiast przed rozważeniem przystąpienia do certyfikatu warto żebyś wiedział, że:

0 Żadna certyfikacja nie pomoże Ci w karierze zawodowej bez odpowiedniego doświadczenia praktycznego w realnych projektach. Doświadczenie zawodowe daj kluczową wiedzę, podstawy i zrozumienie, co zadziała w danej praktycznej sytuacji.

1 Kandydaci posiadający doświadczenie zawodowe są zawsze preferowanym wyborem w firmach dla osób decyzyjnych, które kierują tychże kandydatów na kursy doszkalające (ale zakręciłem :P) czyli w skrócie – jeżeli masz doświadczenie zawodowe będzie Ci prościej 🙂

2 Nawet jeśli jesteś nowicjuszem w dziedzinie testowania oprogramowania, certyfikat z pewnością może Ci pomóc (na poziomie foundation level). Możesz też pomyśleć o odbyciu stażu lub studiów wyższych związanych z jakością oprogramowania.

Certyfikat ISTQB podzielony jest na 3 poziomy:

0 Poziom podstawowy

Certyfikat na poziomie podstawowym jest przeznaczony głównie mało doświadczonym osobom (ale jednak z jakimś doświadczeniem związanym z branżą oprogramowania) chętnym poszerzyć swoją wiedzę z zakresu testowania oprogramowania.

Celem tego certyfikatu jest upewnienie się, że kluczowe pojęcia i podstawowe praktyki są dobrze zrozumiane przez interesantów.

1 Poziom zaawansowany

Kurs na poziomie zaawansowanym jest przeznaczony dla profesjonalistów średniego poziomu, którzy posiadają minimum 2-letnie doświadczenie zawodowe. Celem jest poznanie i zrozumienie zaawansowanych najlepszych praktyk i koncepcji testowania. Sylabus obejmuje następujące tematy:

0. Zaawansowane testy behawioralne i standardy dla testerów zorientowanych biznesowo – Test Analyst

1. Zaawansowane testy strukturalne dla testerów zorientowanych technicznie – Technical Test Analyst

2. Doświadczone koncepcje zarządzania testami dla menedżerów – Test Manager

2 Poziom eksperta

Jak sama nazwa wskazuje, kursy na poziomie eksperckim są przeznaczone dla prawdziwych ekspertów w dziedzinie testowania oprogramowania. Poziom jest dedykowany specjalistom mającym ponad 8-letnie doświadczenie zawodowe. Celem jest zrozumienie i wdrożenie ulepszenie najnowocześniejszej technologii w procesie testów oprogramowania.

Program ekspercki porusza takie kwestie jak:

0 Doskonalenie procesu testowego

1 Zarządzanie testami

2 Automatyzacja testów

3 Techniki branżowe.

Podsumowanie w pigułce

Czy warto robić certyfikat ISTQB? musisz samemu to ocenić 🙂
Wszystko zależy od danej sytuacji, ale na pewno jest to dobry wybór w szczególności na początku drogi zawodowej związanej z testowaniem oprogramowania. Ja natomiast uważam, że wiedza zawarta w sylabusach – bez względu na poziom zaawansowania jest uporządkowana i wartościowa. Nauka naprawdę jest dobrą inwestycją i jestem przekonany, że wykorzystasz tą wiedzę w praktyce zawodowej jeszcze wiele razy. Certyfikat o niczym nie świadczy tak naprawdę, ale nabyć wiedzę z tych zasobów jest wysoce wskazane i to rekomenduję 🙂

Kategorie
Uncategorized

Jak skutecznie nauczyć się i zaliczyć certyfikat ISTQB Advanced level na przykładzie Test Analyst?

Cześć!

W dzisiejszym wpisie przedstawię Ci dokładnie jak skutecznie przygotować się do egzaminu na poziomie zaawansowanym ISTQB na przykładzie Analityka Testów (inne certyfikaty na tym poziomie będą różnić się materiałami ale zarówno dla Test Managera oraz Technical Test Analyst niektóre tematy są wspólne w tym sylabusie! Niezależnie, który certyfikat wybierzesz na poziomie Advance ta wiedza i tak będzie dla Ciebie przydatna). 

W mojej opinii to właśnie Test Analyst jest najbardziej wartościowy dla większości osób, które zajmują się biznesowym podejściem do testowania oprogramowania (zwróć uwagę na powyższej grafice, jakich dokładnie zagadnień dotyczy zakres materiału ISTQB Test Analyst) -> możesz poprzez ten certyfikat uzupełnić swoją wiedzę na temat dokładnego procesu testowego, zarządzania testami oraz poznania zaawansowanych technik testowych. Nauka tych zagadnień jest świetną inwestycją zawodową, jeżeli planujesz karierę jako tester oprogramowania. Test Analyst również porusza obszernie kwestie Review i narzędzi testowych do automatyzacji, co w szczególności może pomóc Ci uporządkować wiedzę odnośnie właśnie automatyzacji testowanego oprogramowania. Materiał zawarty w sylabusie Test Analyst zdecydowanie dostarczy Ci dużej dawki wartościowej wiedzy, ale na pewno nie wystarczy sama znajomość sylabusa do zaliczenia egzaminu ISTQB na poziomie zaawansowanym – musisz postawić na praktyczne wykorzystanie tych zagadnień!

Oczywiście chodzi tutaj głównie o wiedzę 😉 sam papier jest nic nie wart, ale inwestycja w siebie jest zawsze świetną inwestycją. 

W “polskim internecie” nie znalazłem samouczka jak skutecznie zaliczyć egzamin Test Analyst na poziomie zaawansowanym, więc postanowiłem go napisać opierając się o wpis napisany przez Ognjen Ninic w serwisie Linkedin.

Poziomy wiedzy, które należy przyswoić w sylabusie są podzielone według poniższych kryteriów:

K1wymaga umiejętności zapamiętywania bez ich głębszego zrozumienia.

K2wymaga umiejętności zrozumienia, chociaż możesz nie być wstanie zastosować ich w praktyce.

K3jak powyżej, z tą różnicą, że powinieneś umieć zastosować to chociaż częściowo w praktyce.

K4wymaga wszystkiego co powyżej, plus analitycznego zastosowania wiedzy w praktycznych projektach.

Poniżej zestawiłem materiały, które warto wykorzystać podczas nauki:

Materiały z oficjalnych zasobów ISTQB – Sylabusa sugeruje przeczytać wiele razy i koniecznie przerobić również przykładowy egzamin:

https://www.istqb.org/downloads/category/7-advanced-level-documents.html

https://astqb.org/resources/

Mapa myśli utworzona dla ATA

Polecam również zainteresować się, poniższą lekturą jest świetnie uporządkowana pod względem merytorycznym. Rex Black potrafi wyjaśnić skomplikowane zagadnienia w prosty sposób. Po opanowaniu przykładowych pytań i ich zrozumieniu nie powinieneś mieć większych problemów na teście:

Gdzie znaleźć przykładowe egzaminy/testy?

Dla Test Analyst jest dość trudno znaleźć przykładowe zadania, ale dla chcącego nic trudnego – możesz znaleźć wiele ciekawych materiałów w sieci o ile dobrze poszukasz. Skorzystaj z każdego możliwego egzaminu ISTQB od dostawców egzaminów online – to są prawdziwe pytania, które mogą być na egzaminie.
Polecam sprawdzić również nowe egzaminy próbne zależnie od poziomu zaawansowania, na platformie Test competence! Są bardzo zbliżone do realnego egzaminu i przetrenowanie kilku testów byłoby wskazane przed certyfikacją. Godne uwagi są również materiały od Patshala: https://istqb.patshala.com/tests/mode.php?tn=27

Przykładowe pytania, podobne do tych które mogą pojawić się na egzaminie:

https://www.softwaretestinggenius.com/certifications-resources/istqb-advanced-ctal-test-analysts-exam-crash-course/

https://istqbquestionbank.blogspot.com/2012/06/test-analyst-sample-question-set-1.html

ISTQB Mock Exam TestCompetence

Materiały do nauki do przypomnienia na poziomie foundation level, które warto powtórzyć niezależnie od zdawanego testu na poziomie zaawansowanym (zwróć uwagę w jaki sposób najbardziej optymalnie i szybko rozwiązywać testy):

https://www.youtube.com/watch?v=3sydes1xp4U&list=PLwlHul3skGA7U_hmvgmCSl4-vUnOtQrMY


Również godny uwagi jest kurs na Udemy:

Pass ISTQB Test Analyst Advanced Level Exam From First Trial

Ile czasu potrzeba na naukę poziomu zaawansowanego?

To w dużej mierze zależy od twojego doświadczenia zawodowego, motywacji oraz czasu który możesz poświęcić na naukę. Osobiście przygotowywałem się około 1,5-2 miesięcy. Myślę, że okres do 3 miesięcy jest wystarczający, aby zaliczyć certyfikat (oczywiście lepiej zminimalizować czas, a zwiększyć intensywność nauki) choć niektórzy przygotowują się nawet pół roku do tego certyfikatu. Po takim długim czasie najprawdopodobniej zapomnisz czego uczyłeś się kilka miesięcy temu :), o ile tego już nie praktykujesz zawodowo.

Na co w szczególności zwrócić uwagę:

Staraj się zrozumieć tematy tak jakie: minimalne pokrycie, testowanie konfiguracji, MTTR, WAMMI, SUMI, i wszystkie definicje odnośnie technik testowania na podstawie specyfikacji (są one najlepiej punktowane na egzaminie).

Gdy masz zadanie z analizą wartości brzegowych warto zwrócić uwagę, że często te zagadnienia dotyczą również różnych klas równoważności. Zadania z zakresu ISTQB Advanced level lubią łączyć ze sobą te 2 techniki. Również w pracy zawodowej często będziesz korzystać z analizy wartości brzegowych oraz klas równoważności.

Zignoruj ​​wszystkie zadania, w których jest mowa o normach, nie będziesz mieć tego na egzaminie, a standardy/normy ciągle się zmieniają.

Wiele zadań z tablicami decyzyjnymi polega na obliczeniu liczby przypadków testowych na podstawie liczby warunków (to po prostu potęga dwóch).

Gdy istnieje grupa zadań z tym samym diagramem lub opisem, po przejściu dalej, możliwe że znajdziesz rozwiązanie pierwszego zadania w treści kolejnego – zwróć na to uwagę.

Nie polegaj na zapamiętywaniu, ponieważ niektóre zadania są nieznacznie zmienione podczas egzaminu (nigdy nie ucz się na pamięć odpowiedzi!).

Samym uczeniem się tylko z książki i sylabusa nie zaliczysz tego testu, musisz praktykować

Certyfikat online czy klasycznie w centrum egzaminacyjnym?

Zdawałem oba, zdecydowanie mogę Ci polecić podejście do certyfikacji online – mniej stresu, więcej czasu zaoszczędzisz (zdecydowanie). Online też możesz robić notatki, więc w zasadzie nic nie tracisz w porównaniu z klasycznym podejściem do certyfikacji.

Jak się uczyć do egzaminu:

  1. Przeczytaj sylabusy FL -> podejdź do egzaminu FL,
  2. Przeczytaj szczegółowo Sylabus TA, przećwicz techniki testowe na próbnych egzaminach TA.
  3. Czytaj uważnie pytania, najlepiej kilka razy.
  4. Naucz się korzystać z technik testowych – opanuj je w praktycznych zadaniach i zastosowaniach, uważam że na to powinieneś postawić największy nacisk, to zaprocentuje również w pracy zawodowej.
  5. Podkreślaj i zwracaj szczególną uwagę na wszystkie słowa kluczowe, takie jak „zawsze”, „nigdy”, „trzeba”. Skorzystaj z zasady wykluczenia! Zwróć uwagę na klasyfikatory, takie jak „zwykle”, „ogólnie”, „przeważnie”, “w tej sytuacji”!
  1. Jeśli pytanie jest niejasne, warto najpierw przyjrzeć się odpowiedziom.
  2. Jeżeli tekst wprowadzający jest bardzo długi i zawiera tabele lub rysunki – zwróć uwagę najpierw na pytanie i odpowiedz, później na tabelę lub grafikę, a następnie przeczytaj ponownie tekst. To może pomóc Ci zaoszczędzić cenny czas.
  3. Odpowiedzi zawierające słowa „ryzyko”, „jakość” są często prawidłowe.
  4. Jeśli nie wiesz jak odpowiedź jest prawidłowa zaznacz cokolwiek!

Wskazówki dotyczące lepszej wydajności na egzaminie:

1) Przeczytaj uważnie Sylabus i dobrze go przestudiuj, staraj się dokładnie zrozumieć opisywane zagadnienia.

2) Rozwiąż jak najwięcej pytań testowych, aby zapoznać się ze sformułowaniem pytań, a także z ich rodzajami.

3) Chociaż jest to egzamin trwający stosunkowo długo (2h – 2019 v.) lub (3h – 2012 v.) zależenie od wersji, nadal będziesz odczuwać, że trudno jest dokładnie przestudiować cały test. Dlatego na początek przestudiuj cały artykuł, odpowiadając na pytania, które są proste i na które znasz odpowiedź.

4) Jeśli dobrze się przygotowałeś, możesz odpowiedzieć na 65 pytań w mniej niż 100 minut.

Podczas nauki do testu koniecznie zwróć uwagę na poniższą piramidę skutecznej nauki. Wynika z niej że, zdecydowanie najlepszym sposobem uczenia się jest rozmowa z innymi testerami na dany temat oraz tłumaczenie i uczenie innych ludzi! Także zachęcam Cię do aktywnego zdobywania wiedzy 🙂