Trudna sztuka udzielania feedbacku

Zigi od rana był w dobrym humorze. Jego testy automatyczne chodziły bez zastrzeżeń, jego forma na treningu rosła z dnia na dzień, a cena piwa kraftowego systematycznie malała. Jednym słowem powodów do narzekań Zygfryd – nie miał.

Z dużą dawką optymizmu powitał więc nowego maila, który przyszedł na jego skrzynkę. Była to wiadomość od jednego z liderów zespołów testowych. Z treści wynikało, że zbierał on informacje o jednym z jego kolegów z zespołu, w celu dokonania uczciwej oceny roczne. Prosił więc on Zigiego o feedback, aby móc, bądź co bądź w sposób uczciwy, ocenić kolegę Zigiego – Tomka.

Zygfryd akurat miał zrobić sobie zasłużoną przerwę, jednak zdecydował się popracować jeszcze 5 minut i szybko odpisać liderowi. Rozsiadł się wygodnie w fotelu i wytężył mózgownicę.

Co można było powiedzieć o Tomku? Robił swoje, przykładał się do pracy, większych wpadek nie zanotowano. Polecam tego allegrowicza? Bez sensu. Przecież to samo można by powiedzieć o każdym! Zygfryd zastanowił się jeszcze chwilkę, chcąc wyciągnąć ze swojego zrelaksowanego mózgu jakiekolwiek konstruktywne informacje o Tomku. Nic…pustka…Dobry humor zaczął być zastępowany przez zirytowanie i gniew. Wizja przerwy oddalała się z minuty na minutę a do wachlarza emocji doszło wkurzenia, poddenerwowanie i lekki wkurw. 30 minut później w treści maila jedyne co istniało to adres nadawcy i stopka z danymi Zigiego, która dodawała się do każdej wiadomości automatycznie.

Rezygnacja była czynnością, który Zygfryd nie wykonywał zbyt często. Jego ambicja nie pozwalał na zbyt szybkie rezygnowanie z zaczętych rzeczy. Nie inaczej było tym razem. Bliski rozpaczy Zigi odpalił Google i w polu wyszukiwarki wpisał: Jak udzielać konstruktywnego feedbacku. Na ekranie zobaczył linki prowadzących do najwybitniejszych coachów polskich. Coaching. Na samą myśl o słuchaniu tych bzdur zrobiło mu się niedobrze. Gadanie o strefach komfortu, wyjścia z cienia, pracy nad uczuciami powodowała u niego odruchy wymiotne. Jednak tym razem nie miał innego wyjścia. Z drżeniem serca odpalił pierwszy znaleziony filmik. Gęba, jaką zobaczył, już sama w sobie była wyrocznią, jakiego rodzaju feedback na temat obejrzanego materiału zostawi w komentarzach.

Selenium NIE dla początkujących

Zigi pełen niepokoju usiadł przed komputerem. Pełen zgrozy i umiarkowanego optymizmu chwycił za mysz i kliknął w ikonkę Eclipsa na swoim Windowsem. Po chwili jego oczom ukazał się ekran główny jego świeżo zainstalowanego środowiska programistycznego. Dwa kliknięcia później na ekranie już widoczna była pusta, biała strona, a u samej góry wesoło migał kursor, zachęcając do napisania pierwszej linijki kodu. Ten dzień w końcu nadszedł. Zygfryd zaczął uczyć się automatyzacji testów.

Ten dzień był nieunikniony, jednak Zigi odwlekał go jak tylko mógł. Przecież był testerem – nie programistą. Dlaczego więc ma się uczyć jakiegoś języka programowania? Jakby chciał zostać developerem, to wybrałby inne studia i inaczej pokierował swoja karierą. Tymczasem w firmie, gdzie pracował, przesłanie było proste: Nie automatyzujesz – nie pracujesz.

Niepocieszony, że musi wyjść ze swojej strefy komfortu, Zygfryd wpisał w Google: Selenium dla początkujących i zaczął czytać. Godzinkę później był już w stanie napisać parę pierwszych linijek kodu. Sam koncept nie wyglądał na skomplikowany. Otwórz stronę, znajdź element i wykonaj na nim jakąś akcję. Raptem pare komend, nic trudnego. Driver, get URL, Select by ID, click i enter!! Jego pierwszy program zaczął się kompilować. Po chwili na ekranie otworzyła się przeglądarka Chrome, a w pasku zaczął wpisywać się adres strony głównej Google. Chwila prawdy zbliżała się nieubłaganie. Zygfryd zacisnął kciuki i z skoncentrował wzrok na polu wyszukiwarki. Sekundę później ukazał się w niej tekst: „asdfasdfadsf”, a dwie sekundy później został wciśnięty przycisk szukaj. Widząc sukces swojego pierwszego projektu Zigi aż podskoczył z radości. Chyba zbyt pochopnie ocenił i przestraszył się automatyzacji. Teraz wystarczyło nauczyć się dostawać do elementów po xPath, CSS, klasie itp. i właściwie tyle. Wszystko inne wydawało się proste.

Zadowolony z pierwszych sukcesów, nasz tester automatyczny, jak w myślach zaczął na siebie mówić, przerzucił się w Google na swój docelowy projekt. Na szczęście element, do którego chciał się dostać miał nadany ID. 10 minut później był gotowy do odpalenia kolejnego programu. 11 minut później zdruzgotany niepowodzeniem Zigi przeklinał automaty i wszystkich programistów. Jego program nie zadziałał. Diagnoza według jego kumpla: AJAXy się nie załadowały, trzeba nadpisać metodę wait, tak żeby czekała na załadowanie wszystkich elementów na stronie. Poza tym, należy stworzyć osobne klasy na lokatory, executory, zapoznać się z Page Object Pattern i PageFactory i zrobić całkowity refactoring kodu.

Smutny i pełen nienawiści do programowania i samego siebie Zigi zamknął IDE i w Google ponownie wpisał: Selenium dla początkujących. Zapowiadał się długi dzień.

Tłumaczenia – uroki pracy testera

Zygfryd z nietęgą miną spoglądał na tłumaczenia dostarczona przez klienta. Sześć języków: angielski, niemiecki, hiszpański, francuski, włoski i grecki, z czego Zigi rozumiał tylko angielski. Myśl, że już jutro developerzy podmienią tłumaczenia na docelowe i wrzuca cały projekt do testów przerażała go bardziej niż kolumna samochodów BOR jeżdżąca na sygnale przez miasto. Pięć stron A4 tłumaczeń, w tym język grecki, który wygląda jak pismo, jakim posługują się Obcy z zaświatów. I jak tutaj dobrze i sumiennie sprawdzić, czy wszystkie tłumaczenia wrzucone przez devsów, zgadzają się z tymi, które dostarczył klient?

Na drugi dzień Zigi z jeszcze bardziej podłym humorem usiadł przy biurku i odpalił PC. Wiadomość na Slacku, że tłumaczenia są już gotowe do sprawdzenia, nie była dla niego żadnym zaskoczeniem. Z niesmakiem odpalił pierwszą stronę aplikacji, na drugim ekranie otworzył excela z tłumaczeniami i słowo po słowie zaczął porównywać teksty. Na pierwszy ogień poszedł hiszpański.  Po godzinie sprawdzania miał już serdecznie dość. „Zostań testerem mówili, będzie fajnie mówili” – narzekał sam do siebie w myślach. „A trzeba było iść na operatora koparki. Wszyscy się z tego pomysłu śmiali, ale kasa, jaką oferowali dla operatorów, z pewnością nie jednego przekonałaby do zmiany zawodu” – kontynuował rodzinną tradycję marudzenia.

Z ciekawości Zigi otworzył jeszcze tłumaczenia dla języka niemieckiego i francuskiego. Pierwsze, co rzuciło się mu w oczy to fakt, że część tekstów jest pogrubiona. Z niepokojem otworzył wszystkie tłumaczenia i sprawdził pobieżnie całość.  Okazało się, że dla różnych języków, różne teksty w różnych miejscach są pogrubione. Czy tak wynika z kultury danego języka? Czy to jest błąd? Czy developerzy powinni do aplikacji również wrzucić pogrubione teksty? Ilość potencjalnych problemów rosła w zastraszającym tempie.  Nawet heroiczna próba skopiowania testów z aplikacji do Notepada++ i użycie wtyczki Compare okazała się nieskuteczna.  Co robić, jak żyć?

W tym momencie Zigi zauważył, że na skrzynkę mailową przyszła nowa wiadomość email. Kątem oka Zygfryd zauważył tylko jedno słowo – praktykanci. W tym momencie Zygfryd poczuł, jak nowa, co by nie mówić wręcz wspaniała, myśl, przychodzi mu do głowy. W końcu każdą osobę da się zastąpić skończoną ilością praktykantów. Tak strasznie wszyscy chcą zostać testerami. Przecież to takie, łatwe, proste i przyjemne. Parę kliknięć myszką i po pracy. No to teraz zobaczymy jaką będą mieć minę, jak zobaczą 30 stron tłumaczeń do sprawdzenia.

Zadowolony z siebie, jak nigdy wcześniej, Zigi kliknął na maila prawym przyciskiem myszy i z listy wybrał słówko -Odpowiedz. W nowym oknie przeszedł do pola z wiadomością i zaczął pisać: Hej, będę miał robotę dla praktykantów…

Eksploracja bez dokumentacji

Zygfryd ze zdumieniem czytał najnowszego maila. Wprost nie mógł uwierzyć temu, co właśnie czytał. Czuł się jakby właśnie dostał prezent urodzinowy i to lepszy niż PS4, które dostał od żony w tym roku. Z niedowierzaniem jeszcze raz przeleciał wzrokiem tekst od góry do dołu. Klient zgodził się, aby testy w projekcie zostały przeprowadzone za pomocą testów eksploracyjnych. Bez test planów, bez test casów, bzdurnych opisów i dokumentacji. Ba! Mało tego, klient zrezygnował z testów automatycznych na rzecz eksploracji!

Do tej pory Zigi nie wiedział, że ma aż taki dar przekonywania. W ciągu godzinnej rozmowy z klientem namówił go na wszystko co chciał. Teraz czuł się, jakby właśnie samego Pana Boga złapał za nogi. Cały czas spędzony w projekcie będzie mógł przeznaczyć w końcu na testowanie a nie pisanie bzdurnych i nikomu nie potrzebnych test planów i obszernej dokumentacji. Jednak marzenia się spełniają.

Kilka dni później pierwsza wersja aplikacji była gotowa na testy. Zygfryd wygodnie rozsiadł się w fotelu, przymknął oczy i zaczął intensywnie myśleć jakie testy by tu wykonać. Po chwili już wiedział. Po prostu odpali aplikacje i przeklika wszystko co mu przyjdzie do głowy. W końcu przy jego doświadczeniu plan działania nie jest potrzebny. Zadowolony z siebie odpalił aplikacje i przystąpił do testów.

Niecałe 6 godzin później pierwsze testy zostały zakończone. Zigi był zadowolony z siebie jak nigdy. Znalazł kilka błędów krytycznych, parę minorów i kilkanaście literówek. W sumie dzień można uznać za udany. Kątem oka zerknął jeszcze na skrzynkę mailową. U samej góry była jedna nieprzeczytana wiadomość. Była od Steve z teamu z USA, który razem z naszym niezłomnym testerem sprawdzał aplikację. Dziękował on mu za dzisiejszą pracę, gratulował znalezionych błędów i prosił o podsumowania, co dzisiaj zostało przetestowane, aby mógł kontynuować testy. W tym momencie Zygfryd oblał się zimnym potem. No właśnie, co on dzisiaj tak naprawdę przetestował? Znalazł błędy, to fakt, ale jakie obszary pokrył testami? W sumie to na pierwszej stronie sprawdził walidacje pól, na drugiej obsługę błędów. Potem sprawdził wynik działań algorytmów i coś tam zerknął do API. Na stronie z podsumowaniem w sumie nie pamiętał co sprawdzał, ponieważ gdy ją testował do pokoju weszła szefowa HRu i przedstawiła nową koleżankę, która dzisiaj zaczynała pracę. W tym momencie krew odpłynęła Zigiemu z mózgu w zupełnie inne miejsce. Spocony, Zigi na szybko napisał bardzo ogólnikowego maila, wyłączył telefon, żeby Steve nie mógł się z nim skontaktować i czym prędzej poszedł do domu.

Następnego dnia, Zigi z niepokojem czytał maila do swojego kolegi z zza ocenau. Steve pisał, że sprawdził główną funkcjonalność aplikacji, następnie obsługę błędów na wszystkich stronach oraz zostawił włączoną aplikację, tak aby sprawdzić, czy dalej będzie działać po 24h nieprzerwanej pracy. Dodatkowo wysłał skan swoich notatek, gdzie spisał swoje spostrzeżenie, obszary warte ponownego sprawdzenia i wnioski. Poziom zdenerwowania Zygfryda rósł z każdym kolejnym czytanym zdaniem. Jego kolega ze Stanów był w tym momencie od niego lepszy. Przeprowadził lepsze testy i dał dużo lepszy feedback na temat swojej pracy. Zdenerwowany, ale z drugiej strony nieco zrezygnowany Zigi odpalił Google i wpisał nową frazę do wyszukiwarki: how to test using exploratory tests books…

 

Różowy projekt

Zygfryd z niedowierzaniem patrzył na ekran. Ilość odcieni koloru różowego raniła zarówno jego oczy jak i dumę. Dlaczego ja? Dlaczego takie rzeczy zawsze muszą mnie spotykać? –  Niestety pytanie pozostało bez odpowiedzi. Jeszcze tydzień temu myślał, że znalazł niebo na ziemi. Dostał projekt, w którym trzeba było zrobić i przetestować porównywarkę zdjęć kobiet w bikini. Projekt życia. Gołe laski na ekranach monitorów w pracy i to za pozwoleniem szefa! Lepszego projektu nie mógł sobie wyobrazić.

Niestety błogostan nie trwał długo. Raptem dwa dni po rozpoczęciu projektu, przyszedł PM i oznajmił, że jedna osoba będzie oddelegowana do innego projektu. Sklep internetowy kucyków Ponny i i innych zabawek w kolorze różowym. Tak. Klient, a właściwie klientka, wymarzyła sobie sklep, gdzie można kupić zabawki tylko w kolorze różowym. Gdy Zigi pierwszy raz zobaczył kobietę, odpowiedzialną za ‘’różowy projekt’’, omal nie spadł z krzesła. Kobieta 40-50 lat, tleniona blondi z mózgiem wielkości ameby. Pieniądze ma od mężusia, a nadmiar wolnego czasu wykorzystuje na solaria i masaże. Co spowodowało, że zachciało jej się własnego biznesu? Tego prawdopodobnie nigdy się nie dowie. A dlaczego to właśnie on musiał trafić do różowego piekła? Bo kamień bije nożyczki…

Zygfryd z niesmakiem oglądał skaczące po ekranie kucyki i jednorożce. Strony dosłownie nie dało się oglądać, jednak klienta była zachwycona dotychczasowym efektem. Abstrahująca od wyglądu, ile błędów może być w sklepie internetowym? Tyle co zawsze. Pod tym względem projekt nie odbiegał od innych. Największy problem Zigi miał z kolorami. Jako typowy mężczyzna rozróżniał trzy: fajny, brzydki i ch*jowy. Tymczasem na samej stronie głównej, według specyfikacji (jeśli można tak nazwać opowiastkę Blondi, jak strona ma wyglądać), miał trzy odcienie różowego. Zrezygnowany odłożył testy UI na bok i jeszcze raz sprawdził działanie koszyka.  Kategoria: dodatki…uprzęże dla kucyków…kolor….biały…dodaj do koszyka….cena się zgadza, ilość też. Idź dalej…kategoria jednorożce…ku*wa!…dodaj jednorożca…NIE!! Tak dalej być nie może.

Zygfryd zrezygnowany czym prędzej zamknął laptopa i wyszedł z pokoju. Poziom testosteronu znacznie spadł dużo poniżej normalnego poziomu. Musiał odreagować. Czym prędzej poszedł na drugą stronę biura, gdzie stało nowiutkie PS4 PRO. Musiał przyznać, że tym razem szef miał gest. Nowa konsolka i zestaw gier naprawdę świetnie działała jako przerywnik w pracy. Zigi rozsiadł się w fotelu i włączył konsolę. Pół godzinki gry w Street Fightera później mógł spokojnie wracać do swoich obowiązków. Nieśpiesznie i w dobrym humorze ruszył do swojego biurka.

W tym momencie jego telefon odezwał się dźwiękiem, informującym, że SMS dotarł na pokład. Zigi odblokował ekran i zaczął czytać. Dobry humor jak szybko przyszedł tak szybko odszedł. Krótka wiadomość tekstowa informowała go, że za godzinkę przyjedzie Blondi z nowym pomysłem na sklep. Tym razem będzie to muzyczka, która będzie towarzyszyć klientom będącym na stronie. Już na samą myśl o potencjalnych piosenkach, które będzie musiał przesłuchać, Zigi poczuł, że robi mu się niedobrze. Czym prędzej zawrócił i biegiem udał się z powrotem do ukochanej konsoli. Tym razem pół godzinki grania będzie zdecydowanie za mało.

REST in peace

Cytat

Duszność, nadmierna potliwość i skoki ciśnienia, to tylko niektóre z objawów, jakie towarzyszyły Zygfrydowi tego ranka. Na szczęści szybkie zapytanie do wujka Googla dało jednoznaczną odpowiedź: Nigdy nie diagnozuj się przez Internet. Zigi wyjrzał za okno. Gęsta mgła ograniczała widoczność raptem do paru metrów. Temperatura na termometrze też nie napawała optymizmem. Całe szczęście, że dzisiaj pracował z domu. Nikt nie będzie go musiał oglądać jak testuje najnowszy wynalazek developerów. Trzy literki, z którymi nigdy wcześniej nie miał do czynienia. API

Niby nic wielkiego, przecież zrobił solidny research jeśli chodzi o Web Services, API, zapytania RESTowe, Jsony itp., jednak nutka niepokoju dalej pozostała.

-No nic jedziemy z tym koksem- spróbował zmotywować się w myślach, po czym odpalił PC.

Tym razem Windows zdawał się współpracować bez przeszkód. Już po chwili oczom ukazała się standardowa tapeta. Zigi co prawda tęsknił za łąką z wcześniejszych wersji Windowsa, ale dzisiaj nie miał ochoty na kolejną bezproduktywną dawkę narzekania. Z drżeniem serca odpalił przeglądarkę i zaczął wpisywać adres. http://api…someaddress…com/survey….$startDate=2016-01-02&endDay=2016-01-10 …enter! Chwila oczekiwania i błąd 404 wyświetlił się na jedynej słusznej przeglądarce. Zigi pozostał niewzruszony. Nie z takimi problemami sobie radził, a chwilowy brak Internetu, to nie jest problem nie do rozwiązania. Szybka diagnoza: odłączony kabel. Czas naprawy: 30 sekund. Pora na próbę numer dwa. http…api…survey…startdday…enter! Tym razem zapytanie zwrócił dziwny ciąg znaków:

{„value”:92,”success”:true,”error”:null}

Chwila zadumy, zerknięcie do notatek, ponowne przejrzenie maili…chyba dobrze. W odpowiedzi Zigi dostał dokładnie to czego chciał! Ilość osób, które w ankiecie podały, że podobało im się szkolenie. Zygfryd uśmiechną się do swojego odbicia w monitorze. Jednak nie było tak źle. Czas na przerwę. W końcu pierwsze osiągnięcie zostało zdobyte. 15 minut później przyszedł czas na dalsze testowanie.

Tym razem tester sprawdził pozostałe zapytania. Wszystkie zwracały jakiś wynik. No właśnie jakiś… Z tego co pamiętał, wyświetlane wartości pobierane były z bazy danych. Nietaktem byłoby nie sprawdzić, czy to, co wyświetla JSON zgadza się ze stanem rzeczywistym. Szybkie zapytanie do bazy danych: SELECT…FROM, WHERE…enter! Dla tego samego zakresu dat zapytanie zwróciło 164 zamiast 92. Ciekawe…to może oznaczać tylko jedno. BUG! Jego pierwszy błąd, znaleziony na testowanie back-endu! I to w ciągu pierwszej godziny testów. Zigi nie posiadał się z radości. Na szczęście Jira działa jak należy. Szybkie zgłoszenie i można wracać do testowania.

Tym razem Zigi sprawdził zachowanie przy nietypowych zapytaniach: niepoprawny format daty- działa. Data początkowa późniejsza niż data końcowa – działa. Brak daty końcowej – działa.

Dwie godzinki później wstępne testowanie zostało zakończone. Efekt? Jeden błąd. Słabo.

Jednak tym razem tester cieszył się, że znalazł cokolwiek. W końcu to był jego pierwszy raz z API. Zygfryd oderwał wzrok od monitora i przeniósł swoje zainteresowanie na kartkę z wydrukowanymi wymaganiami. Klient chciał dodatkowo testy obciążeniowe. To akurat uciekło mu, kiedy za pierwszym razem przeglądał dokumentację. W momencie poczuł ścisk w żołądku. Powróciły ranne objawy. Zigi zerwał się i czym prędzej poleciał do łazienki. Duszność, nadmierna potliwość i skoki ciśnienia nagle okazały się nie poważniejszymi objawami tego ranka.

 

Mobilki jak mnie słychać?

Zigi po cichu zakradł się do szafki ze sprzętem. Była godzina 8:01, a od ósmej jest możliwość pobierania sprzętu. Nikt przed nim jeszcze pewnie nie myszkował. Zdecydowanym ruchem pociągnął za uchwyt i otworzył półkę. Jego oczom ukazała się cała gama telefonów. Samsung Galaxy S3, S6, S7, Iphony od 5 do 7, parę Nexusów i LGków. Jego uwagę przykuł jednak Iphone 7 Plus, na którego to właśnie ostrzył sobie zęby. Taki wybór, istny raj dla testera! Klient nie sprecyzował, na jakim sprzęcie chce mieć sprawdzoną aplikację, więc Zigi miał spore pole do popisu. Podniósł Galaxy S7, Iphona 7 Plus i Microsoft Lumie. Tą ostatnią bardziej z ciekawości, jako relikt przeszłości. Obrócił ją klika razy, zważył w dłoni i z szyderczym uśmiechem odłożył na miejsce. Nikt, nie robi aplikacji na Windows Phone’a. Nikt.

Zadowolony z łupów odwrócił się i podszedł do notatnika, gdzie kwitowało się pobrany sprzęt. Był pewny, że jego nazwisko będzie pierwsze na liście. Niestety na pierwszej pozycji widniała Kasia, która pobrała Ipada pro – nieźle. Godzina pobrania: 7:50. „A to jędza!” – wyzywał w duchu Zigi. – „Niby sprzęt pobieramy od ósmej, ale widać znajomości robią swoje. Dobrze, że jego ukochane telefoniki nie zostały zabrane.” Szybko zakończył formalności i wrócił do biurka. Czas zacząć testy.

Jako pierwszy na warsztat poszedł Android. Zigi przytrzymał przycisk parę sekund, jednak na ekranie nic się nie pojawiło. „Znowu ktoś odłożył rozładowany sprzęt” – tym razem swą irytację wyraził już na głos. Później sprawdzi kto wczoraj używał Samsunga i obsmaruje go w mailu. Teraz miał jednak ważniejsze rzeczy na głowie. Wczoraj developerzy wypuścili aplikację zarówno na Androida jak i iOSa. Prosta – raptem kilka ekranów, plus prosty formularz rejestracji. Raczej powinna działać i być łatwa do sprawdzenia manualnego – nie ma sensu automatyzować. Podłączył telefonik do PC i wcisnął ponownie odpowiedni przycisk. Tym razem logo Samsunga rozbłysło na ekranie. Po chwili telefon już był gotowy do testów. Wgranie aplikacji nie przysporzyło żadnych problemów. Pierwszy test z głowy. Instalacja – passed. Później powtórzy to jeszcze parę razy, teraz jednak chciał przelecieć na szybko wszystkie ekrany, aby upewnić się, że basic flow działa bez problemów.  Działa. Programista vs Tester 1:0. Aplikacja wyglądała na dobrze zrobioną.

Teraz mógł na poważnie wziąć się do pracy. Najpierw wykonał scenariusze z wcześniej przygotowanego test planu. Znalazł kilka minorów i dwa majory – nic specjalnego. Wszystko odnotował w Jirze podając kroki potrzebne do reprodukcji, wersję androida i urządzenie. Następny krok to testy eksploracyjne. Szczególnie dumny był z tego, że udało mu się przekonać do nich klienta. Po ostatniej akcji, gdy za ich pomocą znalazł kilka krytycznych błędów, klient chętnie płacił za dodatkowe godziny poświęcone na ten rodzaj testowania. Kilka minut testów i Jira wzbogaciła się o kolejne kilka bugów. Teraz tylko korzystając z zasady „bug clusteringu” dokładniej przejrzy jeden obszar i testy Androida będzie mógł uznać za zakończone. Sześć godzin i dwie kawy później testy były skończone. Rezultaty tez były zadowalające. Aplikacja była dobrze zrobiona, a możliwość bawienia się drogim sprzętem była dodatkowym atutem. Testy w pionie, poziomie, gesty – wszystko sprawdzone. Mizianie telefonu można było uznać za zakończone. Dokończenie formalności zostawi sobie na jutro. Teraz pora na Appla.

Do sprzętu z nadgryzionym jabłkiem Zigi zawsze miał mieszane uczucia. Niby sprzęt był dobry i działa bez zastrzeżeń, jednak z jakiegoś powodu Zygfryd go po prostu nie lubił. Może to przez cenę, może przez to, że sprzęt był uwielbiany przez hipsterów i innych dziwolągów. Tak czy owak przetestować trzeba. Zigi włączył telefon i poczekał na załadowanie się pierwszego ekranu. Jego oczom ukazała się informacja o dostępnej aktualizacji systemu. W tym momencie zadrżał, a jego plecy oblały się zimnym potem. Z drżeniem rąk odłożył IPhone’a i podniósł Galaxy S7. Szybko sprawdził zainstalowana wersję androida. 6.0 Marshmallow. Z rosnącym napięciem otworzył dokumentację, zawierającą wymagania od klienta. Sprzęt nie był sprecyzowany, ale wersja Androida już tak: 5.0 Lollipop. Sytucja nie wyglądała na ciekawą. Jak to się stało, że zapomniał sprawdzić wersji software? Był pewnie, że jeszcze wczoraj zainstalowana była wersja 5.0. Pewnie ktoś bez jego wiedzy i informowania kogokolwiek zaktualizował telefon do najnowszej wersji. Sześć godzin testów do kosza. Trzeba wszystko zaczynać od początku. Zygfryd spojrzał na zegarek – 16: 30, pora oddawania sprzętu. Po tym czasie szafka ze sprzętem była zamykana. Trzeba będzie jutro się sprężyć i przetestować od początku Androida plus iPhona. I tak osoba, która zaktualizowała mu telefon będzie miała ostro przesrane. Tak łatwo tego nie popuści.

Zigi zerwał się z krzesła i pobiegł do szafki. Wyciągnął pierwszy z brzegu telefon z Androidem i wrócił do biurka. Oby ten miał wgraną wersję 5.0. Miał. Wkurzony na maksa wrzucił aplikację i kliknął w ikonkę. Przez chwile zobaczył pierwszy ekran powitalny, po czym aplikacja się wysypała i jego oczom znów ukazał się ekran główny. Pięć prób później efekt był taki sam. Crash aplikacji przy start-upie.

Jutro zapowiada się ciekawy dzień. Pełen nadgodzin. Darmowych nadgodzin…

 

Nić porozumienia

Ból głowy, nudności i potworne pragnienie towarzyszyły z rana Zygfrydowi. Zigi spróbował otworzyć lewą powiekę – skutecznie. Następnie prawą – też skutecznie. Następnie spróbował podnieść się z łóżka, aby spojrzeć na zegarek – nieskutecznie. Kac uniemożliwiał każdy ruch w płaszczyźnie pionowej.

„Więcej nie piję” – skłamał w duchu po raz drugi w tym miesiącu. Takich obietnic składał rocznie przynajmniej dziesięć. Statystyki z wykonania nie były jednak po jego stronie.

Ostrożnie przewrócił się na drugi bok i zrobił głęboki wdech. W sumie wczorajszy wieczór mógł uznać za udany. W końcu udało się wybrać z programistami na wódkę. Po ostatnich ekscesach była to ostatnie droga, która mogła prowadzić do porozumienia. Zigi musiał przyznać w duchu, że nie docenił devsików. Jego obraz typowego nerda, w koszuli, którego jedyną rozrywką jest gra w LoLa zniknął przy trzeciej flaszce. Pozostawało dla niego zagadką, skąd u nich taka mocna głowa.

Wódka nie tylko poprawiała humory, ale i rozwiązywała języki. Udało im się wyjaśnić wszelkie wątpliwości, które mieli do jego ostatnio zgłoszonego błędu. Ustalili też priorytety na następny Sprint i w gruncie rzeczy Zygfryd nic więcej nie pamiętał.

Jedyne co na stałe wyryło się w jego pamięci to obraz dziewczyny jednego z programistów. Laska 10/10. Po prostu śliczna. Pewnie leci na hajs.- Zastanawiał się. W końcu Senior Java Developer musi dobrze zarabiać. Zresztą na co innego miała lecieć? Na kawały o testerach, koszule flanelową czy ilość zdobytych odznak w GTA? Zigi wiedział, że byłby dla niej lepszą partią. W końcu nie raz ratował świat znajdując krytyczne błędy na godzinkę przed wypuszczeniem softu na produkcję. „Kapitan tester” – to brzmi dumnie.

Powoli Zygfryd obrócił się na drugi bok. Ból głowy nie ustępował, chociaż objawy helikoptera jakby osłabły. Ponownie wrócił myślami do wczorajszego spotkania. Okazało się, że testerzy i programiści mieli wiele wspólnego. Oboje mieli kolegów, którzy znali większość gwiazdek porno, lubili jakiś tam sport ( przynajmniej oglądać w TV) oraz jak się okazało – wypić. I to dużo wypić. Jak normalny Polak. Wódkę. Od teraz nigdy już nie powie o nich złego słowa. Po prostu zamiast pisać maila, będzie chodził z nimi chlać. Metoda dobra jak każda inna.

W pokoju rozległ się dźwięk wibracji w telefonie. Pewnie znów coś od niego chcą w pracy. Na szczęście mógł dzisiaj spać ile chciał. W końcu pracował zdalnie.

Zadowolony przewrócił się na plecy zamierzając spróbować chociaż przespać się jeszcze godzinkę. „Kapitan tester” – wybełkotał. „Więcej nie piję” – skłamał po raz trzeci w tym miesiącu, po czym usnął.

Manualny automat.

Zigi zacisnął zęby i z grymasem na twarzy wcisnął przycisk „zrestartuj” na swoim komputerze. Po pięciu godzinach testów i milionie otwartych zakładek w Firefoxie, Windows 10 odmówił posługi. „Już ja im pokaże!” – w myślach motywował się Zygfryd. Ci idiocie (zdecydowanie nadużywał tego słowa w stosunku do współpracowników) znów chcieli pójść w automatyzację, zamiast porządnie przetestować produktu za pomocą testów eksploracyjnych. Na nic zdały się godzinne kłótnie o marnowaniu effortu, nieopłacalności pisania testów dla produktu, który pewnie jeszcze z 10 razy się zmieni. On jedno, Manager drugie. 20 godzin na implementację, 5 godzin na stabilizację w sumie 25 godzin pracy automatyków i testować będzie się „samo”.

Zigi był przeciwnego zdania. Może i w 20 godzin napisaliby test, który sprawdzałby co potrzeba, ale oczywiście testy musiały być pisane „zgodnie z dobrymi praktykami programistycznymi:.

Page Object Pattern.

Czyli jak test na 100 linijek kodu napisać w 500. Ponadto znając specyfikę produktu, wiedział, że testy wysypywać się będą z powodów niestabilnego środowiska. Ale jak zwykle nikt go nie słuchał. Jedyne, co mu się udało wywalczyć to 6 godzin, które mógł poświęcić na przetestowanie produktu aby udowodnić, że sam znajdzie więcej błędów manualnie, niż ten, pożal się Boże, automat.

Po 5 godzinach testów jego lista z błędami była imponująca. Bez tracenia czasu na test plany, test casy i dokumentację, efekty pracy przerosły jego oczekiwania. „Będą poprawiać te bugi przez miesiąc” – uśmiechnął się do własnych myśli. Doświadczenie robiło swoje. Zygfryd wiedział, gdzie należy poświęcić więcej czasu, gdzie kliknąć a gdzie tylko pobieżnie sprawdzić, czy wszystko działa. Jedyne czego miał dosyć, to wypełnianie n-ty raz tego samego formularza, żeby móc przejść do następnej strony. Tutaj honory oddawał automatom, które zrobiłyby to dużo szybciej. Jednak wynik ostateczny mógł być tylko jeden. Automaty wykonują tylko zaplanowane zadania, żaden automat nie wykryje spadku wydajności na trzeciej stronie, po kliknięciu w przycisk „dodaj”. Z tego błędu Zigi był szczególnie zadowolony.

System operacyjny właśnie się włączył. Zygfryd chwycił za myszkę i zabrał się za testy. Z pokoju obok w tym momencie słychać było tylko: „Kur*wa dlaczego to nie działa!”.

„Idioci”- cynicznie zaśmiał się Zigi i kliknął dwa razy w logo przeglądarki.

Na ratunek – żona.

Zygfryd nerwowo stukał w klawisze. Już drugą godzinę testował najnowsze wypociny tych głąbów z piętra wyżej zwanych programistami. Nie przepadał za nimi. Otwarcie i z wzajemnością. Rutyną stało się, że co poniedziałek puszczał ten sam test i znajdywał ten sam błąd. „Jak można być takim idiotą i za każdym razem robić te same pomyłki? ” — westchnął w duchu. Co prawda podbijało mu to statystyki, ale miał już tego serdecznie dość.

Tym razem jednak developerzy dali z siebie wszystko. Dwie godziny testów i ani jednego błędu. Nawet głupiej literówki nie udało się znaleźć. Trzy wersje językowe, kilkanaście przycisków i pól do wpisywania tekstów i wszystko działa. Walidacja ilości znaków – działa, obsługa błędów-działa, znaki szczególne, SQL injection, klikanie jak oszalały  kilkadziesiąt razy w jeden przycisk- wszystko działa. Zdesperowany kliknął w przycisk wyślij i przeciągnął go na pole tekstowe. Ku jemu zdziwieniu w polu pojawił się jakiś tekst, „wygląda na link”- pomyślał -„Ale na buga się nie nadaje.”

Bliski rezygnacji, Zigi odepchnął krzesełko, na którym siedział, od biurka. „Potrzebuję przerwy” -powiedział na głos. Z głośników z laptopa leciał muzyka z przypadkowej playlisty. Zamknął oczy i myślami przywołał nową praktykantkę, która wczoraj zaczęła staż w firmie, gdzie pracował. Z letargu wyrwało go głośny i sarkastyczny głos żony.

-Znowu klikasz w te swoje guziczki – powiedziała. – Wziąłbyś posprzątał to biurko, syf taki, że nawet nie masz gdzie myszki położyć.

Tym razem nie zaszczycił żony odpowiedzą. Zrezygnowany westchnął. 10 lat w branży, 3 certyfikaty, doświadczenie w testowaniu mobilek, API, automatyzacja, a jego żona wciąż powtarzała wszystkim dookoła, że jej mąż zawodowo klika w guziczki. Zero szacunku dla człowieka pracy.

Z głośnika zaczęły lecieć pierwsze takty piosenki z filmu „Suicide Squad”.

-Ooo uwielbiam tę piosenkę, dam głośniej! – poinformowała kochająca żona i bez pytania kliknęła na klawiaturze F12, na którym narysowany był głośniczek.

-Zostaw bo zespu…-Zigi zatrzymał się w pół słowa. W momencie, gdy Kasia klikała w przycisk otwarta była przeglądarka Chrom, w której Zigi testował aplikację. To co zobaczył od razu wywołało zmianę nastroju.

-„RESPONSYWNOŚĆ!”

Krzyknął i czym prędzej wrócił do pracy. Po wciśnięciu F12 w przeglądarce otworzyła się strona w widoku jak na urządzeniach mobilnych. „No jasne, jak na to nie wpadłem!”–skrytykował sam siebie w duchu. „Przecież klient coś wspominał, że strona ma się ładnie prezentować, zwłaszcza na nowym Galaxy S7” –pomyślał.

Tymczasem to co zobaczył w przeglądarce to istne testerskie eldorado. Właście żaden przycisk nie był tam gdzie być powinien, a większość tekstów nachodziła to na siebie, to na obrazki.

-Wracamy do gry!- powiedział na głos zadowolony z siebie i z ochotą otworzył Jirę do raportowania błędów.