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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

baner z linkiem odsyłającym do strony z ofertą QA (Quality Assurance) na stronie Transition Technologies PSC

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.
Testowanie w jira xray, jira xray testy, jira xray jak działa

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.

grafika z hiperłączem, odsyłająca do testu opisującego automatycznie testowanie w środowisku Jira oraz Xray

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.