O pracy testera słów kilka

J

eszcze kilka lat temu praca testera aplikacji była niedoceniana. Często rola testów znajdowała się na marginesie projektu, a czasem była wręcz pomijana. W ostatnich latach tendencja ta zaczęła się zmieniać. Istotność testów coraz częściej stoi na równi z pracami programistów, a biznes zaczyna dostrzegać wagę testów w projektach.

Jak wygląda codzienna praca testera i jego odpowiedzialność w projekcie oraz z jakich narzędzi korzysta ? Na te pytania postaram się odpowiedzieć w dalszej części artykułu.

Praca testera rozpoczyna się już na pierwszym spotkaniu inicjującym projekt, tzw. kickoff meeting. Wtedy zespół zostaje wprowadzony w tematykę projektu, otrzymuje dokumentacje oraz inne informacje niezbędne do zapoznania się ze specyfiką projektu. Spotkanie takie czasem jest pomijane, członkowie zespołu otrzymują wcześniej dokumentacje, a po zapoznaniu się z materiałami rozpoczyna się pierwsze planowanie. Już wówczas zarówno tester jak i pozostali członkowie zespołu posiadają przynajmniej ogólną wiedzę o projekcie i powinni potrafić zaplanować pierwszy sprint. Już na etapie czytania dokumentacji tester powinien planować przypadki testowe. Takie podejście pomaga przygotować się do planowania kolejnych sprintów oraz prac nad konkretnymi zadaniami. Po spotkaniu planistycznym, z którego zespół wychodzi z rozpisanymi user story, rozpoczyna się podział user stories na taski. To głównie zadanie programistów, ale dobrze jest jeśli w tym procesie uczestniczy również tester. Pozwala mu to na bardziej wnikliwe zapoznanie się z kolejnymi obszarami projektu. Tester, biorąc udział w analizie każdego zagadnienia, chłonie wiedzę od programistów, ale również zgłasza swoje uwagi bądź sugestie związane ze sposobem realizacji poszczególnych zadań. Takie podejście niejednokrotnie pozwala uniknąć różnych nieporozumień, np. dotyczących odpowiedniego podziału zadań oraz kolejności ich realizacji, tak aby tester na każdym etapie mógł testować kolejne zadania, bez zbędnego oczekiwania.

Realizacja kolejnych zadań w projekcie to często żmudna praca. Rozpoczyna się od analizy dokumentacji, przypadków użycia, poszczególnych zadań, w końcu testy, aż do wdrożenia na produkcję. Tester uczestniczy w pracach projektowych począwszy od analizy dokumentacji i realizacji zadań projektowych, kończąc na wdrożeniu. Najczęściej pierwsze wdrożenie nie jest ostatnim, a w międzyczasie dochodzi utrzymanie, czyli dbanie o zachowanie stabilności aplikacji na każdym etapie, pomiędzy każdym wdrożeniem i po wdrożeniu. Utrzymanie, nazywane najczęściej wsparciem, to reagowanie na zgłaszane błędy, uwagi klienta bądź członków zespołu, którzy zauważyli jakieś nieprawidłowości. Rolą testera jest weryfikacja ewentualnych zgłoszeń, a po poprawieniu aplikacji przetestowanie poprawności realizacji zadań.

Testowanie- co to takiego?

Jak wygląda testowanie aplikacji? Testowanie to przede wszystkim sprawdzenie poprawności wykonania zadania, zgodności ze specyfikacją. Sprawdzając dane zadanie, często należy sprawdzić również inne funkcjonalności, na które zmiana mogła wpłynąć. Kontrolowanie innych funkcjonalności daje testerowi pewność, że realizacja konkretnego zadania nie wpłynęła negatywnie na inne obszary aplikacji.

Takie sprawdzanie innych funkcjonalności nazywa się testami regresyjnymi. Mają one na celu potwierdzenie poprawnego działania funkcjonalności, które zostały już wcześniej wdrożone.

W swojej codziennej pracy tester musi zadbać o to aby aplikacja działała poprawnie na różnych przeglądarkach, na urządzeniach mobilnych, w specyficznych sytuacjach również na różnych systemach operacyjnych.

Dodatki do przeglądarek

Tester ma do dyspozycji również różne narzędzia, które wspomagają proces testowania. Są to przede wszystkim dodatki do przeglądarek, rozszerzające funkcjonalności przeglądarek o nowe możliwości. Za pomocą takich dodatków tester ma możliwość np. przeglądnięcia komunikacji przeglądarka (klient) <=> aplikacja (serwer).

Testy automatyczne

W utrzymaniu stabilności aplikacji na każdym etapie rozwoju, jak również po wdrożeniu, pomagają testy automatyczne. Najprostsze testy automatyczne można wykonać za pomocą dodatku do przeglądarki o nazwie Selenium IDE. Dodatek ten pozwala na nagranie kroków testu i odtwarzanie testu na żądanie.

Testy automatyczne, które dają dużo więcej możliwości są pisane za pomocą jednego z języków programowania, np. Java. W tym przypadku wymagana jest już znajomość programowania, czasami również obsługi baz danych.

Jenkins

Kolejnymi narzędziami spotykanymi w pracy testera są narzędzia wspomagające proces dostarczania oprogramowania (wgrywania aplikacji na poszczególne środowiska testowe i produkcyjne, uruchamianie testów automatycznych). Narzędziem takim jest np. Jenkins, za pomocą którego cały proces jest zautomatyzowany i przejrzysty.

Jenkins jest narzędziem, za pomocą którego można uruchamiać np. proces budowania i wdrażania aplikacji (tzw. deployment) oraz uruchamiać testy automatyczne. Każdy z tych elementów (deployment, testy automatyczne itd.) nazywa się zadaniami. Zadania te po zakończeniu są odpowiednio raportowane.

Raport z testów dostarczany jest np. mailem lub sms-em do zainteresowanych osób. Proces taki pozwala na znacznie mniejsze zaangażowanie ludzi poprzez większe wykorzystanie automatyzacji.

Co nam daje automatyzacja ww. procesów ? Przede wszystkim obniżenie kosztów dostarczenia projektu, jego obsługi powdrożeniowej, przy jednoczesnym stałym monitoringu zadań.Raporty pozwalają na stałą kontrolę stabilności aplikacji i dostarczają informacji o pojawiających się defektach. Automatyczne testowanie aplikacji może odbywać się 24 godziny na dobę przez 7 dni w tygodniu z minimalnym zaangażowaniem człowieka. Człowiek w tym procesie ma jedynie za zadanie reagowanie na błędy pojawiające się w raportach. Zadania mogą być uruchamiane ręcznie na żądanie lub wyzwalane automatycznie za pomocą tzw. crona (program do cyklicznego uruchamiania zadań).

Testy obciążeniowo-wydajnościowe

Kolejnym obszarem, o którym chcę napisać są testy obciążeniowo – wydajnościowe. Są to testy, za pomocą których tester może sprawdzić jak aplikacja reaguje na duże obciążenie. Duże obciążenie to przede wszystkim duża liczba użytkowników korzystających z aplikacji w określonym przedziale czasu. Do tego typu testów wykorzystywane są narzędzia, które pozwalają na symulację wielu użytkowników. Taką aplikacją jest np. JMeter. Można w niej między innymi ustawić liczbę użytkowników korzystających z aplikacji, czas wejścia wszystkich użytkowników oraz liczbę powtórzeń cyklu.

Po uruchomieniu testu można śledzić jego postępy oraz przede wszystkim pojawiające się błędy oraz aktualne czasy wykonywania. Dzięki tym danym możemy obserwować jak zachowuje się aplikacja przy narastającym obciążeniu. W przypadku, gdy pojawia się coraz więcej błędów, a czasy zaczynają się znacznie wydłużać, oznacza to, że osiągnięty został próg, przy którym aplikacja staje się mało wydajna. Wówczas należy sobie zadać pytanie czy to jest to czego oczekiwaliśmy, czy chcemy aby aplikacja była bardziej wydajna. Wina jednak często nie leży po stronie aplikacji, a również po stronie infrastruktury serwerowo – sieciowej. Bywa jednak tak, że aplikacja sobie nie radzi z dużą liczbą użytkowników i należy ją odpowiednio zoptymalizować.

Testy bezpieczeństwa

Ostatnim tematem, o którym chciałem jedynie wspomnieć, są testy bezpieczeństwa. Są to testy, które polegają na sprawdzaniu podatności aplikacji na różne typy ataków hakerskich. Testy te są bardzo skomplikowane i potrzebna jest tutaj bardzo specjalistyczna wiedza i narzędzia. Tym obszarem testów zajmują się najczęściej wyspecjalizowane firmy bądź specjalnie do tego celu przeszkoleni testerzy.

Podsumowanie

Mam nadzieję, że udało mi się w przystępny sposób przybliżyć nieco pracę testera, proces testowania aplikacji
oraz pokazać ważność roli testera w projekcie.

Poniższe stwierdzenia niech będą podsumowaniem pracy testera i całego procesu testowego:

  • do testera najczęściej należy ostatnie słowo jeśli chodzi o poprawność realizacji zadań,
  • tester sprawdza i decyduje czy dana funkcjonalność została zrealizowana zgodnie z założeniami projektowymi i działa poprawnie,
  • czasem tester musi powiedzieć “Stop! Aplikacja nie działa poprawnie! Nie możemy jej wdrożyć w zakładanym terminie!” lub “Jest OK! Zielone światło na wdrożenie!”,
  • tester musi posiadać szeroką wiedzę z zakresu projektu, poszczególnych zadań,
  • tester musi posiadać szeroką wiedzę z zakresu różnych technologii, narzędzi wspomagających proces wytwarzania i testowania oprogramowania.

Na zakończenie wyobraźmy sobie projekt bez testera, wdrożenie bez testera, utrzymanie powdrożeniowe bez testera. Wyobraźmy sobie brak możliwości finalizacji zamówienia w sklepie internetowym bo nie miał kto tego sprawdzić po “poprawkach”. Wyobraźmy sobie funkcjonalności, które działały przy poprzednim wdrożeniu, a przy kolejnym przestały działać bo nikt nie sprawdził czy nowe zmiany nie psują dotychczas działających obszarów aplikacji. Wyobraźmy sobie idące za tym straty finansowe.

Podobne wpisy

zobacz wszystkie
News
13.3.2025

Agencja e-commerce Sition dołącza do Strix Group

Strix Group, europejska agencja specjalizująca się w digital commerce, przejęła holenderską agencję e-commerce Sition. Sition to uznana firma, współpracująca z markami takimi jak Fleurop, Intersport, Ten Cate czy Janssen Fritsen. Agencja posiada status Shopware Gold Partner oraz Shopify Plus Partner.
News
13.2.2025

Strix buduje europejskiego giganta digital commerce

Strix, firma wywodząca się z Polski, dokonała historycznego kroku, przyciągając strategicznego inwestora – DELTA Equity Partners. Holenderski fundusz private equity, specjalizujący się w technologiach i usługach profesjonalnych zainwestował w Strix Group, aby przyspieszyć jej ambitny rozwój i pomóc w budowie europejskiego lidera digital commerce.
E-commerce
10.2.2025

Q-commerce – rewolucja w dostawach e-commerce

W ciągu ostatnich lat, oczekiwania konsumentów dotyczące szybkości dostaw znacząco wzrosły. Przyzwyczaili się oni do tego, że zamówienia są realizowane nie tylko sprawnie, ale też bardzo szybko. Ten rosnący trend sprawia, że firmy e-commerce muszą dostosować się do nowych realiów, szukając nowatorskich rozwiązań w zakresie logistyki i obsługi klienta.
E-commerce
29.1.2025

Jak zwiększyć przychody w e-commerce w 2025 roku?

Konsumenci oczekują szybkich, spersonalizowanych i intuicyjnych doświadczeń zakupowych. Równocześnie właściciele sklepów internetowych muszą mierzyć się z presją na redukcję kosztów operacyjnych i efektywność działań. W tym artykule poznasz skuteczne rozwiązania, które pozwolą Ci zoptymalizować procesy biznesowe i zwiększyć przychody w 2025 roku.
News
7.1.2025

2024 rok za nami! Co wydarzyło się w drugiej połowie roku?

2024 rok kończymy z satysfakcją z wykonanej pracy oraz dużym apetytem na to, co przyniesie kolejny rok! Webinary, eventy stacjonarne, publikacje, nagrody, a także integracje zespołowe – to tylko namiastka tego, co działo się u nas w ciągu ostatnich 6 miesięcy. W tym artykule podsumujemy najważniejsze wydarzenia i osiągnięcia drugiego półrocza 2024.