qTest Manager i Jira – niesamowity tandem w zarządzaniu testami.

paź 19, 2021 | Narzędzia Wsparcia Testów

Płynna współpraca testerów, programistów i analityków, niezależnie od tego, czy realizujesz projekt w Agile czy Waterfall, jest jednym z najważniejszych czynników skutecznego wdrażania oprogramowania. Testerzy potrzebują narzędzia wspierającego specyficzne potrzeby realizacji testów (narzędzie do zarządzania testami) i jednocześnie sprawnie integrującego się z systemami do zarządzania zadaniami, takimi jak Jira. Systemu, który pozwoli na wydajną współpracę między zespołami wytwórczymi bez konieczności zmiany narzędzi preferowanych przez zespoły. W dalszej części tekstu dowiesz się dlaczego tandem qTest Manager i Jira jest niezastąpiony w tej współpracy.

Problem zarządzania testami z poziomu narzędzia do obsługi zgłoszeń (np. Jira) ma swoje źródło w tym, że „test” jako taki, nie jest typowym zgłoszeniem. Mimo całej elastyczności Jira nie ma sposobu na wydajne zarządzanie testami, jeśli chce się bazować tylko na flagowej instancji od Atlassian. Potrzebujemy do tego dodatkowych narzędzi w formie pluginów lub dedykowanego oprogramowania zewnętrznego. Świadomy wybór odpowiedniego rozwiązania ułatwi nam zarządzanie całym procesem testowym.

Jira nie tylko w projektach IT

System Jira firmy Atlassian jest bardzo popularnym narzędziem w świecie IT. Za pomocą Jira zarządzamy obszarami tworzenia i wdrażania oprogramowania. Uniwersalny charakter narzędzia powoduje, że można wykorzystywać jego możliwości także w zarządzaniu projektami biznesowymi.

Ponadto, coraz częściej tak to przedstawia sam producent — australijski Atlassian, użytkownicy wykorzystują Jira nie tylko w obszarze IT. Wykorzystują ją w działach HR, marketingu oraz wszędzie tam, gdzie wiele osób realizuje projekty (nie tylko informatyczne).

Specyfika systemu Jira

Zgłaszanie zadań w systemie Jira jest bardzo czytelne i ułatwia intuicyjne zarządzanie nimi. Zarejestrowane zadania (z ang. „issues”) mogą mieć różne predefiniowane typy (issue types), którymi zarządzamy w ramach projektów.

Osoby odpowiedzialne za zarządzanie projektem w konkretnym obszarze mogą bazować na domyślnych (defaultowych) ustawieniach systemu. Mogą też same skonfigurować takie typy zadań, które najlepiej będą odpowiadały ich wymaganiom.

System Jira pozwala skonfigurować issue types na różne sposoby, m.in. poprzez modyfikację pól dostępnych na formatkach, oznaczenie ich obowiązkowości czy reguł obsługi w ramach workflow całego procesu. Możemy również kontrolować zakresy uprawnień dla poszczególnych użytkowników w systemie.

Realizacja zadania w Jira ma swoje etapy, które znajdują odzwierciedlenie w postaci statusu realizacji. Statusy te najczęściej opisują cały cykl: od zgłoszenia do zamknięcia zadania. Choć zadania mogą być również złożone i zapętlone, to zazwyczaj każde ma swój początek i koniec. Ta specyfika Jira dobrze wpisuje się w problematykę obsługi defektów. Jest jednym z powodów dużej popularności stosowania tego narzędzia w kontekście zarządzania błędami.

Spora elastyczność Jira pozwala na modyfikację praktycznie każdego obszaru według swoich specyficznych wymagań. Dzięki temu działy IT są w stanie zaprojektować nawet cały proces release management (proces wytwórczy), wykorzystując do tego platformę Atlassian.

Choć możliwość konfiguracji prawie każdego elementu w systemie Jira stwarza wrażenie, że można ją wykorzystać do wszystkiego, to uniwersalność tej platformy ma jednak swoje ograniczenia, które warto znać i rozumieć. Dzięki temu integracja narzędzi zewnętrznych oraz pluginów będzie dokonywana świadomie, a efekty będą zgodne z założeniami.

Jira do zarządzania testami

Jira nie jest typowym narzędziem do zarządzania testami. Nie została stworzona w tym celu. Jej wielka elastyczność sprawia, że może zostać zaadaptowana do procesów testowych. Jest to o tyle wygodne, że pozostałe produkty firmy Atlassian, takie jak np. serwer ciągłej integracji (CI) Bamboo są dobrze zintegrowane z tym systemem.

Niestety wspomniane wyżej flow zadań w Jira (kolejne statusy od zgłoszenia do zamknięcia zgłoszenia) nie pasuje do specyfiki testowania. O ile szablon przypadku testowego może mieć proste flow (np. to do -> in progres -> done -> archieved), to jego uruchomienie już wcale nie jest takie proste.

Podczas uruchamiania przypadku testowego śledzimy status testów (passed, failed, a czasem więcej statusów, np. not run, blocked, etc.). Tester ten sam przypadek testowy może uruchamiać wielokrotnie z różnych powodów. Jednocześnie z perspektywy śledzenia postępu testów istotna będzie informacja o tym, jak statusy zmieniały się w czasie. Mimo tego, że Jira śledzi historię zmian statusów, to przygotowanie podstawowego z perspektywy zarządzania testami wykresu postępu testów jest niemożliwe. 

Dla wygenerowania w Jira tego i innych specyficznych dla testów raportów konieczne jest dokupienie dodatkowych pluginów bądź skorzystanie z możliwości, jakie dają narzędzia zewnętrzne, np. qTest.

Specyfika Jira a grupowanie testów

Przypadki testowe często grupuje się w logiczne zestawy. W takiej sytuacji zazwyczaj interesuje nas status całego zestawu testów. Jeśli nałożymy na to wymiar wielokrotnego uruchamiania testów w ramach zestawu, to okaże się, że zagadnienie nie jest proste do obsługi z pomocą standardowych funkcjonalności Jira.

Innym problemem wykorzystania Jira do zarządzania procesem testowym jest specyfika wyszukiwania treści. Zasadniczo Jira ma płaską strukturę informacji i wszystkie zaraportowane w niej zgłoszenia są traktowane równorzędnie. Eksploracja bazy danych dokonuje się językiem podobnym do SQL — Jira Query Language (JQL).

W przypadku listy zgłoszeń np. defektów nie stanowi to problemu. Jeśli jednak chodzi o testy, to potrzebujemy agregacji informacji w katalogi. Brak drzewa katalogów w Jira utrudnia grupowanie testów w zestawy powiązane ze sobą logicznie. Zamiast tego filtr systemu Jira wyświetla nam kolejne przypadki testowe.

Mamy zatem co najmniej kilka niedogodności związanych z wykorzystaniem Jira do zarządzania testami:

  • Status przypadku testowego może być rozumiany jako status projektu testów lub wynik wykonanego testu.
  • Wielokrotnie uruchamiane testy mają inny charakter niż typowe zadanie obsługiwane w Jira.
  • Brak możliwości przygotowania podstawowych z perspektywy testowania raportów, np. raportu postępu testów.
  • Brak drzewa katalogów, co utrudnia grupowanie testów i zarządzanie nimi.
  • Testy uruchamiane są wielokrotne i generują w związku z tym dużą ilość rekordów w bazie. Więcej informacji o tym problemie znajduje się w dalszej części artykułu.

Jira test management, czyli jak zrobić z Jira platformę do zarządzania przypadkami testowymi

Opisane zagadnienia stanowią istotną przeszkodę do zaimplementowania procesu zarządzania testami wprost do Jira. Dokonuje się zatem zmian w systemie lub wykorzystuje gotowe pluginy, które mają ułatwić zarządzanie procesem testowym. Zawierają one m.in. szablon struktury, na podstawie której organizuje się proces zarządzania testami.

Dostępne pluginy zazwyczaj przeznaczone są dla projektów określonego rodzaju i mają swoją specyfikę zastosowania. Dla niewielkich projektów o mało sformalizowanym charakterze próbuje się konfigurować Jira w ramach jej podstawowych funkcjonalności. Takie rozwiązanie nie jest w stanie zaspokoić potrzeb zarządzania testami w średnich czy dużych projektach. Dlatego na rynku jest zdecydowanie większa oferta rozwiązań dla złożonych projektów, które wymagają sporego nakładu pracy na zarządzanie testami. Sprawdzają się w przypadku zarządzania procesem testowym w dużych projektach. Jednakże trudno z nich korzystać, pracując choćby w ramach metodyki zwinnej (Agile). Jeszcze trudniej zarządzać testami w Jira, gdy organizacja realizuje część projektów zwinnie, a część klasycznie.

Spadek wydajności instancji Jira

Uruchomienie zarządzania testami na Jira jest świetnym pomysłem, dopóki automatyzacja procesu testowego w połączeniu z narzędziem integrującym system Jira nie spowodują, że cały produkt firmy Atlassian krytycznie zwolni.

Dostępne na rynku rozwiązania mogą wykorzystywać zarówno bazę danych Jira, jak i własną bazę zintegrowaną z Jira. Skorzystanie z własnej bazy danych zintegrowanej z Jira niestety uniemożliwia korzystanie z JQL, utrudnia generowanie raportów z testów oraz może tworzyć problemy już na samym etapie integracji z instancją Jira.

Wykorzystanie bazy danych dostarczanej przez Jira umożliwia wyszukiwanie zgłoszeń za pomocą JQL. Ma jednak zasadniczą wadę: ograniczenia pamięci masowej powodują problemy z możliwością skalowania naszych zadań testowych.

Testy uruchamiane są zazwyczaj wielokrotnie (również wielokrotnie przerywane i wznawiane). Tym samym jeden test potrafi wygenerować wiele rekordów w bazie Jira. Struktura bazy Jira nie jest przygotowana na obsługę takiej ilości danych, co może skutkować szybkim spadkiem wydajności całej instancji.

Testowanie automatyczne jeszcze bardziej komplikuje zarządzanie całym procesem. Pozwala przeprowadzać o wiele więcej testów niż w przypadku testowania ręcznego, generując przy tym ogromne ilości informacji. W miarę jak gromadzą się dane, szybko rozrasta się baza danych – w sposób nieprzewidziany przez producenta. Z tego względu cała instancja Jira staje się bardziej podatna na obniżenie wydajności. Przestoje i awarie mają wpływ na każdego użytkownika Jira w całej organizacji. Według badań Tricentis proces spowolnienia systemu następuje w zaledwie 14 tygodni przy wykonaniu ok. 100 tys. testów.

Jak negatywny wpływ ma spadek wydajności i awarie Jira możemy sobie wyobrazić, zdając sobie sprawę z faktu, że niemal wszystkie procesy wytwórcze oprogramowania wydarzają się również w obszarze tej platformy.

Rys. 1. Spadek wydajności instancji Jira w wersji serwerowej lub Jira Data Center po zaimplementowaniu pluginów bez własnej bazy danych.
Źródło: www.tricentis.com

Wydajne narzędzie do zarządzania testami na Jira

Wśród dostępnych pluginów brakuje rozwiązań uniwersalnych do projektów dużych i małych. Realizowanych różnymi metodykami i nieobciążających systemu Jira w krytyczny sposób. Oczywiście istnieje kosztowna możliwość uruchomienia większej ilości maszyn Jira Data Center, aby sprostać wymaganiom procesu zarządzania testami (skalowanie kosztuje). Wydaje się to praktycznym rozwiązaniem w przypadku zespołów opierających swoją pracę testową na testach ręcznych.

Automatyzacja testów powoduje wzrost wykładniczy ilości danych. Co za tym idzie, kluczowe jest znalezienie narzędzia, które nie będzie powodować awarii i opóźnień ani, co gorsza, zatrzymywać całego cyklu życia oprogramowania.

qTest Manager i Jira – integracja

qTest Manager to odrębne narzędzie, które w całości powstało jako narzędzie do zarządzania testami. Ma wbudowane rozwiązania odpowiednie dla każdego projektu oraz każdego podejścia do procesu wytwórczego. Niezależnie od tego, czy realizujemy projekty kaskadowo (Waterfall) czy zwinnie (Agile).

Integracja qTest Manager i Jira obejmuje:

  • Import i aktualizację wymagań z Jira do qTest.
    Na etapie konfiguracji połączenia projektu w Jira z projektem w qTest określa się, jakie issue types z Jira interpretowane są przez qTest jako wymagania.
  • Import i aktualizację informacji o defektach.
    Zarządzanie nimi i zgłaszanie odbywa się w oknie Jira, wywoływanym z poziomu qTest (pop-up).
  • Eksport do Jira i aktualizację informacji o statusie testów poszczególnych wymagań.

Z perspektywy użytkownika wygląda to tak, że tester w ogóle nie musi się logować do Jira. Jedynym narzędziem, z którego korzysta jest qTest Manager. Osoby obsługujące proces wytwórczy mają ten sam komfort, korzystają tylko z Jira. W efekcie i tak wszyscy mają ten sam ogląd sytuacji, dzięki czemu informacja jest kompletna.

W konsekwencji testerzy, test managerowie mogą wykonać 100% swojej pracy, korzystając z jednego narzędzia qTest. Analitycy i zespół developerski mogą całość swojej pracy wykonywać w Jira.

Kluczem do nieprzeciążania wydajności instancji Jira jest sposób integracji Tricentis qTest Manager z Jira. qTest został zbudowany tak, aby był skalowalny z potrzebami zespołu wykonującego zaawansowaną automatyzację testów. Produkt Tricentis nie opiera się na bazie danych Jira ani na strukturach danych w celu ich przechowywania.

Rys. 2. Porównanie wydajności instancji Jira w wersji serwerowej lub Jira Data Center po zaimplementowaniu qTest Manager oraz innych narzędzi integrujących.
Źródło: www.tricentis.com

qTest Manager i Jira – wykorzystaj synergię do zarządzania testami

qTest Manager wykorzystuje inteligentną technologię do przechwytywania i śledzenia wszystkich interakcji z sesji testowych, automatycznie tworząc dokumentację błędów. Jest to narzędzie idealne do testów eksploracyjnych i innych typów testów realizowanych w sesjach testowych, które bezproblemowo integruje się z narzędziami Agile i DevOps.

Niezależnie od tego, czy korzystamy z natywnych aplikacji, takich jak Jira, czy skonfigurowaliśmy workflow innego narzędzia, dzięki qTest możemy liczyć na harmonijną pracę zespołów i narzędzi DevOps.

qTest Manager i Jira – podsumowanie

Dobór odpowiedniego narzędzia do zarządzania testami jest kluczowy dla całego procesu wytwórczego. Stworzone dla testerów narzędzie qTest sprawnie integruje się z licznymi systemami do zarządzania zadaniami, takimi jak Jira, i pozwala na wydajną współpracę między zespołami.

Dzięki qTest Manager każdy zespół zaangażowany w proces wytwórczy może wykorzystywać preferowane przez siebie narzędzie, a wyniki pracy związane z procesem testowym – defekty, wynik testów wymagań, akceptacja US – zostaną podsumowane na raportach i na dashboardach qTest.

qTest uniwersalne narzędzie do zarządzania testami daje możliwość zwinnego zarządzania testami w dużych i małych projektach. Narzędzie zostało zaprojektowane w taki sposób, żeby integrować się z Jira w czasie rzeczywistym, jednakowo na poziomie wymagań, jak i błędów. Można je wdrażać zarówno w wersji serwerowej, jak i cloud.

Jeśli chcesz dowiedzieć się więcej na temat efektywnej konfiguracji qTest z Jira i dzięki temu zyskać narzędzie, które bezproblemowo pogodzi specyfikę obszaru testowania z najbardziej znaną platformą do zarządzania projektami, to skontaktuj się z nami i umów na bezpłatną konsultację.

Polecamy również