Professional Documents
Culture Documents
Ścieżka Oprogramowania: Testera
Ścieżka Oprogramowania: Testera
OPROGRAMOWANIA
CZY IT JEST DLA MNIE?
O nas
Filip Paluch
Fan chmury obliczeniowej AWS, Full-
Stack Developer, team-leader oraz
architekt od 10 lat związany z branżą
IT. Obecnie rozwija system
zarządzania nieruchomościami
największych banków w USA.
Współzałożyciel firmy Ifs&Whiles oraz
NaCoPoszło. Prywatnie szczęśliwy
ojciec, a także miłośnik amerykańskiej
motoryzacji i Sycylii.
Damian Krychowski
Miłośnik dobrego kodu. Full-Stack
Developer, architekt oprogramowania
i teamleader. Od dekady związany z
branżą IT. Współzałożyciel firmy
Ifs&Whiles. Współtwórca aplikacji
NaCoPoszło. Na codzień zajmuje się
rozwojem systemu obsługującego
nieruchomości dla największych
banków w USA. Prywatnie walczący o
przetrwanie ojciec dwóch synów.
1 Pierwsze kroki
Przedstawienie podstaw, które musimy przyswoić,
zanim zajmiemy się nauką testowania na poważnie.
3 Kierunek automatyzacja
Szkic tego, co potrzebujemy, żeby piąć się po
szczeblach kariery testera jeszcze wyżej.
ROZDZIAŁ
Pierwsze kroki
O ile szerze wierzymy w to, że każdy - jeśli tylko chce - może zostać
testerem, o tyle zdajemy sobie sprawę, że czasami może to wymagać
uzupełnienia wiedzy w pewnych podstawowych tematach. W rozdziale
pierwszym skupiamy się właśnie na tej kwestii.
Jeżeli wiemy już, że tak, że idziemy tą drogą - czas zacząć powoli zdobywać
wszelkie niezbędne umiejętności. Szczere chęci to niestety za mało. Żeby
przekonać pracodawców musimy pokazać im jakieś konkrety.
Ale nie ma co się bać – nie chodzi o to, że musimy być w stanie pisać
książki. Musimy umieć w sposób czytelny opisać buga, to jak go
odtworzyć i czym się objawia. Musimy umieć napisać zrozumiałego
maila. W dzisiejszych czasach praca w IT odbywa się w sposób zdalny,
a komunikacja bardzo często przybiera właśnie formę pisemną. Im
lepiej umiemy wyrażać nasze myśli, tym łatwiej będzie się z nami
porozumieć – a to, proszę uwierzyć, jest absolutnie kluczowa
umiejętność każdego testera.
„You must also be a good writer. We work remotely, so the majority of our work and collaboration is
written. This is true whether you're writing up a bug report or arguing for why these ten issues are
worthy of our attention next cycle.”
Fragment ten pochodzi z maila z opisem stanowiska „Senior QA
Tester”, a roczna pensja, którą ta firma oferuje na tej pozycji to
$85,000. Jest o co walczyć. Musimy umieć pisać.
Umiejętności cz. 1
Angielski
Jeżeli nie byliśmy w stanie zrozumieć cytatu przytoczonego powyżej,
jest to jasny sygnał, że czas zakasać rękawy i zabrać się za szlifowanie
naszego angielskiego. Niestety, w dzisiejszych czasach język angielski
w branży IT jest nieodzowny. W wersji minimum musimy być w
stanie przeczytać prosty tekst po angielsku, napisać opis buga i
znaleźć sobie w angielskojęzycznym Internecie odpowiedzi na
techniczne problemy, z którymi się zmagamy.
Niezależnie czy uda nam się zmienić pracę czy nie, jeżeli nawet nasze
starania zawiodą i nigdy nie zostaniemy testerami – znajomość języka
obcego jest bardzo cenna sama w sobie.
Umiejętności cz. 1
Organizacja pracy
Jako testerzy zawsze będziemy pracować w pewnych ograniczonych
ramach czasowych. Koniecznie musimy umieć wykorzystać ten czas
do maksimum. Powinniśmy umieć dobrze organizować swoją pracę.
Zanim się za coś weźmiemy przeanalizować co tak naprawdę
chcemy osiągnąć, wyznaczyć jakieś kryteria oceny naszej własnej
pracy oraz kolejność kroków, które podejmiemy, zgodnie z ich
priorytetami. Bardzo łatwo jest rzucić się w wir testowania, a potem
obudzić się za parę dni z ręką w nocniku i zdać sobie sprawę, że
doskonale przetestowaliśmy walidację pola ‘email’ na 1000 różnych
sposobów, ale nie pochyliliśmy się nad sednem funkcji, którą
mieliśmy sprawdzić.
Jira / Trello
Trello i Jira to przykłady
oprogramowania do zarządzania
pracą zespołu. Musimy znać
podstawowe koncepty i flow takiej
pracy – jak używa się kolumn, jak
stworzyć ticketa i wrzucić mu jakiś
opis oraz printscreen’a, którego
wcześniej przygotowaliśmy. Warto
założyć sobie darmowe konto na
Trello, stworzyć tablicę i pobawić
się trochę dostępnymi tam
funkcjami.
ROZDZIAŁ
Swagger
Swagger jest to narzędzie ułatwiające pracę z API. W dzisiejszych
czasach bardzo często stanowi jedyną dokumentację opisującą
możliwości danego API. Dodatkowo za jego pomocą możemy na
szybko wywoływać i testować dostępne w API metody. Powinniśmy
umieć sprawnie poruszać się po interfejsie graficznym Swaggera,
korzystać z różnych sposobów autoryzacji oraz wywoływać
udostępnione metody. Musimy także wiedzieć, jak wykorzystać
swaggera jako źródło wiedzy przy konfigurowaniu bardziej
zaawansowanych narzędzi do pracy z API, jakim jest na przykład
Postman.
Narzędzia cz. 2
Postman
Postman to prawdziwy kombajn do pracy z API – narzędzie
niezbędne w przyborniku każdego szanującego się testera
manualnego. Powinniśmy umieć sprawnie obsługiwać interfejs
Postmana oraz wiedzieć jak pracować z kolekcjami. Konfiguracja
podstawowych metod HTTP takich jak GET, POST, PUT i DELETE nie
powinny stanowić dla nas żadnego problemu. Tak samo jak dobór
odpowiedniego sposobu autoryzacji.
ROZDZIAŁ
Kierunek automatyzacja
Selenium
Selenium jest to biblioteka albo inaczej zbiór narzędzi, które można
wykorzystać z poziomu różnych języków programistycznych do tego,
aby zautomatyzować operacje wykonywane przez przeglądarki
internetowe takie jak Chrome czy Firefox. Możliwości te najczęściej
wykorzystywane są właśnie do pisania testów automatycznych, ale
nie tylko. W zasadzie wszystkie czynności, które możemy wykonać
poprzez przeglądarkę, mogą zostać zautomatyzowane z
wykorzystaniem Selenium. Skupmy się jednak na testach. Ideą
testów budowanych z wykorzystaniem Selenium jest zreplikowanie
tych czynności, które wykonałby tester manualny sprawdzający daną
funkcjonalność. Jedyną różnicą jest to, że wykonujemy te czynności z
wykorzystaniem kodu. Jak już pisaem wcześniej, takie testy nazywają
się end-to-end.
Podsumowanie
Współczesne aplikacje to często molochy, które tworzone są od wielu
lat. Manualne testowanie takiego oprogramowania to zadanie
niezwykle czasochłonne, a czasami wręcz niemożliwe do
przeprowadzenia. Jedyną drogą do utrzymania stabilnego działania
takiego software’u jest zbudowanie odpowiedniego zestawu testów
automatycznych. Nie jest to jednak zadanie łatwe, a wymagane do
niego umiejętności znacznie przekraczają kompetencje zwykłego
testera manualnego.
Serdecznie zapraszamy!
Filip i Damian