Sprawdź, z jakimi wyzwaniami na codzień mierzy się tester oprogramowania i dobrze przygotuj się do zawodu testera oprogramowania!
21 kwietnia 2020
Jeśli przygotowujesz się do egzaminu ISTQB z pewnością trafisz na tematykę testowania opartego na strukturze. W dużym uogólnieniu opiera się ono na testowaniu przepływu sterowania i przepływu danych. Przykładowo, dla
13 kwietnia 2020
W poprzednim wpisie Zgłoszenie defektu, priorytet i ważność rozpisałem jakie są najczęściej pomijane punkty dobrego zgłoszenia błędu. Umieściłem tam również przykładowy formularz zgłoszenia. Jednak skupienie się na samym zgłoszeniu błędu
06 kwietnia 2020
Tworzenie zgłoszeń defektów jest nieodzownym elementem pracy testerskiej, nic więc dziwnego, że pytanie jak go poprawnie stworzyć nie przestaje padać z ust osób aspirujących na stanowisko testera. W tym wpisie

PODOBAŁ CI SIĘ TEN ARTYKUŁ?

Sprawdź inne teksty

W poprzednich artykułach Zgłoszenie defektu, priorytet i ważność, oraz Produkty procesu testowego mieliśmy okazję zapoznać się z budową i prawidłowym zastosowaniem produktów pracy testerskiej. W tym wpisie zobaczysz jak utworzyć własne miejsce, w którym zamieścisz wszystkie swoje testerskie osiągnięcia. Będzie to szczególnie przydatne, jeśli dopiero zaczynasz swoją karierę jako tester oprogramowania. Zawierając w CV link do swojego repozytorium z wykonaną pracą pokażesz szerszy obraz swoich umiejętności, co pomoże Ci się wyróżnić na tle innych aspirujących na stanowisko testera.

Krótka historia

Kiedy ponad 6 lat temu zaczynałem pracę jako tester, do objęcia stanowiska testera oprogramowania wystarczyła mi znajomość SQL oraz podstawowe rozumienie jak wytwarza się oprogramowanie. Dodatkowym atutem była znajomość HTML/CSS i budowa Obiektowego Modelu Dokumentu (DOM). Wszelkich potrzebnych informacji dotyczących testowania szukałem na zagranicznych stronach internetowych i z takich też źródeł przygotowałem się do swojej pierwszej rozmowy rekrutacyjnej. Od tamtego czasu minęło parę lat, a sytuacja diametralnie się zmieniła.

Coraz częściej jako pozycje wymagane zaczęły się pojawiać:

  • Certyfikat ISTQB poziomu podstawowego,
  • Znajomość narzędzi do zarządzania testowaniem,
  • Szkolenie przygotowujące do wykonywania zawodu z naciskiem na praktykę.
  • Nierzadko również wykształcenie kierunkowe.

Z drugiej strony wiedza na temat testowania stała się znacznie łatwiej dostępna, chociażby dzięki bardzo dobrym rodzimym publikacjom Karoliny Zmitrowicz, Radosława Smilgina, Adama Romana. Świadomość o testowaniu zaczęła się zmieniać, a testerzy z rangi "zła koniecznego" stali się pożądanymi członkami zespołów projektowych. Obecnie istnieje nawet możliwość ukończenia studiów kierunkowych związanych z testowaniem oprogramowania. Wraz ze wzrostem świadomości zaczęły również rosnąć wymagania co do osoby na stanowisko testera, stając się po czasie standardem oczekiwanym nawet na stanowiskach juniorskich. Jak więc przebić się i pokazać, że to właśnie Ty będziesz najlepszym kandydatem na stanowisko testera? To pytanie stało się bezpośrednią przyczyną powstania tego artykułu, a w odpowiedzi zaproponuję Ci utworzenie własnego repozytorium kodu na platformie GitHub.

Kilka słów o GitHubie

GitHub jest usługą pozwalającą na przechowywanie własnego repozytorium, dodając przy tym wiele nowych funkcjonalności. Czysty system wersjonowania GIT opiera się na linii komend w terminalu. GitHub rozszerza tę funkcjonalność o interfejs graficzny w aplikacji webowej. Jeśli jesteś początkującym użytkownikiem będzie to dla Ciebie łatwiejsze wejście w świat systemów kontroli wersji. Aplikacja posiada szereg przydatnych dodatków, których opanowanie pomoże Ci lepiej zrozumieć samego GIT'a. Wśród nich znajdziesz:

  • Bugtracker - szczególnie przydatne dla testerów rozszerzenie pomagające zarządzać błędami.
  • Forkowanie repozytoriów - umożliwiające rozdzielenie projektu na więcej niż jedną gałąź.
  • Pull requesty - jedna z dobrych praktyk pracy na drzewie umożliwiający sprawdzenie zmiany przed połączeniem jej z gałęzią docelową.
  • Statystyki - do zbierania metryk.
  • GitHub wiki - dla celów tworzenia dokumentacji.

Na potrzeby tego artykułu, zostaniemy jednak przy podstawowej funkcjonalności tworzenia repozytorium. Do struktury, którą przedstawię poniżej zainspirowały mnie dwie osoby z którymi stale koresponduję:

  • Ambitna testerka Agata, która stworzyła świetne portfolio. Posiada również imponujący zestaw dokumentacji, będąc dopiero na początku swej drogi, czym naprawdę mi zaimponowała. Tutaj znajdziesz jej repozytorium.
  • Mój uczeń Patryk, który w zaskakującym tempie osiąga bardzo dobre rezultaty w nauce testowania. Jego portfolio jest stale rozwijane i szybko nabiera rumieńców.

Utwórz projekt. Zacznij od podsumowania swoich dotychczasowych osiągnięć

Utworzymy miejsce, które stanie się Twoją testerską wizytówką. Znajdą się tam wszystkie Twoje dokonania związane z tematem testowania oprogramowania od używanych przez Ciebie narzędzi, po utworzoną przez Ciebie dokumentację i projekty, w których uczestniczysz. 

Aby rozpocząć pracę nad swoim portfolio przejdź do platformy GitHub i wybierz utworzenie nowego konta. Po potwierdzeniu adresu e-mail przejdź do utworzenia nowego repozytorium. Uzupełnij szczegółowe informacje podobnie jak na poniższym zrzucie ekranu:

Portfolio testera - utworzenie nowego repozytorium na Github.

Podczas tworzenia repozytorium zaznacz opcję Initialize this repository with README. Plik README.md, który domyślnie wyświetla się na stronie Twojego portfolio jest plikiem w formacie Markdown. Umożliwia on szybkie formatowanie za pomocą znaczników, dzięki czemu szybko osiągniesz efekt podobny do formatowania w języku HTML bez potrzeby tworzenia kodu.  Następnie wybierz przycisk Create repository. Wyświetli się nowe okno Twojego projektu:

Portfolio testera - widok Twojego testerskiego portfolio na Github.

Zanim przejdziemy dalej zachęcam Cię do poznania się z podstawowymi znacznikami języka Markdown. Składnię znajdziesz np. w dokumentacji. W omawianym portfolio użyte zostaną następujące znaczniki:

Markdown

Wynik

# Nagłówek 1

Nagłówek 1

# Nagłówek 2

Nagłówek 2

[Zakotwiczony tekst](https://remigiuszbednarczyk.pl)

Zakotwiczony tekst

* pozycja na liście punktowanej

  • pozycja na liście punktowanej

    * wcięcie w pozycji na liście punktowanej

  • wcięcie w pozycji na liście punktowanej

**pogrubienie**

pogrubienie

Umieść i wylistuj swoje osiągnięcia w repozytorium

Kiedy masz już potrzebną wiedzę do rozpoczęcia pracy w języku znaczników Markdown, przejdź do edycji swojego repozytorium z poziomu przeglądarki. Jeśli posiadasz podstawy pracy na systemach kontroli wersji, nic nie stoi na przeszkodzie, aby sklonować swoje repozytorium i dokonać tego z poziomu terminala lub dedykowanego narzędzia jak Git Extensions. Wewnątrz dodaj następujące nagłówki:

  • Sekcja 'O mnie'
  • Narzędzia, czyli zbiór technologii na których pracujesz
  • Kursy
  • Techniczne książki
  • Grupy testerskie
  • Blogi, strony tematyczne
  • Webinary, Meetupy
  • Twoja autorska dokumentacja testowa
  • Twoje projekty

1. Sekcja 'O mnie'

W kilku zdaniach opisz kim jesteś, jak zamierzasz rozwijać swoje umiejętności, oraz kim planujesz się stać kiedy wykonasz już swój cel. Ta sekcja będzie ewoluowała razem z Tobą. Im więcej doświadczenia nabierzesz, tym lepiej ujmiesz w słowa czego od siebie oczekujesz. Jest to bardzo ważne, ponieważ wielu adeptów testowania ma duży problem z jednoznaczną odpowiedzią na pytanie: "dlaczego właśnie testowanie?".

2. Narzędzia, czyli zbiór technologii na których pracujesz

Najtrudniejsza do oszacowania sekcja, która opiera się czysto na nabytym przez Ciebie doświadczeniu. Trudna do uzupełnienia na początku wędrówki. Polecam w tym miejscu wykonywać dużo pracy własnej, poznawać różne narzędzia wspomagające testowanie.

Dobrą praktyką będzie wybieranie się "na polowania" na różne serwisy, w których później możecie znaleźć rozmaite błędy i w ramach ćwiczenia tworzyć dokumentację z testowania. Przykładowo, używając technik eksploracyjnych i opartych na doświadczeniu dacie sobie możliwość samorozwoju i nieustannego uzupełniania tej sekcji. Pomocne będzie również uczestnictwo w szkoleniach, kursach na których będziecie mieli okazję poznać wiele nowych narzędzi - bardzo często współpracujących ze sobą. Narzędzia można podzielić w następujący sposób:

  • Języki programowania i frameworki, np. Javascript i Angular.
  • Bazy danych, np. MySQL, MS SQL.
  • Systemy operacyjne, np. Windows, Linux.
  • Systemy kontroli wersji, np. GIT, SVN.
  • Poznane metodologie zarządzania, jak SCRUM czy Kanban.
  • Narzędzia do zarządzania testowaniem, np. Jira, Redmine, Bugzilla.
  • Narzędzia wspomagające testowanie, np. konsola Chrome, JMeter.

Nie muszą to być wszystkie kategorie. Po prostu daj najszerszy zarys swojego "stacku technologicznego" jaki możesz.

3. Kursy

Kursy związane z nauką testowania. To miejsce na wszystkie pozycje, które potwierdzają nabyte przez Ciebie umiejętności - od kursów internetowych po bootcampy w ośrodkach szkoleniowych.

4. Techniczne książki

Biblioteka testerska jest równie ważna, co precyzyjne wypisanie narzędzi. Jej objętość pokazuje osobie przeglądającej spektrum Twoich zainteresowań, pozwala ustalić Twoje specjalizacje.

5. Grupy testerskie

Choć opcjonalne, może być pomocne dla osoby przeglądającej aby ocenić Twoje zaangażowanie. Być może czynnie udzielasz się w społecznościach testerskich i warto pochwalić się swoimi osiągnięciami? To będzie idealne ku temu miejsce.

6. Blogi, strony tematyczne

Miejsce w którym możesz pokazać skąd czerpiesz inspiracje, materiały, wiedzę. W dzisiejszym świecie, kiedy informacja jest ogólnie dostępna warto sięgać do wielu źródeł, aby mieć pełniejszy obraz na temat poznawanego zagadnienia. Pokazując listę czytanych blogów i serwisów, pokażesz swoje zaangażowanie.

7. Webinary, Meetupy

Niemal must-have pośród całej listy w tym portfolio. CV niekoniecznie będzie odpowiednim miejscem na zamieszczenie listy konferencji/webinarów na których się było, ale omawiane repozytorium już jak najbardziej. W CV zawrzesz esencję, tutaj pokażesz swoje zaangażowanie w lokalne społeczności. Podobnie jak w przypadku grup testerskich, być może masz na tym polu czym się pochwalić!

8. Twoja autorska dokumentacja testowania

Najważniejsza pozycja w całym portfolio. To tutaj będzie idealne miejsce na zamieszczenie swojej autorskiej dokumentacji testowej. Możesz podzielić ją na:

  • Zgłoszenia Defektów
  • Raporty z Testowania
  • Przypadki testowe
  • Scenariusze testowe

Taka dokumentacja potrafi urosnąć do naprawdę imponujących rozmiarów, przez co staje się przedmiotem pytań:

  1. Utworzyłem swoją pierwszą dokumentację testerską. Gdzie mogę ją zamieścić, aby dostrzegli ją potencjalni pracodawcy?.
  2. Czy CV to dobre miejsce na zamieszczenie utworzonych przeze mnie zgłoszeń defektów?.

Odpowiedź już znasz - umieszczenie jej w repozytorium. Zdecydowanie odradzam zamieszczanie jej w CV z prostego powodu:

Twoje CV będzie najpewniej jednym z setek wysłanych na wybrane stanowisko. Szczególnie w czasach, kiedy następuje wysycenie rynku "juniorami". Kluczowe będzie wtedy przykucie uwagi przeglądającego, a co za tym idzie zawarcie detalu, który wyróżni Cię na tle innych. Takim detalem będzie link do repozytorium. Jedną linijką zaoszczędzisz wysyłanie wielu plików, które mogą nie dotrzeć do osoby przeglądającej. Jednocześnie zainteresujesz przeglądającego robiąc coś, co pomija duży odsetek kandydatów.

9. Twoje projekty

Wszelkie wykonywane/wykonane przez Ciebie projekty, które pokażą Twoje umiejętności. To może być idealne miejsce na Twój kod źródłowy, który pokaże osobie przeglądającej Twoje umiejętności w tym zakresie.

Jaką strukturę plików zachować?

Do dokumentacji polecałbym użycie Google Drive z odpowiednio skonfigurowanymi uprawnieniami do plików, a do kodu źródłowego czy odnośników tekstowych utworzyłbym kolejne strony w portfolio, tworząc odnośniki w głównym pliku README.md

Porady

Mając na uwadze całą tę listę pamiętaj o kilku niezmiennych warunkach:

  • Przygotuj tylko takie pozycje, na temat których Twoja wiedza jest wystarczająca aby je swobodnie wytłumaczyć.
  • Nie pomijaj nieukończonych pozycji na które poświęcasz swój czas. Z drugiej strony - nie ukrywaj faktu, że wybrana pozycja jest w trakcie realizacji. Zaprocentuje tutaj Twoja szczerość.
    Przykładowo, dodając kurs internetowy czy też książkę, które nie zostały jeszcze przez Ciebie ukończone pamiętaj o tym, aby zawrzeć stosowną klauzulę "W trakcie".
  • W tym repozytorium znajdują się tylko Twoje rzeczy. Wszelkie projekty, które wykonujesz w ramach nauki, np. 1:1 z trenerem (a więc przykładowo klonujesz jego pracę na własny użytek) nie powinny się tutaj znaleźć. Jeśli jednak czujesz inspirację i chcesz pochwalić się swoimi umiejętnościami, zawsze będę zachęcał do użycia nabytych umiejętności na innym przykładzie niż autor. Będzie to oryginalne, wasze i w procesie powstawania nauczycie się wiele nowego!
  • Potencjalny pracodawca prawie zawsze sprawdzi Cię w internecie. W związku z tym należy pamiętać, aby zadbać o swoje media społecznościowe. Należy zwrócić szczególną uwagę na media branżowe takie jak Linkedin, czy Goldenline. Dane tam zamieszczone powinny być jak najbardziej szczegółowe, aktualne, w pełni pokrywać się z Twoim CV. Będzie to również idealne miejsce na zamieszczenie odnośnika do Twojego repozytorium. Nie zapomnij również o jednoczesnym przestrzeganiu 'higieny' na swoich mediach społecznościowych jak Facebook, czy Instagram.

Podsumowanie

Poniżej zobaczysz przykładową strukturę podczas tworzenia mojego portfolio na potrzeby tego wpisu. Od wewnątrz wygląda następująco:

Portfolio testera - podgląd markdowna w edycji portfolio na Github.

Ten sam fragment po konwersji:

Portfolio testera - podgląd portfolio po zastosowaniu markdown.

Po zapisaniu zmian otrzymasz gotowy dokument, który możesz śmiało zamieścić w swoim CV. Dzięki takiemu rozwiązaniu CV pozostanie przejrzyste i schludne, a Ty pochwalisz się swoimi umiejętnościami w nowo utworzonym portfolio, zwiększając swoje szanse na zatrudnienie.

Zadanie dla Ciebie

Utwórz swoje własne portfolio, umieszczając w nim swoje osiągnięcia. Jeśli jeszcze nie posiadasz zaprojektowanej przez siebie dokumentacji testowej zainteresuj się moimi poprzednimi artykułami, w których pokazuję jak utworzyć większość produktów procesu testowego:

Dodatkowo, jeśli szukasz inspiracji na prawdziwych przykładach, sprawdź portfolia przygotowane przeze mnie i Agatę:

Możesz śmiało sklonować mój szablon portfolio.

Będzie mi bardzo miło, Jeśli zechcecie podzielić się swoimi repozytoriami - mogę je podpiąć w tym artykule, aby służyły za przykład! Tymczasem życzę wam powodzenia i czekam na wasze komentarze!

28 kwietnia 2020

Portfolio testera

DOWIEDZ SIĘ, JAK ZOSTAĆ TESTEREM

REMIGIUSZ BEDNARCZYK

Remigiusz Bednarczyk

To nie feature. Testerze, znalazłeś buga! Przeniesie Cię do Artykułów.

Znajdź mnie na mediach społecznościowych