Zarządzanie procesami zapewnienia jakości z IBM Test Engineering

Materiał promocyjny Powodzenie przedsięwzięcia biznesowego często zależy od jednego czynnika: jakości sprzedawanego produktu. Prawidłowość ta jest szczególnie ważna na rynku oprogramowania i systemów informatycznych. Od zdolności do powtarzalnego tworzenia prawidłowo działających programów i systemów zależy finansowy sukces firmy.

Problemy z jakością mogą w różnoraki sposób wpływać na proces tworzenie oprogramowania:

  • Trudności w procesie tworzenia i dostarczania powodujące przekroczenia terminów realizacji projektu.
  • Przekroczenia budżetu i terminu dostarczenia spowodowane nieporozumieniami w komunikacji, nieefektywnymi procesami, zmianami zakresu, defektami i koniecznością wielokrotnego powtarzania prac.
  • Podwyższone koszty utrzymania i serwisowania produktów spowodowane nieplanowanymi poprawkami, aktualizacjami, akcjami serwisowymi, roszczeniami gwarancyjnymi oraz w skrajnych przypadkach, pozwami sądowymi.

Uniknięcie takich problemów jest możliwa dzięki stosowaniu metodyk zarządzania jakością obejmujących wszystkie etapy procesu wytwórczego oprogramowania i systemów.

W skład zorientowanego na jakość procesu dostarczania oprogramowania i systemów musi zostać włączone nie tylko testowanie, lecz także definiowanie i zarządzanie wymaganiami oraz obsługa defektów — tak aby zapewnienie jakości było składnikiem każdego kroku w ramach cyklu tworzenia oprogramowania. Jeśli zapewnienie jakości ma faktycznie stać się integralną częścią wszystkich etapów pracy, zespoły realizujące projekt muszą sprawnie ze sobą współpracować, korzystać z mechanizmów automatyzacji, dzielić się informacjami i zbierać metryki potrzebne do efektywnego zarządzania pracą.

Oprogramowanie IBM® Engineering Test Management to scentralizowane środowisko zarządzania testowaniem wyposażone w interfejs WWW, przeznaczone dla działów biznesowych, kierowników działów IT, a przede wszystkim dla specjalistów ds. zapewnienia jakości. To efektywne narzędzie wspomagające zorientowane na jakość dostarczanie oprogramowania i systemów. IBM® Engineering to rozwiązanie w pełni konfigurowalne, wspierające pracę zespołową w procesach planowania testów, sterowania przepływami pracy, zbierania metryk i ich monitorowania. Wspomaga ilościową ocenę wpływu decyzji i poszczególnych wyników prac na realizację projektu oraz ich korelację z celami biznesowymi.

IBM Engineering Test Management bazuje na platformie Jazz (http://jazz. net). Interfejs zbudowany jest w oparciu o paradygmat Web 2.0. IBM Engineering Test Management został zaprojektowany dla zespołów testowych dowolnej wielkości. Dostęp i uprawnienia użytkowników oparte są na rolach. Oprócz ról ściśle związanych ze strukturą zespołów testowych takich jak kierownik testów, architekt testów, tester i osoba odpowiedzialna za zarządzanie środowiskami testowymi, można zdefiniować własne role. Uprawnienia dla nich można dostosować do konkretnego projektu. IBM Engineering Test Management można zastosować do nieomal każdego projektu, czy to opartego o metodykę zwinną, czy o metodykę bardziej sformalizowaną.

Plan testów

Plan testów powinien być czymś więcej niż tylko dokumentem stworzonym na początku projektu. Plan testów należy traktować jako „umowę o jakości”, czyli dokumentację celów projektu i kroków niezbędnych do ich osiągnięcia. Ponadto plan testów powinien być skorelowany z wymaganiami i planami prac.

W rozwiązaniu IBM plan testów jest dynamicznym dokumentem, który ewoluuje w miarę postępów projektu. Zawiera przejrzysty opis celów projektu i kryteriów zakończenia, a jednocześnie ułatwia określanie priorytetów weryfikacji poszczególnych elementów. W planie ujęte są dane statyczne, takie jak cele biznesowe oraz dane dynamiczne, takie jak wymagania i scenariusze testów. Każda z części planu testów może mieć przypisaną inną osobę odpowiedzialną, co ułatwia precyzyjne określenie podziału odpowiedzialności w zespole.

Plan testów opisuje zakres prac związanych z testowaniem, a także stanowi zapis procesu testowania. Można go skonfigurować pod kątem specyficznych potrzeb zespołu. Zazwyczaj w planie testów identyfikowane są wymagania, ryzyko, przypadki testowe, środowiska testowe, harmonogramy testowania oraz inne elementy. Powiązane plany testów można grupować razem. Plan testów składa się z kilku wstępnie zdefiniowanych sekcji. Za pomocą opcji zarządzania sekcjami użytkownik może dodawać własne sekcje i usuwać te, które nie są w danym projekcie potrzebne. Tworzenie nowego planu testów rozpoczyna się od wyboru szablonu. Użytkownik może wybrać jeden z domyślnych szablonów lub utworzyć własny. Szablon planu testów jest zbiorem sekcji planu testów. Tworzenie szablonu odbywa się poprzez dodawanie i usuwanie istniejących sekcji lub tworzenie nowych. Każda organizacja może zaprojektować własny szablon. Elastyczność tworzenia planów testów powoduje, że plan testów jest odpowiedni zarówno dla zespołów testowych bazujących na metodykach zwinnych (ang. agile), formalnych, jak i dla zespołów wykonujących inne rodzaje testów. Z poziomu planu testów można zarządzać pozostałymi artefaktami procesu testowania i można wykonać m.in. następujące zadania:

  • Konfiguracja formalnego procesu przeglądu, który jest widoczny cały czas przez wszystkich członków zespołu projektowego.
  • Definiowanie harmonogramów dla każdej iteracji testowania.
  • Tworzenie instrukcji testu i powiązanie ich z planem testowania.
  • Szacowanie ogólnego nakładu pracy związanego z planowaniem testowania i jego wykonaniem.
  • Definiowanie celów biznesowych, celów testowania i celów jakościowych oraz kryteriów wejściowych i wyjściowych.
  • Import wymagań projektu z zewnętrznych narzędzi do zarządzania wymaganiami i powiązanie ich z przypadkami testowymi
Zarządzanie procesami zapewnienia jakości z IBM Test Engineering

Elementy pracy

Aby zespół pracował efektywnie, każdy jego członek musi wiedzieć, czego się od niego oczekuje i czego on może oczekiwać od współpracowników. Oprogramowanie IBM zawiera kokpity zapewniające każdemu użytkownikowi natychmiastowy dostęp do aktualnych informacji istotnych w kontekście jego pracy. Na przykład lista elementów pracy może informować testera o przydzielonych mu zadaniach, a dziennik zdarzeń zespołu jest automatycznie aktualizowany w miarę wykonywania kolejnych aktywności.

Element pracy to sposób na śledzenie zadań i problemów, którymi zespół musi się zająć. Status i liczba elementów pracy jest jednym ze wskaźników kontroli projektu. Standardowo produkt IBM Engineering Test Management zawiera następujące typy elementów elementów pracy:

  • Zadanie dotyczące jakości – konkretna praca zazwyczaj związana z artefaktami, takimi jak plan testów, przypadek testowy lub skrypt testowy. Jeśli na przykład użytkownik dostanie zadanie uzupełnienia sekcji planu testów, zostaje on przypisany do elementu zadania dotyczącego jakości.
  • Przegląd – czynność przypisana użytkownikowi, który został poproszony o przegląd lub zatwierdzenie danego artefaktu, na przykład planu testów lub przypadku testowego.
  • Wymaganie – wymaganie utworzone w IBM Engineering Test Management lub zaimportowane z narzędzia do zarządzania wymaganiami.
  • Defekt – element wykorzystywany do śledzenia defektów w testowanym oprogramowaniu.
  • Zadanie – pozostałe zadania.

Tworzenie wymagań

Do tworzenia nowych wymagań można użyć IBM Engineering Test Management lub stworzyć je za pomocą zewnętrznej aplikacji do zarządzania wymaganiami, takiej jak IBM Engineering DOORS Next lub IBM DOORS, i zaimportować je do dedykowanego do testów. W przypadku zmiany lub usunięcia wymagania w aplikacji do zarządzania wymaganiami status danego wymagania jest aktualizowany w narzędziu do zarządzania jakością. Istnieje też możliwość tworzenia wymagań i zarządzania nimi za pomocą produktu IBM Engineering DOORS Next oraz tworzenia powiązań do nich z IBM Engineering Test Management. Przypadki testowe można generować dla jednego, kilku lub wszystkich dostępnych wymagań. Można wygenerować jeden przypadek testowy dla każdego wymagania, co spowoduje utworzenie wielu przypadków testowych, ale można także wygenerować jeden przypadek testowy pokrywający wiele wymagań.

Zarządzanie wymaganiami

W celu zweryfikowania zgodności aplikacji lub systemu z założeniami i celami biznesowymi nie wystarczy wykonanie kilku testów. Niezbędne jest rejestrowanie wymagań, kojarzenie tych wymagań ze scenariuszami testów i uporządkowane zgłaszanie wszelkich defektów wykrytych podczas testowania. Zarządzanie wymaganiami zapewnia możliwość śledzenia cyklu życia, pozwalając powiązać przypadki testowe w planie testów z wymaganiami. IBM Engineering Test Management udostępnia kilka możliwości związanych z zarządzaniem wymaganiami:

  • Za pomocą produktu IBM Engineering DOORS Next można powiązać przypadki testowe i plany testów z wymaganiami.
  • Wymagania można importować z zewnętrznych narzędzi, takich jak IBM Engineering DOORS Next i IBM DOORS.
  • Wymagania można tworzyć i zarządzać nimi bezpośrednio w IBM Engineering Test Management.

IBM Engineering Test Management zapewnia pełną kontrolę wersji i przejrzystość procesu tworzenia oprogramowania — od definicji wymagań, poprzez testy, defekty, aż po działania naprawcze. Użytkownicy mogą wprowadzać wymagania w formie tekstowej bezpośrednio w rozwiązaniu IBM lub korzystać z dynamicznych odsyłaczy do narzędzi zarządzania wymaganiami, takich jak IBM DOORS Next Generation lub IBM Rational DOORS®. Następnie możliwe jest powiązanie scenariuszy testowych z wymaganiami, dzięki czemu kierownicy projektu będą mogli śledzić pokrycie wymagań testami. Gdyby w trakcie testów wykryte zostały jakiekolwiek problemy, możliwe będzie wprowadzenie defektów i śledzenie ich eliminowania.

Zarządzanie procesami zapewnienia jakości z IBM Test Engineering

Przypadki i scenariusze testowe

Predefiniowany przypadek testowy (ang. Test Case) w IBM Engineering Test Management składa się z kilku wstępnie zdefiniowanych sekcji. Niektóre sekcje, takie jak definicja przypadku testowego, warunki początkowe, warunki końcowe i oczekiwane wyniki, posiadają edytory tekstu zawierające standardowe opcje formatowania, takie jak czcionki, tabele czy listy wypunktowane i numerowane. Pozostałe sekcje, takie jak wymagania, skrypty testowe i rekordy wykonania przypadków testowych, zawierają powiązania (linki) do innych artefaktów testowych. Za pomocą opcji zarządzania sekcjami użytkownik może dodawać własne sekcje oraz usuwać te, które nie są w danym projekcie wykorzystywane. Tworzenie nowego przypadku testowego rozpoczyna się od wyboru szablonu.

Użytkownik może wybrać jeden z domyślnych szablonów lub utworzyć własny. Może także wskazać szablony, które mają być traktowane jako domyślne dla nowych przypadków testowych. Szablon przypadku testowego jest zbiorem sekcji przypadku testowego. Tworzenie szablonu odbywa się poprzez dodawanie i usuwanie sekcji lub tworzenie nowych. Jeśli nazwy sekcji nie są zgodne z przyjętym w organizacji standardem nazewnictwa, można utworzyć nowe sekcje i dodać je do szablonu. Każda organizacja może zaprojektować własne niestandardowe szablony. Każdy przypadek testowy zazwyczaj jest powiązany ze skryptem testowym, chociaż możliwe jest uruchamianie testu bez dowiązanego skryptu testowego. Skrypt testowy (ang. Test Script) to ręczny lub zautomatyzowany skrypt, który zawiera instrukcje dotyczące wykonania danego przypadku testowego. Użytkownik może utworzyć skrypty testów ręcznych, które będą wykonywane manualnie, może też dowiązać zautomatyzowane skrypty testów funkcjonalnych, wydajnościowych i bezpieczeństwa. Sekcja warunków wstępnych dla przypadku testowego pozwala wskazać wymagania, które muszą być spełnione przed uruchomieniem przypadku testowego. Warunki końcowe służą przedstawieniu wymagań, które muszą być spełnione po wykonaniu przypadku testowego. Aby przeprowadzić test, należy wykonać jedno z następujących zadań:

  • uruchomić wykonanie przypadku testowego
  • wygenerować rekord wykonania testu (ang. Test Execution Records) dla przypadku testowego i uruchomić wykonanie ich (zapisy wykonania testu opisują konfiguracje dla danego uruchomienia testu),
  • połączyć kilka przypadków testowych w scenariusz testowy (ang. Test Suite) i uruchomić go.
Zarządzanie procesami zapewnienia jakości z IBM Test Engineering

Wykonywanie testów

IBM Engineering Test Management udostępnia kilka wariantów wykonywania testów, co umożliwia zaadaptowanie tego narzędzia do wielu rodzajów zespołów testowych. W rozwiązaniu IBM podstawowym komponentem jest przypadek testowy. Najprostszą realizacją wykonania testu jest utworzenie przypadku testowego i wykonanie go. Inne artefakty testowe, takie jak plany testów, skrypty testowe, środowiska testowe oraz zapisy wykonania testu, są opcjonalne.

Zarządzanie procesami zapewnienia jakości z IBM Test Engineering

Użytkownik może stworzyć takie powiązania i wykorzystać pełny zakres funkcjonalności IBM Engineering Test Management jednak nie jest to niezbędne. Scenariusz testowy (ang. Test Suite) jest to zbiór przypadków testowych, które zostały zgrupowane w celu ich wykonania. Scenariusze testowe mogą obejmować testy ręczne i zautomatyzowane. W trakcie uruchamiania scenariusza można określić, czy przypadki testowe mają być wykonywane sekwencyjnie czy równolegle. Zapisy wykonania testu przypisują daną konfigurację środowiska testowego do przypadku testowego. Określają środowisko sprzętowe i programowe dla danego wykonania. Wykonanie testu jest definiowane w następujący sposób: wykonaj przypadek testowy w tym środowisku, na danej platformie sprzętowej.

Aby upewnić się, że przypadek testowy uruchamiany w czterech różnych środowiskach testowych zostanie poprawnie wykonany, należy utworzyć rekord wykonania testu dla każdego wymaganego środowiska testowego. Za pomocą produktu IBM Engineering Test Management można uruchamiać testy manualne i zautomatyzowane takie jak:

• Testy manualne, które są tworzone za pomocą IBM Engineering Test Management

• Testy z obsługą słów kluczowych, które zostały utworzone w IBM Engineering Test Management

• Testy manualne zmigrowane z produktu IBM Rational Manual Tester

• Testy zautomatyzowane utworzone za pomocą takich narzędzi jak:

  • IBM Functional Tester,
  • IBM Performance Tester,
  • IBM Integration Test,
  • IBM Test Workbench,
  • HCL AppScan
  • Selenium
  • JUnit Selenium
  • Apache JMeter
  • HP (MicroFocus) QuickTest Professional,
  • HP (MicroFocus) LoadRunner.

Podczas tworzenia testów zautomatyzowanych tworzone są połączenia do skryptów testowych, które są stworzone za pomocą narzędzia testów zautomatyzowanych. Skrypty te mogą znajdować się na maszynie testowej lub na współdzielonym zasobie sieciowym. W trakcie uruchamiania testu IBM Engineering Test Management kopiuje test na maszynę testową i uruchamia go.

Śledzenie defektów

Zarządzanie defektami jest możliwe za pomocą samego IBM Engineering Test Management, ale można do tego celu wykorzystać także inne narzędzia, takie jak IBM Workflow Management, Atlassian JIRA lub IBM Rational ClearQuest. Jeśli testowana aplikacja jest tworzona z wykorzystaniem IBM Workflow Management, defektami można zarządzać, korzystając z elementu pracy o nazwie defekt.

Reprezentację defektu w produkcie IBM Engineering Test Management jest automatycznie synchronizowana z produktem IBM Workflow Management, co pozwala na lepszą komunikację z programistami odpowiedzialnymi za poprawianie defektów. Jeśli do śledzenia zgłoszeń zespół używa produktów Atlassian JIRA i Rational ClearQuest, można wykorzystać element pracy defekt i użyć dedykowanego narzędzia w celu zsynchronizowania zewnętrznego repozytorium błędów.

Raportowanie

W IBM Engineering Test Management istnieje zbiór predefiniowanych raportów, których można użyć do analizy wykonywanych testów i zidentyfikowania trendów w projekcie. W każdym raporcie znajduje się sekcja odpowiedzialna za parametryzacje, w której wymienione są kryteria, których można użyć do wygenerowania raportu. W przypadku wielokrotnego korzystania z takich samych raportów i ich parametrów można zrobić kopie raportu i zapisać parametry, aby mieć do nich łatwy dostęp. Wiele raportów ma charakter typu drill–down, co umożliwia docieranie do szczegółowych informacji wymienianych w raporcie.

Zarządzanie procesami zapewnienia jakości z IBM Test Engineering
Zarządzanie procesami zapewnienia jakości z IBM Test Engineering

Można również zainstalować narzędzie Jazz Reporting Services, które umożliwia tworzenie niestandardowych raportów z wykorzystaniem autorskiej technologii IBM dla raportowania. Można tworzyć nowe własne raporty lub też kopiować i modyfikować zestaw wstępnie zdefiniowanych raportów, które są częścią Jazz Reporting Services. System raportowania IBM jest wyposażony w łatwy w użyciu interfejs użytkownika służący do tworzenia i przeglądania niestandardowych raportów. Raporty można zaimportować do IBM Engineering Test Management, gdzie można je uruchamiać i przeglądać tak jak standardowe raporty. Platforma IBM ułatwia udostępnianie informacji do współużytkowania z innymi członkami zespołu. W systemie elementów pracy opartym na platformie Jazz członkowie zespołu mogą wzajemnie przypisywać sobie zadania i defekty oraz wyświetlać status każdego z członków zespołu. Autorzy planów testów i projektanci przypadków testowych mogą przekazywać swoje prace do przeglądu i śledzić status każdego recenzenta. Można zobaczyć, kto jest zalogowany i nad czym pracuje. Członkowie zespołu mogą być automatycznie powiadamiani o zmianach, danych wejściowych i kamieniach milowych, które mają wpływ na ich pracę.

Ciekawe linki