Wirtualne testowanie

Nowe narzędzia umożliwią tańsze, łatwiejsze i szybsze przetestowanie zmian infrastruktury IT przed ich wdrożeniem w środowisku produkcyjnym.

Nowe narzędzia umożliwią tańsze, łatwiejsze i szybsze przetestowanie zmian infrastruktury IT przed ich wdrożeniem w środowisku produkcyjnym.

Przyczyną co najmniej 70% awarii korporacyjnych systemów IT jest instalacja niedostatecznie przetestowanych aplikacji, zmian konfiguracji lub poprawek. Ich staranne przetestowanie jest więc najlepszą metodą zwiększenia dostępności i niezawodności systemu IT. Tymczasem w wielu firmach środowiska do testowania w ogóle nie istnieją lub są słabo wyposażone. Potwierdzają to wyniki ankiety przeprowadzonej przez Research Edge wśród 400 menedżerów IT, którzy w otwarcie przyznali, że nie nadążają za zmianami wprowadzanymi do systemu i często nawet najważniejsze są instalowane lub modyfikowane w środowisku produkcyjnym bez ich testowania. Aż 33% firm nie ma infrastruktury do testowania oprogramowania.

Tymczasem możliwość przetestowania aplikacji przed ich instalacją w systemach produkcyjnych nabiera coraz większego znaczenia nie tylko dla producentów oprogramowania, ale i dla wewnętrznych działów IT. Wynika to z rosnącego nacisku, aby coraz więcej i szybciej przydatnych dla efektywności biznesu zmian wprowadzać do działającego systemu IT, a jednocześnie, by był on bardziej niezawodny i dostępny.

Wirtualizacja idzie z pomocą

Wirtualizacja to obecnie już dobrze i powszechnie znana technologia wykorzystywana podczas konsolidacji serwerów i aplikacji. Ogromną przyszłość ma jej zastosowanie jako efektywnego narzędzia do testowania infrastruktury IT. eliminuje lub ogranicza większość problemów, które są barierą dla klasycznych metod testowania, takich jak koszty inwestycji, utrzymania i zarządzania lub zbyt mała szybkość reakcji na zmiany w systemie produkcyjnym.

Sporo firm już obecnie korzysta z mechanizmów wirtualizacyjnych do testowania oprogramowania, ale są to testy wyrywkowe. Niestety budowa i zarządzanie systemem testowym, zwłaszcza takim, który umożliwia pełną analizę infrastruktury IT, nie jest zadaniem łatwym.

Na rynku zaczęły się jednak pojawiać pakiety do budowy i zarządzania wirtualnymi laboratoriami testowymi, opracowywane najczęściej przez nowe, powstałe w ostatnich 2 latach, małe firmy, które zauważyły swoją szansę w tym perspektywicznym segmencie rynku. Można tu wymienić takie firmy jak Akimbi (już przejęta przez VMware), CollabNet, VMLogix, Surgient lub StackSafe.

Decydując się na wdrożenie wirtualnego laboratorium testowego, należy jednak pamiętać o niektórych ograniczeniach tej technologii.

Wirtualne maszyny z zasady współdzielą niektóre zasoby fizycznych serwerów i na przykład dla dużej liczby jednoczesnych użytkowników przeprowadzenie wirtualnego testu wydajności dostępu do usługi z reguły nie daje zbyt dokładnego wyniku. "Dlatego wyników testów uzyskanych w wirtualnym środowisku nie należy obdarzać bezwzględnym zaufaniem. W niektórych wypadkach klasyczne laboratorium wykorzystujące do testów fizyczne serwery wciąż jest niezastąpione" - uważa Gary Chen, analityk z Yankee Group.

Wirtualny Test Center

Chyba najbardziej kompletnym zestawem narzędzi do wirtualnych testów jest pakiet StackSafe Test Center, wykorzystujący oprogramowanie wirtualizacyjne Xen. Wspomaga on nie tylko budowę wirtualnego centrum testów, ale umożliwia analizę i prezentację wyników.

Jak twierdzą przedstawiciele producenta, pakiet zawiera funkcje umożliwiające łatwe i szybkie zaimportowanie do testów praktycznie kompletnego obrazu korporacyjnego środowiska IT. Po wprowadzeniu do niego planowanych zmian możliwa jest analiza ich wpływu na praktycznie wszystkie istotne parametry systemu, jak wydajność, dostępność połączeń sieciowych, bezpieczeństwo konfiguracji i niezawodność. Pakiet zawiera zestaw predefiniowanych testów i wzorców raportów.

Na razie oprogramowanie może obsługiwać platformy Linux i Windows 2003, ale producent zapowiada rozszerzanie jego funkcjonalności na inne, popularne środowiska.

StackSafe Test Center może pracować na dowolnej platformie sprzętowej x86, a roczna licencja kosztuje 50 tys. USD.

Najważniejsze zalety zastosowań wirtualizacji w systemach do testów infrastruktury IT

1. Szybka budowa środowiska do testów

Obecnie stosowane metody testowania wymagają zbudowania repliki środowiska produkcyjnego. Im bardziej skomplikowany system, tym bardziej kosztowne jest to zadanie. Z czasem zaś system do testów zaczyna coraz bardziej się różnić od wzorca i wykonywane testy przestają być wiarygodne. Wirtualne środowisko testowe nie jest budowane, a importowane w postaci obrazu systemu produkcyjnego. Dzięki temu nakład ręcznej pracy związanej z budową systemu do testów zostaje zminimalizowany. Obniża to też koszty. Jednocześnie znika problem związany z utrzymaniem i aktualizacją zmieniającego się systemu, bo zawsze można utworzyć nowy obraz wirtualny.

2. Koszty przestają być barierą

Blisko jedna trzecia firm nie ma środków finansowych lub czasu, by budować własne środowisko do testów oprogramowania. Typową praktyką jest więc instalacja w środowisku produkcyjnym nieprzetestowanych aplikacji lub poprawek Tymczasem 43% firm przyznaje, że instalacja niedostatecznie przetestowanego oprogramowania była najczęstszą przyczyną awarii i przestojów systemu IT, a 22% zainstalowanych poprawek lub modyfikacji spowodowało opóźnienia lub czasową niedostępność usług świadczonych przez aplikacje.

Wcześniejszy test wirtualnego obrazu modyfikowanego systemu we wszystkich tych wypadkach pozwoliłby na uniknięcie kłopotów. Jest to jednocześnie rozwiązanie możliwe do zastosowania niezależnie od wielkości i złożoności systemu IT.

3. Możliwość przetestowania wszystkich warstw oprogramowania

Budowa repliki pełnego stosu oprogramowania z reguły jest czasochłonna i wymaga zaangażowania wysokiej klasy specjalistów. Firmy decydujące się na testy często ograniczają je więc tylko do mniej istotnych lub nie mających wpływu na kontakty z klientami, obszarów systemu IT. Jeśli modyfikacje wymagają przetestowania całego systemu, z reguły ograniczany jest czas trwania testów.

Również w tym wypadku wirtualizacja może być przydatna, bo odpowiednio zaprojektowany dzięki niej system testowy może odzwierciedlać pełny stos programowy, bez konieczności wysokiej inwestycji w infrastrukturę sprzętową, nie ma też ograniczeń dotyczących czasu trwania procedury.

4. Łatwiejsze zarządzanie zmianami

Jeśli testy są niepełne, prowadzone pośpiesznie lub pojawiają się problemy w środowisku produkcyjnym, to wysiłek informatyków z działu IT z reguły jest skierowany na bieżące poprawianie pojedynczych błędów w oprogramowaniu lub konfiguracji.

Wykorzystanie mechanizmów wirtualizacyjnych pozwala na dokładne i spokojne przeanalizowanie nowego oprogramowania i szybkie wprowadzanie zmian lub poprawek przed wdrożeniem w środowisku produkcyjnym.