W świecie informatycznym HP ALM (dawniej Quality Center) przez wiele lat było jednym z najbardziej popularnych narzędzi do zarządzania cyklem życia aplikacji. Ciągły rozwój IT i zmiana podejścia do realizacji projektów postawiły nowe wyzwania przed narzędziami typu ALM. Na rynku pojawiły się rozwiązania, które dużo lepiej spełniają potrzeby nowoczesnego IT. Jakie korzyści oferują alternatywne produkty?
W artykule dowiesz się dlaczego qTest ma przewagę nad HP ALM.
HP ALM (QC) – pierwsze kompleksowe narzędzie do zarządzania cyklem życia aplikacji
Przez wiele lat HP ALM oferowało sprawdzony zestaw narzędzi do testowania. Bez wątpienia był prekursorem kompleksowego zarządzania cyklem życia aplikacji. Pomysłodawcy ALM jako pionierzy na rynku mogli korzystać z profitów wynikających z braku innych konkurentów. Mało kto mógł zaproponować zbliżone jakościowo oprogramowanie.
Ta sytuacja miała jednak niekorzystny wpływ na rozwój tego znakomitego niegdyś narzędzia. Świat IT nie stoi w miejscu. Zmienia się nie tylko oprogramowanie i urządzenia informatyczne. Również metodyki, na których oparta jest praca wytwórcza.
W rzeczywistości informatycznej od początków XXI wieku zmieniło się tak wiele. Bez radykalnych zmian, żaden produkt nie byłby w stanie sprostać rozwojowi IT. Szczególnie pracy opartej na zwinnych metodykach tworzenia i wydawania oprogramowania. Producenci HP ALM uśpieni sukcesem własnego rozwiązania wyraźnie zapomnieli o tej prozaicznej prawdzie. Skupiając się bardziej na kosmetycznych zabiegach niż na transformacji technologii.
Zwinna rzeczywistość
Przez ostatnie kilkanaście lat wyrósł na rynku niespodziewany game changer – Atlassian ze swoim flagowym produktem Jira. Nie jest to sensu stricto alternatywa dla rozwiązań HP ALM. Jira zdecydowanie zmieniła perspektywę w kluczowych obszarach tworzenia i zarządzania oprogramowaniem. Szczególnie dotyczy to metodyk zwinnych, lecz nie tylko.
Kluczem do sukcesu Jira była możliwość dostosowania tego narzędzia do zróżnicowanych zespołów programistów, w których workflow, harmonogramy kompilacji i proces wydawania nie są jednakowe. HP ALM przez lata wymuszał sztywny proces funkcjonowania oparty na architekturze własnych narzędzi. Bez możliwości doboru takich rozwiązań, jakie byłyby najskuteczniejsze dla danego zespołu.
Oczywiście Jira nie jest narzędziem idealnym – szczególnie w procesie testowania. Wspiera tworzenie oprogramowania w oparciu o zwinne metodyki. Możesz dowiedzieć się o tym z mojego artykułu qTest Manager i Jira – niesamowity tandem w zarządzaniu testami.
To, czego nie było w stanie zaspokoić HP ALM, zostało wykorzystane przez innych producentów narzędzi skoncentrowanych na procesie testowania. Skutek tego jest taki, że Micro Focus Quality Center (ALM) stało się z biegiem lat najmniej polecanym narzędziem testowym dla zespołów wdrażających filozofię DevOps, a wraz z nią metodyki zwinne.
Rys. 1. Rekomendowane narzędzia do zarządzania projektami zwinnymi – 14th Annual State of Agile Report (https://stateofagile.com/)
Detronizacja HP ALM (QC) odbywa się na naszych oczach i nawet najnowsze wersje tego narzędzia nie odwrócą tej sytuacji. Decyzja o zmianie technologicznej Quality Center zapadła zbyt późno. Na przestrzeni kilkunastu lat IT zmieniło się diametralnie w wielu obszarach. W tym czasie powstały rozwiązania, które doskonale odpowiadają na wymagania nowoczesnego IT. Są uniwersalne i umożliwiają wykorzystanie coraz popularniejszych metodyk zwinnych w procesie tworzenia oprogramowania.
Przyszedł czas na rozwiązania zbudowane z myślą o współczesnym rozwoju software’u. Rozwiązania radzące sobie doskonale w dowolnych metodykach wytwórczych i z różnorodnym podejściem do testowania oprogramowania. Ułatwiające dobór najbardziej skutecznych i uniwersalnych narzędzi do automatyzacji, w dowolnych przeglądarkach, na dowolnym urządzeniu i dla każdego zespołu. Dokonując analizy, czy nowe rozwiązania mogą być lepszą opcją, zastanówmy się najpierw jakie mocne strony HP QC wzniosły to narzędzie na niekwestionowaną pozycję lidera w narzędziach typu ALM na wiele lat.
HP ALM co to jest?
HP Application Lifecycle Management (HP ALM) z początkiem XXI wieku pełniło główną rolę wśród narzędzi wsparcia realizacji projektów. Narzędzie przeznaczone było dla różnych uczestników projektu:
- deweloperów,
- testerów,
- analityków biznesowych,
- menadżerów,
- właścicieli projektów.
Ułatwiało wdrażanie kolejnych wersji złożonych produktów. Funkcjonowało jako centrum zarządzania projektami IT. Pozwalało śledzić wersje oprogramowania wraz z powiązanymi z nimi defektami. Zewidencjonowane produkty testów i inne artefakty projektowe definiowały priorytety biznesowe oraz oczekiwania jakościowe dostępne w jednym miejscu dla wszystkich uczestników procesu wytwórczego. Miało to istotne znaczenie dla pracy zespołów rozproszonych geograficznie.
Przez wiele lat HP ALM stanowiło centrum wiedzy o tym, co się dzieje organizacji.
Pomagało porządkować realizowane w projektach wymagania, systematyzowało podejście do realizacji testów, ich automatyzacji, umożliwiało przygotowanie złożonych raportów. Nazwa HP ALM w ostatnich kilkunastu latach ulegała zmianom. Pierwotnie narzędzie zaprojektowane przez izraelską firmę Mercury (Mercury Interactive Corporation) nosiło nazwę Test Director, by w roku 2008 zmienić nazwę na Mercury Quality Center. Przejęcie spółki Mercury przez HP spowodowało kolejną zmianę nazwy na HP Quality Center. Od roku 2011 narzędzie było znane jako HP ALM do roku 2017 – po kolejnym przejęciu, tym razem przez firmę Micro Focus przyjęto nazwę Micro Focus Application Lifecycle Management.
W niniejszym artykule używam nazw HP ALM i QC – w mojej opinii najlepiej kojarzonych przez czytelnika.
HP ALM jak działa?
HP ALM (Application Life Cycle Management) pomaga organizacjom zarządzać cyklem życia aplikacji od planowania projektu, zbierania wymagań, aż do testowania i wdrażania. Posiada moduł przeznaczony do rejestrowania wymagań poddawanych testom (Requirements):
- bibliotekę przypadków testowych (Test Plan),
- moduły:
– do tworzenia zestawów testów do wykonania,
– monitorowania wyniku wykonanych testów (Test Lab),
– zarządzania defektami (Defects),
– raportowy i analityczny (rozbudowany).
Wszystkie zewidencjonowane w narzędziu elementy mogą być ze sobą powiązane, tworząc kompletną traceability matrix. Dzięki wspomnianym funkcjonalnościom, HP ALM wspiera krytyczne z perspektywy zapewniania jakości projektu czynności, wśród których warto wymienić:
1. Projektowanie przypadków testowych adekwatnych do wymagań (zarządzanie zakresem testów).
2. Monitorowanie pokrycia wymagań testami – identyfikowanie potencjalnych luk i nieprzetestowanych wymagań.
3. Raportowanie statusu testów nie tylko w odniesieniu do zdefiniowanych przypadków testowych czy zestawów testów plus konkretnych wymagań.
To wszystko kilkanaście lat temu przyczyniło się do sporej popularności HP ALM. Zwłaszcza w dużych organizacjach (banki, telekomy). Tam proces testowy jest poddawany audytom i wymaga szczegółowego udokumentowania.
Narzędzie to zaczęło tracić na znaczeniu mimo mocnych zalet i komplementarnego wspierania procesu testowego. Sztywne zasady działania oparte o kaskadowy model zarządzania projektami oraz brak kompatybilności z nowymi rozwiązaniami spowodowały, że stało się bardzo niewygodne w użyciu. Jakie są główne problemy z HP ALM?
Trzy główne mankamenty HP ALM:
Rozbudowany i mocno sformalizowany proces testowy
Proces testowy w QC wymaga poświęcenia dużej ilości czasu na przygotowanie do testów. W projektach realizowanych metodyką waterfall nie jest to problemem. Ten czas jest ujęty w harmonogramie projektu. Coraz popularniejsze jest zwinne podejście do projektów informatycznych (Agile). Uniemożliwia lub bardzo utrudnia realizację tak rozumianego procesu testowego. W zwinnym podejściu zmiany zachodzą dynamicznie. Projekt ciągle ewoluuje, aby jak najlepiej odpowiadać na potrzeby biznesu lub wymagań IT.
Skomplikowana synchronizacja z narzędziami zewnętrznymi
Współczesne zespoły IT wykorzystują w procesie wytwarzania oprogramowania bardzo różnorodne, optymalne dla siebie narzędzia. Chęć włączenia HP ALM w proces wytwórczy rodzi konieczność budowania dodatkowych synchronizatorów między narzędziami, a synchronizacja nigdy nie jest idealna.
Przestarzała architektura HP ALM
Przez wiele lat HP ALM poddawane było liftingowi na poziomie interfejsu bez zasadniczej zmiany w sferze technologii. Najlepszym przykładem niezrozumienia zmian zachodzących na rynku jest fakt, że narzędzie to oparto na wykorzystaniu tylko jednej przeglądarki: Internet Explorer.
HP ALM jest bardzo rozbudowane i wymagające dużych nakładów przy implementacji i wdrożeniu. Ta historyczna architektura nie została dostosowana do szybko zmieniających się wymagań i zwinnego modelu pracy współczesnego IT.
qTest – alternatywa dla HP ALM
Alternatywne narzędzia są świeże i wolne od anachronicznych rozwiązań HP ALM. Jednym z producentów proponujących uniwersalne rozwiązania dla testerów jest firma Tricentis oferująca qTest stworzony dla nowoczesnych zespołów testerskich, który posiada wbudowaną możliwość integracji z popularnymi narzędziami, takimi jak Jira Software, Jenkins i Cucumber. Ponadto, z myślą o niestandardowych potrzebach integracyjnych – qTest został wyposażony w otwarte, elastyczne interfejsy API.
qTest – integracje i funkcjonalności
qTest, tak jak HP ALM, umożliwia stworzenie repozytorium wymagań, bibliotekę przypadków testowych oraz zestawy testów do wykonania. Tym samym ma te same zalety, które prezentuje HP ALM oraz wiele innych, których próżno szukać w narzędziu firmy Micro Focus.
qTest ma wbudowaną opcję integracji z narzędziami zewnętrznymi, więc można w czasie rzeczywistym synchronizować wymagania/user story z narzędzi zewnętrznych (np. z Jira) oraz tworzyć i uruchamiać dla nich testy. Informacja o wyniku testu dla danego wymagania będzie automatycznie pojawiać się w narzędziu źródłowym. Dzięki temu prowadzenie testów w Agile staje się łatwe, a realizacja projektów metodyką kaskadową Waterfall, jest co najmniej równie dobra jak w HP ALM.
Producent qTest zadbał o integrację z wieloma popularnymi narzędziami, systemami i aplikacjami biznesowymi: Jenkins, JUnit, TestNG, Jira, Rally, VersionOne, ServiceNow, ClearQuest, HP Enterprice, Blueprint, Salesforce, IBM Rational.
Metodyki zwinne w qTest
qTest to w praktyce zestaw sześciu zintegrowanych narzędzi, powstałych z myślą o konkretnych zagadnieniach z obszaru zapewniania jakości. Dwa z nich stworzono stricte dla zagadnień wsparcia CI/CD.
qTest Manager – zarządzanie procesem testowym, odbywa się w sposób podobny do znanego w HP ALM. W qTest Manger możliwe jest projektowanie zakresu testów na podstawie zdefiniowanych wymagań, tworzenie biblioteki przypadków testowych, uruchamianie manualnych przypadków testowych, raportowanie wyników testów, zarządzanie defektami, monitorowanie postępu testów.
qTest Launch – zarządzanie testami automatycznymi w scentralizowany sposób. Dzięki usłudze orkiestracji narzędzie umożliwia automatyzację pełnych procesów, łącznie z tymi, które wymagają komunikacji z systemami niedostępnymi na środowisku testowym. Funkcjonalność ta jest szczególnie istotna w testach procesów korzystających z narzędzi Open Source lub innych rozwiązań producentów trzecich.
qTest Insights – przygotowanie i automatyczna dystrybucja zaawansowanych raportów. Umożliwia ciągłą analizę stanu projektu i jakości aplikacji za pomocą pojedynczego interfejsu, prezentującego zagregowane dane z wszystkich narzędzi zintegrowanych z rozwiązaniami Tricentis.
qTest Explorer – nagrywanie i dokumentowanie sesji testów eksploracyjnych. Inteligentnie rejestruje działania testera, zbierając kliki, przechwytując ekrany i umożliwiając wybór elementów do zapisania. Zarejestrowane informacje można wyeksportować, tworząc w ten sposób dokumentację z testów lub i instrukcje dla użytkownika końcowego.
qTest Pulse – zintegrowane środowisko pracy zespołów pracujących w metodykach zwinnych. Zaawansowany silnik reguł, który automatyzuje komunikację narzędzi w ramach DevOps pipeline. Działa w tle, integrując oprogramowanie Jira z Jenkins, Slack i wieloma różnymi wtyczkami, zwiększając tym samym wydajność procesu programowania.
qTest Scenario – plugin usprawniający tworzenie scenariuszy z możliwością ich centralnego przechowywania i edytowania. Plugin oferuje wsparcie w pisaniu skryptów dla testów automatycznych w BDD z poziomu Jira. Zsynchronizowany jest z Gitthub, w którym przechowywane i uruchamiane są testy. Dzięki połączeniu wyników testowania ze zgłoszeniami w Jira możesz na bieżąco śledzić postęp rozwoju aplikacji.
Przewaga qTest nad HP ALM
Oprogramowanie qTest okazuje się skutecznym i wydajnym narzędziem w upraszczaniu szeregu zadań związanych z zapewnianiem jakości. Zarówno na poziomie indywidualnym, jak i zespołowym, w trakcie całego procesu wytwórczego.
Zintegrowane środowisko pracy pozwala na efektywną pracę z wykorzystaniem różnych narzędzi bez trudności związanych z przepływem informacji między członkami zespołów projektowych.
qTest dzięki wbudowanej opcji śledzenia powiązań między obiektami testowymi ułatwia planowanie projektów i prowadzenie ich w sposób przejrzysty z perspektywy ewentualnych audytów.
Istnieje możliwość wdrożenia qTest w chmurze lub skorzystania z instancji serwerowej, w zależności od wielkości i wymagań firmy.
qTest i HP ALM – podsumowanie
HP ALM to pierwsze kompleksowe narzędzie do zarządzania cyklem życia aplikacji, które przez szereg lat poddawane było jedynie liftingowi. Taki wariant sprawdzał się tylko do czasu. Wydaje się, że właściciele HP ALM przespali moment decyzji o transformacji technologicznej i nie uratuje tego nawet najnowsza wersja HP ALM – ALM Octane udostępniony w 2016 roku przez Micro Focus. Nowy ALM Octane to wciąż narzędzie przeznaczone dla zespołów pracujących w metodykach kaskadowych, z bardzo słabą integracją z produktami takimi jak Jira.
Lukę w tym obszarze świetnie uzupełnia qTest od Tricentis, który jest zestawem kompleksowych narzędzi dostosowanych do oczekiwań współczesnego IT. Pozwala na realizację testów zarówno w projektach Agile, jak i projektach Waterfall. Dzięki temu możemy monitorować zbiorczy postęp testów w wielu projektach, nawet jeśli są realizowane w różnych metodykach. Istniejące w qTest konektory do najpopularniejszych narzędzi ALM/DevOPS pozwalają zespołom na nieograniczoną pracę. Ponieważ obsługa qTest jest intuicyjna i oparta o sprawdzone rozwiązania, wdrożenie narzędzia jest szybkie i nie sprawia trudności w obsłudze użytkownikom końcowym.