Third Party QA Testing z Xray

Zatrudnianie zewnętrznych zespołów QA do weryfikacji produktu stało się powszechną praktyką. Usługa określana branżowo jako Third Party QA Testing zapewnia obiektywne testowanie produktu, ponieważ zespół (testerzy zewnętrzni) nie był zaangażowany w proces jego wytwarzania – nie traktuje produktu osobiście, może więc bez obciążenia emocjonalnego przetestować poprawność kodu. Z artykułu dowiesz się, dlaczego jeszcze warto skorzystać z tej usługi, na czym ona polega i jak Transition Technologies PSC podchodzi do jej realizacji. Zapraszam!
Krytyczne spojrzenie na produkt, w którego rozwój jest się zaangażowanym od początku do końca, jest bardzo trudne. Udział testerów w procesie wytwarzania może powodować, że trywialne defekty stają się mniej widoczne, z czasem wtapiają się oprogramowanie i zostają nieświadomie zaimplementowane. A później wywołują awarię. Można tego uniknąć dzięki usłudze Third Party QA Testing.
Zanim przejdę do dalszej części tekstu, chciałabym od razu podkreślić, że posiadanie własnego zespołu QA nie jest przeszkodą w zatrudnieniu niezależnego zespołu testującego. Zewnętrzny zespół QA, jako niezależny audytor daje gwarancję najwyższej jakości oprogramowania.
Third Pary QA Testing – dlaczego warto?
Decydując się na zlecenie usługi zewnętrznemu zespołowi QA, zyskujesz:
- Obiektywne testy produktu.
- Lepszą jakość – zewnętrzny audytor wychwyci to, na Twój zespół już nie zwraca uwagi.
- Oszczędność – inwestując w QA minimalizujesz ilość poprawek produktu, a Twój zespół może w tym czasie zająć się innym obszarem.
- Przyspieszenie weryfikacji – dzięki np. automatyzacji testów proces weryfikacji przebiega szybciej, odciążając zespół QA np. z czasochłonnych testów regresji.
Nie musisz się też martwić się o bezpieczeństwo, ponieważ podmiot, któremu przekażesz testy, jest prawnie zobligowany do pełnej poufności.
Third Party QA Testing – kiedy się na to zdecydować?
Odpowiedź jest prosta: zawsze, gdy zachodzi potrzeba testowania, niezależnie od tego, czy zleceniodawca posiada swój zespół deweloperski lub testerski, czy chce skorzystać z zewnętrznych, bardziej doświadczonych i niezależnych zasobów.
Żadna z powyższych opcji nie wyklucza się wzajemnie, a wręcz przeciwnie – przy dobrej współpracy może się doskonale uzupełniać – wiedza biznesowa zespołu QA firmy połączone z zespołem Third Party QA wnoszącym niezależną ocenę z perspektywy użytkownika końcowego, daje gwarancję najwyższej jakości oprogramowania.
Third Party QA Testing – jak wygląda praca nad testami dla firmy zewnętrznej?
Transition Technologies PSC to globalny dostawca i integrator rozwiązań IT dla przemysłu oraz biznesu. W strukturach organizacji funkcjonuje zespół QA świadczący usługę Third Party QA, który dzięki doświadczeniu wypracował model działania dla pracy w tym obszarze – i właśnie tym podzielę się w tej części tekstu.
Od przygotowań do testów – krok po kroku
- Zaczynamy od rozmów; komunikacja jest kluczowa, ponieważ ułatwia sprecyzowanie ścieżek i metod pracy, jakie wymagane są przez klienta. Na tej podstawie precyzujemy cele i dobieramy najwłaściwsze metodyki wytwarzania i kontroli jakości oprogramowania.
- Zapoznajemy się z wymaganiami, które są filarem testowania. Weryfikacja pod kątem kompletności i dokładności pozwala na eliminację potencjalnych problemów i rozbieżności już na etapie planowania. A to przyśpiesza i ułatwia pracę na kolejnych etapach, jednocześnie niwelując koszty związane z przestojami.
- Na podstawie zweryfikowanych wymagań opracowany zostaje plan testów, określający zakres, cele i biznesową ścieżkę testowania. Pogłębiona analiza określa najlepsze podejście do testowania, zapotrzebowanie na środowiska testowe i ich ilość oraz narzędzia testowe, które będą najlepsze dla danego zakresu testów.
- Kolejnym krokiem jest konfiguracja środowiska lub środowisk testowych w taki sposób, aby testy były prowadzone w warunkach jak najbardziej zbliżonych do rzeczywistego użytkowania.
- Po przygotowaniu wszystkich powyższych aspektów rozpoczynamy testowanie i weryfikację. Zespół wykonuje testy zgodnie z najwyższymi standardami, które umieszczone zostają w planie testów, pozwalając na jednoczesną weryfikację zarówno wymagań, jak i specyfikacji funkcjonalnej.
Testowanie i weryfikacja
- Rodzaje testów dostosowywane są zarówno do procesu wytwarzania oprogramowania, jak i zaawansowania prac; możliwość wprowadzenia automatyzacji pozwala na szybsze testowanie regresyjne oraz daje przyszłościowe zaplecze, które klient może wykorzystać w dalszym procesie rozwoju produktu.
- Wady lub problemy wykryte podczas testowania są dokumentowane i przekazywane dostawcy oprogramowania w celu naprawy. Dokumentacja jest jasna i szczegółowa, zawiera opis wszystkich etapów niezbędnych do odtworzenia defektu oraz dokumentację pomocniczą, zrzuty ekranu lub nagrania.
- Po usunięciu przez dostawcę usterki wykonywane są retesty, aby upewnić się, że błędy zostały wyeliminowane a poprawione oprogramowanie działa zgodnie z oczekiwaniami.
- Przed ostatecznym wdrożeniem oprogramowania na środowisko produkcyjne, wykonywane są testy akceptacyjne — dzięki nim zespół upewnia się, że produkt spełnia kryteria akceptacji i jest gotowy do wydania. Testy te mogą mieć formę UAT jak i testowania typu alfa lub beta, w zależności od decyzji dostawcy.
Wszystkie procesy testowania są udokumentowane, dając tym samym pewność, że oprogramowanie dostarczone przez dostawcę zostało dokładnie przetestowane i spełnia standardy oraz wymagania organizacji.

Rola Xray w usłudze Third Party QA Testing
Jednym z podstawowych narzędzi, którego używamy jest Xray — aplikacja sprawdzona przez tysiące użytkowników. Jak informuje producent, korzysta z niej ponad 5000 klientów z 70 krajów. Xray integruje się z produktami firmy Atlassian, tj. Jira i Confluence, co sprawia, że zarządzanie testami i defektami jest łatwe, intuicyjne, nie wymaga skomplikowanych szkoleń.
Dlaczego wybieramy Xray? Korzyści:
- Łatwe planowanie i wykonywanie testów.
- Monitorowanie działań związanych z testowaniem bezpośrednio w ekosystemie Atlassian.
- Funkcjonalności dedykowane testom manualnym i automatycznym; narzędzie może być używane w różnych metodologiach testowania, w tym w podejściu BDD.
- Centralizacja wyników testów w środowisku, bez konieczności używania narzędzi zewnętrznych.
- Integracja się z frameworkami takimi jak: JUnit, NUnit, Robot, Behave czy Selenium.
- Xray współpracuje również z DevOpsowymi rozwiązaniami – Jenkins, Bamboo czy GitLab.

Proces testowy w Xray
Na podstawie wcześniejszych analiz i wymagań biznesowych (zwykle w formie Epic lub Story), w narzędziu Xray tworzone są przypadki testowe — Testy. Każdy z Testów może być grupowany w tematyczne Test Sety, które właściwie zdefiniowane (np. dla wybranego Story czy środowiska), dają szybko informację zwrotną o statusie testowanego fragmentu oprogramowania.
Test Sety mogą być wielokrotnie wykonywane dzięki Test Execution, czyli paczce przypadków testowych wykonywanych albo „ad hoc”, albo zgodnie z cyklem wydawania wersji oprogramowania. Zarówno Test Execution, jak i Test Sety (które najłatwiej porównać do zbiorów matematycznych), mogą być ujmowane w Test Planach – które zawierać mogą wiele Test Setów w przypadku globalnych testów dla wydawanej wersji oprogramowania czy też poziomu UAT.
Niezależnie od zaawansowania testów, w każdej chwili możemy monitorować ich postęp oraz generować raporty które, w przejrzysty sposób ukazują rzeczywisty i aktualny postęp procesu testowego. Ich prostota przy jednoczesnej dokładności, sprawia, że mogą być przedstawione klientowi biznesowemu, bez obaw o uchybienia w raportach.
Xray jest narzędziem, które wspiera cały proces wydawania oprogramowania; usprawnia testowanie i raportowanie, oszczędzając czas zarówno na poziomie zespołu QA, jak i managementu. Dzięki intuicyjności jest łatwy w obsłudze i nie wymaga dodatkowego zaangażowania na poznanie narzędzia. Zespół Quality Assurance TT PSC jest jednym z niewielu w Polsce, w którym aż 35% testerów posiada certyfikat Xray Partner, za co otrzymaliśmy wyróżnienie: Xray Partner Awards.

Podsumowanie
Dzięki wieloletniemu doświadczeniu w tworzeniu i testowaniu oprogramowania możemy pewnie stwierdzić – testowanie to nasz konik. Nie robimy podwójnych testów, chyba że wymaga tego klient. Znajdujemy błędy i luki w testach, ograniczając tym samym ryzyko projektowe do minimum. Nie generujemy niepotrzebnych testów, ograniczając tym samym koszt utrzymania zespołu. W zależności od dostawcy – jesteśmy gotowi do automatyzacji, która może być utrzymywana przez nas, lub przez zespół QA klienta. Bazujemy na doświadczeniu i wybieramy najlepsze z możliwych narzędzi wspierających testy – m.in. Xray.
