Wyślij zapytanie Dołącz do Sii

W dzisiejszym świecie cyfrowym wytwarzanie oprogramowania jest procesem złożonym, który wymaga od zespołu deweloperskiego ugruntowanej wiedzy biznesowej, zaawansowanych umiejętności technicznych, jak również wysoko rozwiniętych kompetencji analitycznych.

W artykule omówię, w jaki sposób tester wykorzystuje zdolności analityczne w cyklu rozwoju software’u. Przedstawię także konkretne inspiracje i przykłady, jak samodzielnie rozwijać umiejętności analizy oraz rozwiązywania problemów.

Czym są kompetencje analityczne?

Według raportu Infor jednym z kluczowych wymagań pracodawców stawianych kandydatom na stanowisko testera aplikacji są zdolności analitycznego myślenia. Wynika to bezpośrednio z obowiązków testera, który nie tylko wykonuje gotowe scenariusze testowe, lecz wspiera zespół w projektowaniu i implementacji nowych funkcjonalności.

Kompetencje analityczne to szerokie pojęcie, na które składa się szereg bardziej konkretnych umiejętności:

Składowe zdolności analitycznych (opracowanie własne na podstawie artykułów Wesołowskiej oraz Szymczyk)
Ryc. 1 Składowe zdolności analitycznych (opracowanie własne na podstawie artykułów Wesołowskiej oraz Szymczyk)

Zdolność obserwacji polega na skrupulatnym, uważnym i intencjonalnym spostrzeganiu otaczających sytuacji. Jest to podstawą do kolejnego etapu – zdobywania informacji z różnych źródeł. To stadium jest fundamentem dla reszty procesu, ponieważ jakość i zróżnicowanie dostępnych informacji mają wpływ na jakość analizy i decyzji.

Następnie odbywa się etap filtrowania informacji, gdzie dokonuje się selekcji i oceny wiarygodności źródeł. Eliminacja nieistotnych danych ułatwia efektywną analizę. Analiza informacji obejmuje identyfikację wzorców i relacji, a także wykorzystanie różnych narzędzi i technik, takich jak statystyki. Wyciąganie wniosków to krok, w którym dokonuje się głębszego zrozumienia danych i ich interpretacji.

Na koniec, opierając się na tych wnioskach, podejmowane są racjonalne i przemyślane decyzje, minimimalizują ryzyku działania według uprzedzeń i emocji.

Wykorzystanie umiejętności analitycznych w pracy testera

Poniżej przedstawię hierarchię wartości w procesie testowania oraz przybliżę, w jaki sposób w poszczególnych etapach pracy testera, korzysta się z umiejętności analitycznych.

Wartości w warsztacie testera

Bezwzględnym wymogiem wykorzystania kompetencji analitycznych jest bezpieczne otoczenie, rozumiane jako wspierające pracę w skupieniu. Więcej o negatywnych skutkach rozproszeń znajdziesz w książce Cala Newporta „Praca głęboka. Jak odnieść sukces w świecie w którym ciągle coś nas rozprasza”. Przyjazne otoczenie sprawia, że potencjał analityczny może się uwolić i wpłynąć na efektywne zdobywanie wiedzy domenowej.

Komunikacja testera z product ownerem i użytkownikami aplikacji jest kluczowa w procesie rozwoju oprogramowania, ponieważ umożliwia jasne zdefiniowanie priorytetów, zrozumienie strategicznych celów projektu i szybkie dostosowywanie się do zmian. Jednocześnie, współpraca z użytkownikami umożliwia zbieranie cennych opinii zwrotnych, identyfikowanie potencjalnych problemów i doskonalenie funkcjonalności zgodnie z rzeczywistymi potrzebami.

Gdy tester pozna dziedzinę oraz wyzwania stojące przed zespołem deweloperskim, jest w stanie dobrać odpowiednie techniki i narzędzia testerskie.

Hierarchia wartości w warsztacie pracy testera (opracowanie własne)
Ryc. 2 Hierarchia wartości w warsztacie pracy testera (opracowanie własne)

Etapy pracy i wykorzystania umiejętności analitycznych

Kompetencje analityczne są wykorzystywane w pracy testera na wszystkich etapach procesu wytwarzania oprogramowania.

W procesie analizy ryzyka dokonuje się oceny prawdopodobieństwa i wpływu potencjalnych zagrożeń związanych z wdrażaniem nowych funkcji lub zmian w już istniejących. Udział testerów podczas analizy wymagań pomaga ocenić zespołowi deweloperskiemu, czy dana funkcjonalność jest niezbędna i testowalna. Dzięki analitycznemu myśleniu i współpracy z interesariuszami projektu testerzy mogą dobrać odpowiednie techniki testowe oraz opracowywać praktyczne i istotne przypadki testowe.

Gdy funkcjonalność zostanie zaimplementowana, testerzy wykonują testy biało- i czarnoskrzynkowe, w tym testy oparte o specyfikacje czy testy eksploracyjne. Po egzekucji testów należy także ocenić ich wyniki, a w przypadku wykrycia defektów, testerzy razem z zespołem deweloperskim starają się określić przyczynę problemu, aby go rozwiązać, a w przyszłości mu także zapobiec.

W kolejnym etapie testerzy mogą uczestniczyć w testach akceptacyjnych użytkowników końcowych, aby zebrać feedback na temat utworzonego oprogramowania możliwie szybko. Gdy zostanie potwierdzone, że wdrożone funkcjonalności są stabilne, nadchodzi czas na zaprojektowanie, implementację i utrzymania testów end-to-end. Testerzy automatyzujący potrzebują rozwiniętych umiejętności analizy kodu oraz logów.

Jak doskonalić kompetencje analityczne?

Myślenie analityczne rozwijamy nieświadomie w każdej sytuacji, gdy napotkamy w życiu na wyzwania intelektualne. Są jednak sposoby, jak intencjonalnie pobudzać umysł do pracy i rozwijać myślenie analityczne. O ile lektura poradników o metodach rozwiązywaniu problemów jest pożyteczna, to stoję na stanowisku, że ćwiczenie czyni mistrza.

Przed przystąpieniem do zadań zachęcam, abyście przygotowali kilka arkuszy papieru oraz ołówek. Te podstawowe artykuły biurowe mogą wspomóc proces myślowy i umożliwić skuteczniejsze analizowanie oraz zapisywanie informacji.

Notowanie ułatwia zrozumienie zagadki. Pozwala na skupienie się na istotnych szczegółach, co może prowadzić do odkrywania wzorców czy ukrytych informacji. Kartka i ołówek umożliwiają eksperymentowanie z różnymi wariantami rozwiązania, zapisywanie kolejnych kroków myślowych i eliminowanie nieprawidłowych ścieżek. Pozwalają na notowanie różnych scenariuszy rozwiązania, co jest szczególnie przydatne w trudniejszych łamigłówkach, gdzie istnieje wiele możliwych dróg dojścia do celu.

Łamigłówki

Podstawowym sposobem na rozwój kompetencji analitycznych jest rozwiązywanie różnorodnych łamigłówek. Proces rozwiązywania zagadek zazwyczaj obejmuje analizę warunków zadania, identyfikację istotnych informacji, zastosowanie logicznego myślenia, testowanie różnych hipotez oraz eksperymentowanie z różnymi strategiami, aby ostatecznie dojść do poprawnego rozwiązania. To wymaga często cierpliwości, zdolności do myślenia poza utartymi schematami oraz umiejętności łączenia różnych faktów.

Uwaga: Rozwiązania poniższych zadań znajdziesz w oddzielnym pliku na końcu artykułu.

Łamigłówki rysunkowe

W książce Kena Russela i Philipa Cartera pt. „Łamigłówki rysunkowe” można znaleźć ponad sto trzydzieści zadań ćwiczących spostrzegawczość oraz analizę danych poprzez szukanie analogii oraz znajdowania prawidłowości w ciągach. Poniżej dwa przykłady:

Zadanie 1.
Ryc. 3 Zadanie 1.
Zadanie 2.
Ryc. 4 Zadanie 2.

Zagadki logiczne

W publikacji Piotra Kosowicza pt. „Zagadki logiczne” czytelnik znajdzie sto dwadzieścia różnorodnych zadań, w tym m.in.: łamigłówki geometryczne i zagadki z zapałkami. Poniżej przytaczam dwie przykładowe:

Zadanie 3.
Ryc. 5 Zadanie 3.
Zadanie 4.
Ryc. 6 Zadanie 4.

Czy rozwiążesz moje problemy?

Ostatnia polecana i niezwykle interesująca książka to „Czy rozwiążesz moje problemy? Zbiór najlepszych łamigłówek, jakie kiedykolwiek powstały” Alexa Bellosa. Nie jest to zwykły zbiór łamigłówek, ponieważ autor przedstawia w stylu anegdotyczno-gawędziarskim sto dwadzieścia pięć zagadek. To wciągająca lektura, jednocześnie bardzo pożyteczna w procesie rozwoju kompetencji analitycznych. Przybliżam dwie historie:

Zadanie 5.
Ryc. 7 Zadanie 5.
Zadanie 6.
Ryc. 8 Zadanie 6.

Gry planszowe i komputerowe

Gry są nie tylko źródłem zabawy, ale także pozwalają rozwijać kompetencje analityczne. Chęć zagrania wiąże się z koniecznością poznania i zrozumienia zasad, które są analogiczne do wymagań biznesowych w procesie tworzenia oprogramowania. Podczas samej rozgrywki gracz ćwiczy poznane reguły, analizuje sytuacje, wyciąga wnioski oraz przewiduje ruchy przeciwnika.

Logiczna gra planszowa „Road block”

Rozpoczynając przygodę z grami logicznymi, warto zwrócić uwagę na produkcje wydawnictwa Smart Games. Jedną z bardziej interesujących jest „Road Block”, która wymaga myślenia przestrzennego i rozumowania strategicznego. Celem gry jest ustawienie pojazdów i budynków zgodnie z ukazanym na karcie wyzwaniem, aby uniemożliwić czerwonemu autu opuszczenie planszy. Zestaw zawiera osiemdziesiąt zadań o progresywnym poziomie trudności. Rozgrywka stanowi świetne ćwiczenie umiejętności testerskich – stawiania tez i ich walidowania.

Gra logiczna „Road block”
Ryc. 9 Gra logiczna „Road block”

Kryminalna gra planszowa „Detektyw”

Innym przykładem gry planszowej, która szczególnie wspiera trening zdolności analitycznych, jest „Detektyw. Kryminalna gra planszowa” wydawnictwa Portal Games. Autorzy gry przygotowali dla graczy pięć różnych spraw kryminalnych, a rozwikłanie każdej może zająć dłużej niż trzy godziny. Podczas gry użytkownicy mogą korzystać z różnych źródeł – specjalnie przygotowanych kart tropów w bazie danych oraz z ogólnodostępnych zasobów, w tym internetu.

Nie jest to gra typu paragrafowego, w której jedna informacja sprawia, że wszystko stanie się jasne. Poszlaki są rozproszone pośród wielu różnych kart. Gracz musi skrupulatnie analizować posiadane informacje, porównywać je i wyciągać logiczne wnioski w celu zrozumienia pełnej historii.

Twórcy gry zalecają, aby podczas rozgrywki sporządzać notatki, w tym mapy myśli, aby nie przeoczyć istotnych szczegółów.

Gra kooperacyjna Detektyw

Strategiczna gra komputerowa „Anno 1800”

Od kilkudziesięciu lat gracze mają okazję ćwiczyć umiejętności analityczne także w grach komputerowych. Współczesne gry angażują wszystkie zmysły. Rozwiązywanie zadań w grach strategicznych jest wyjątkowym wyzwaniem z kilku powodów. Złożoność decyzji może sprawić, że trudno jest przewidzieć konsekwencje każdego ruchu. Środowisko gry często jest dynamiczne, zmieniające się w zależności od działań graczy. To sprawia, że strategie, które były skuteczne na początku, mogą stać się mniej efektywne w miarę postępu gry.

Niektóre gry wprowadzają elementy losowe, co oznacza, że ​​rozsądzanie skutków staje się trudniejsze. Złożoność logiki sprawia, że decyzje stają się bardziej spekulatywne. W strategicznych grach informacje są kluczowe. Gracze muszą efektywnie korzystać z dostępnych danych, map, statystyk itp., aby podejmować rozsądne decyzje. Strategiczne gry często mają zróżnicowane cele, a jednocześnie wymagają zarządzania wieloma aspektami, dlatego ich koordynacja może być wyzwaniem.

Reprezentatywnym przykładem tego gatunku jest „Anno 1800”, która rozwija kompetencje analityczne, ponieważ wymaga od graczy planowania zasobów, optymalizacji procesów oraz podejmowania strategicznych decyzji. W grze gracze budują i rozwijają swoje miasta. Tworzenie efektywnego układu miejskiego, zapewniającego równowagę między różnymi rodzajami działalności, wymaga analitycznego podejścia. Wszystkie te elementy sprawiają, że „Anno 1800” angażuje graczy, wymagając od nich podejmowania decyzji opartych na zrozumieniu skomplikowanych systemów gospodarczych i społecznych.

Czas potrzebny na ukończenie kampanii w grze „Anno 1800” może się znacznie różnić w zależności od stylu gry gracza oraz jego doświadczenia z tego typu strategiami ekonomicznymi. Dla jednego gracza kampania może zająć kilkadziesiąt godzin, podczas gdy inny może poświęcić znacznie więcej czasu na dogłębne zrozumienie mechanik gry i osiągnięcie pełnego potencjału swojej osady. To sprawia, że jest to czasochłonny sposób na trening kompetencji analitycznych.

Podsumowanie

Artykuł omawia kompetencje analityczne, które są istotne dla efektywnej pracy testera oprogramowania na różnych etapach procesu wytwórczego. Testerzy powinni być w stanie analizować dokumentację projektową, identyfikować kluczowe funkcje systemu oraz zrozumieć oczekiwane zachowanie oprogramowania.

Kolejnym aspektem jest umiejętność projektowania efektywnych przypadków testowych. Testerzy powinni być w stanie analitycznie podejść do identyfikacji różnych scenariuszy testowych, uwzględniając zarówno przypadki pozytywne, jak i negatywne. Ważna jest również umiejętność analizy defektów, identyfikacja ich przyczyny oraz współpraca z zespołem deweloperskim w celu naprawienia systemu.

Dzięki rozwiniętym kompetencjom analitycznym testerzy są w stanie minimalizować ryzyko dostarczenia produktu niespełniającego oczekiwań. Przedstawione w artykule inspiracje książkowe, łamigłówki oraz gry planszowe i komputerowe są przystępnymi sposobami na trening zdolności analitycznych. O ile nie zawsze będziemy w stanie rozwiązać zagadkę, to każde podjęcie wyzwania powinna być dla nas powodem do dumy.

Źródła internetowe

Zbiory matematycznych anegdot, zadań logicznych i zagadek

***

Jeśli chcesz się rozwijać w branży IT, zajrzyj koniecznie również do innych artykułów naszych ekspertów, którzy prezentują swoje ścieżki karier od środka.

***

4.2/5 ( głosy: 10)
Ocena:
4.2/5 ( głosy: 10)
Autor
Avatar
Michał Olewnik

Certyfikowany tester oprogramowania z kilkuletnim doświadczeniem w IT zdobytym w projektach dla branży energetycznej, farmaceutycznej i doradztwa strategicznego. Obecnie doskonali warsztat automatyzacji testów. Członek SJSI. Pasjonat mikroprzygód, szczególnie na rowerze, oraz majsterkowania

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

  • Ja dodałabym jeszcze naukę programowania jako czynnik rozwijający analityczne myślenie , a szczególnie tworzenie algorytmów z mniejszym skupieniem się na poprawności składni. Nawet samo rozpisywanie algorytmów do zadań deweloperskich na podstawowym poziomie mocno rozwija analityczno-logiczne myślenie.

Może Cię również zainteresować

Pokaż więcej artykułów

Bądź na bieżąco

Zasubskrybuj naszego bloga i otrzymuj informacje o najnowszych wpisach.

Otrzymaj ofertę

Jeśli chcesz dowiedzieć się więcej na temat oferty Sii, skontaktuj się z nami.

Wyślij zapytanie Wyślij zapytanie

Natalia Competency Center Director

Get an offer

Dołącz do Sii

Znajdź idealną pracę – zapoznaj się z naszą ofertą rekrutacyjną i aplikuj.

Aplikuj Aplikuj

Paweł Process Owner

Join Sii

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?