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.