Ilość narzędzi przygotowanych przez IBM do wspierania wszelkich działań programistycznych, w tym i testerskich jest tak duża, że bardzo łatwo się pogubić. Rational to nie tylko różne typy oprogramowania, ale i sporo wersji. Służą one do wykonywania specjalistycznych testów np. „IBM Rational® Tester for SOA Quality” to Rational Tester służący do testowanie serwisów sieciowych. Jeśli dodamy do tego, że IBM ma strasznie rozbudowaną i mało pomocą stronę internetową, może się okazać, że trudno będzie znaleźć rozwiązania dla naszego środowiska testowego. W drugiej części przybliżymy narzędzia automatyzacji testów.
Aby zrozumieć skomplikowaną sieć narzędzi Rational pomocny może okazać się poniższy rysunek.
Artykuł skupia się jedynie na narzędziach przydatnych testerom czarno- lub szaro- skrzynkowym, tak więc PurifyPlus, Test RealTime oraz Application Developer nie zostały tu opisane.
IBM Rational® Performance Tester – narzędzie do testów obciążeniowych i wydajnościowych oraz wsparcia analizy wyników.
Narzędzie jest uzbrojone w następujące funkcje:
- Automatyczne generowanie testów wydajności dla serwisów sieciowych
- Określanie obciążenia i definiowanie liczby wirtualnych użytkowników.
- Monitorowanie danych i wizualizację informacji z serwera.
- Kastomizacja za pomocą kodu Java umożliwiająca analizę danych i ich parsowanie.
Dzięki przyjaznej strukturze narzędzie wspiera działania testera. Oto kilka przykładów:
- Testy są nagraniami działań użytkowników, a modyfikacje tych działań na poziomie skryptów nie wymagają umiejętności programistycznych.
- Dane wirtualnych użytkowników można łatwo generować zachowując ich unikalność
- Intuicyjny, graficzny rozkład testów pomaga planować różne typy i działania użytkowników
- Miejsca gdzie aplikacje radzą sobie gorzej z wydajnością są określane w raportach.
Przykładowe wykresy dla narzędzia.
Poniższa tabela prezentuje najważniejsze funkcje z opisem płynących z nich korzyści.
Funkcja | Korzyści |
Edytor testów dla poziomu ogólnego i szczegółowego
| Umiejętności programistyczne nie są wymagane, testy są przedstawione w sposób graficzny, testerzy łatwo mogą modyfikować testy nie wchodząc w poziom linijek kodu. Z drugiej strony mając umiejętności programowania można szybko i łatwo modyfikować kod testów |
Elastyczne modelowanie i emulowanie różnych użytkowników | Możliwość przetestowanie różnych grup użytkowników mających różne oczekiwania w stosunku do narzędzia |
Niewielkie obciążenie procesora i ograniczone wymagania sprzętowe
| Wykonywanie testów może odbywać z komputerów o ograniczonych wydajnościowo możliwościach |
Identyfikowanie problemów w czasie rzeczywistym
| Raporty generowane są w czasie rzeczywistym i łatwo można je modelować dla swoich potrzeb, raporty podsumowujące dają możliwość wyświetlania wyników procentowych w odniesieniu do naszych oczekiwań |
Identyfikacja i wsparcie dla dynamicznych odpowiedzi serwera
| Dzięki tej funkcji tester łatwo może ponownie użyć odpowiedzi serwera nawet, gdy są one różne, co w dalszej części może wspomóc tworzenie wielu wirtualnych użytkowników |
Tworzenie danych testowych | Dla każdego użytkownika generowane są unikalne parametry |
Zbieranie i wizualizacja danych serwera | Statystyki serwera pomagają znajdować wąskie gardła w sprzęcie serwera |
Włączanie kodu Java do testów | Zaawansowani użytkownicy mają możliwość dołączania kodu Java do testów, dzięki czemu mogą dokonywać dodatkowej analizy danych |
Wsparcie dla Linux-a | Performance Tester wspiera nie tyko Windowsa, ale i Linuxa, dzięki czemu wiele maszyn o różnych systemach operacyjnych może testować wydajność aplikacji |
Włączenie ClearCase za darmo | Wsparcie zarządzania wersjami testów |
Testy obciążeniowe i wydajnościowe dla Siebel 7.7, zSeries, SAP itd.
| Dodatki dla różnych środowisk dają możliwość korelacji z danymi specyficznymi dla nich |
IBM Rational Robot - narzędzie automatyzacji testów dla aplikacji o strukturze klient-serwer.
Narzędzie wspiera wyszukiwanie defektów bez względu na technologię, w jakiej stworzono interfejs użytkowników. Dzięki swojej strukturze łatwo daje się go nauczyć i osiągać korzyści z automatyzacji testów. Poszukiwanie defektów opiera się na tworzeniu skryptów testowych i ich sukcesywnemu powtarzaniu. Przypadki użycia mogą opierać się na dwóch grupach obiektów: wspólnych i specjalnych. Rational Robot ma wbudowane narzędzie zarządzania testami zgodne z narzędziami wspierającymi Rational Unified Process (proces tworzenia oprogramowania zdefiniowany przez IBM). Narzędzie może zostać zintegrowane ze środowiskiem TestManager.
Korzyści:
- Automatyzuje testy regresyjne, funkcjonalne oraz konfiguracyjne
- Upraszcza testy konfiguracyjne, gdyż umożliwia jednoczesne wykonanie testów funkcjonalnych na różnych urządzeniach, skonfigurowanych w różny sposób
- Wspiera wiele środowisk i języków tj. HTML i DHTML, Java™, VS.NET, Microsoft Visual Basic oraz Visual C++, Oracle Developer/2000, PeopleSoft, Sybase PowerBuilder i Borland Delphi.
- Zapewnia testowanie obiektów kryjących się za UI, takich jak ActiveX Controls, OCXs czy applety Java
- Umożliwia testy menu, list, znaków alfanumerycznych, bitmap oraz innych obiektów.
- Skrypty testowe generowane są w SQABasic, co umożliwia ich edycję podczas nagrywania.
- Na bieżąco tworzone są logi z działania testowego Robot-a w Rational Repository; są one łatwe do analizy, co może wspierać modyfikację skryptów.
- Skrypty generowane w jednym z systemów Windows mogą być powielane bez przetwarzania w innych starszych lub nowszych wersjach tego popularnego systemu operacyjnego.
Rational® Manual Tester – narzędzie służące do tworzenia i wykonywania testów manualnych. Narzędzie służy do tworzenia i wykonywania przypadków testowych, wspiera ich dystrybucję oraz ułatwia ich ponowne użycie. Może służyć nie tylko testerom, ale również analitykom biznesowym. Dzięki integracji z Rational ClearQuest można w łatwy i szybki sposób raportować defekty, a dzięki wsparciu wprowadzania danych i ich weryfikacji redukuje ludzki czynnik (błędy wynikające z niepoprawnie wprowadzonych danych). Również generowanie raportów z testów jest bardziej niż uproszczone. Dzięki opcji import można łatwo zaimportować przypadki użycia stworzone wcześniej w Microsoft Word lub w Excel. Manual Tester jest częścią IBM Rational Functional Tester, co wspiera koordynację pomiędzy testami automatycznymi a ręcznymi.
Korzyści:
- Zmiany oprogramowania podczas testów mogą powodować konieczność zmiany przypadków testowych, dzięki podziałowi testów na bloki, które mogą być dodawane albo usuwane z przypadku testowego. Zmiany w jednym bloku powodują automatyczne zmiany we wszystkich przypadkach użycia zawierających ten blok
- Redukuje błędy człowieka podczas wykonywania testów poprzez ścisłą kontrolę każdego kroku. Informacje o kolejnych czynnościach wyświetlane są na ekranie tak, że każdy, nawet bez przygotowania testerskiego, może wykonać testy
- Interfejs wspiera załączanie obrazków oraz dokumentów
- Edytor tekstu umożliwia zmianę czcionek, kolorów tekstu by ułatwić wykonanie testów
- Możliwe jest tworzenie typów rezultatów testów.
Przykładowe okienko narzędzia.
Rational® Functional Tester – narzędzie automatyzacji testów funkcjonalnych i regresyjnych. Narzędzie wspiera testowanie oparte na danych. Nowicjusze mogą dzięki niemu łatwo wprowadzić automatyczne testowanie, zaawansowani użytkownicy mogą pisać skrypty w jednym z wielu języków lub użyć edytorów takich jak Java w Eclipse® czy Microsoft® Visual Basic .NET® w Visual Studio.NET. Dzięki technologii ScriptAssure™ można łatwo zarządzać zmianami w interfejsie, które są zmorą każdej automatyzacji. Rozbudowane wsparcie kontroli wersji ułatwia rozwój skryptów testowych przez rozsiane zespoły testerskie. Analiza testów jest ułatwione dzięki specjalnemu wglądowi w logi testów, w których zawiera się status testu czy informacje o środowisku. Narzędzia IBM rodziny Rational to kompleksowa obsługa testów na wszystkich ich poziomach. Aplikacje dają pełną kontrolę nad procesem testowym, ale ich cena przekłada się na ich użyteczność. Wdrożenie tych narzędzi wymaga długiej analizy „za” i „przeciw” z uwzględnieniem potrzeb organizacji i zakresu użycia narzędzi. Polecam pobranie ze strony IBM wersji testowych wyżej opisanego oprogramowania przed podjęciem decyzji o jego implementacji.