Testowanie automatyczne

Transkrypt

Testowanie automatyczne
Complexity made simple.
Solution
Testowanie automatyczne
Automatyzacja testowania umożliwia wykonanie wielu czynności znacznie wydajniej
niż w przypadku testów manualnych. Identyczne testy mogą być wykonywane
w zróżnicowanych konfiguracjach sprzętowych, na odmiennych systemach
operacyjnych, z wykorzystaniem różnych baz danych czy przeglądarek internetowych.
Poprzez lepsze usystematyzowanie i większą konsekwencję w wykonaniu testów,
zyskuje cały proces zapewnienia jakości.
Kluczem do wartościowych testów automatycznych są dobrze zaprojektowane, dynamiczne
scenariusze. Wymagają one więcej wysiłku na etapie przygotowania – stworzenie efektywnego
scenariusza jest kilkukrotnie bardziej pracochłonne niż napisanie scenariusza do testowania
manualnego, jednak zwrot z inwestycji następuje w trakcie testów kolejnych wydań programu.
Automatyczne testy wykonują się dużo szybciej niż manualne, dzięki czemu czas i koszt
potrzebne na testowanie nowego wydania mogą zostać znacząco zmniejszone.
Cele automatów: GUI
Komplementarna weryfikacja
rozmieszczenia elementów UI
(przyciski, listy, obrazki, linki itd.)
na konkretnych stronach/oknach.
Dynamiczna weryfikacja danych
wyświetlanych w tabelach, będących
efektem uprzednio przeprowadzonych
operacji.
Sprawdzanie działania walidacji pól
pozwalających na wpisanie danych
przez użytkownika.
Automatyczne wykonywanie ścieżek
lub sekwencji na graficznym interfejsie
wraz z zapisywaniem historii przebiegu
oraz zrzutów ekranu (screenshotów).
Możliwość budowy inteligentnych
skryptów sterowanych danymi z baz
lub arkuszy danych.
API/WEBSERVICES
Możliwość budowy sekwencji wywołań
różnych metod w kolejnych krokach,
wraz z dynamicznym przekazywaniem
parametrów między nimi.
Walidacja zarówno pod względem
formy jak i treści danych
przychodzących w odpowiedzi.
Zalecamy przygotowanie zestawu automatycznych testów regresyjnych co najmniej
dla kluczowych funkcjonalności, których manualne testowanie jest powtarzane najczęściej.
Istotna może być również kompleksowość – zdarza się, że manualne przetestowanie wszystkich
kombinacji przypadków lub ścieżek jest bardzo pracochłonne, podczas gdy dynamiczny
automat mógłby je przetestować dla każdego kolejnego wydania przy minimalnym nakładzie
pracy testera.
Opcja dynamicznego (skryptowego)
zarządzania procesami budowania
zapytań i weryfikacji odpowiedzi.
Bazując na oczekiwaniach Klienta i biznesowej specyfice produktu, doradzamy efektywne
rozwiązania, budujemy zestawy automatów odzwierciedlających rzeczywiste użycie produktu,
wykonujemy testy na środowiskach własnych lub Klienta. Podejmujemy starania, by dostarczone
przez IMPAQ rozwiązania były maksymalnie przejrzyste, konfigurowalne, proste w obsłudze
i interpretacji wyników.
Używane przez nas narzędzia:
Selenium, JMeter, IBM Rational Functional
Tester, HP Quality Center, HP QuickTest
Professional, Fitnesse, BadBoy, Robot
Framework, soapUI, loadUI i inne.
Szybki proces przekształcania testów
regresyjnych w wydajnościowe i/lub
obciążeniowe.
Rodzaje testów automatycznych
Testy regresyjne w fazie utrzymania: przygotowany w czasie tworzenia oprogramowania
zestaw testów jest wykorzystywany w fazie utrzymania. Przy niewielkim nakładzie pracy
można zweryfikować, czy mała zmiana nie odbiła się na jakości istniejących funkcjonalności.
Testy wydajnościowe (performance) przeprowadza się w celu weryfikacji, jak poszczególne
komponenty systemu zachowują się w konkretnej sytuacji przy ustalonym obciążeniu
(nieprzekraczającym wartości progowych). Weryfikuje się użycie zasobów, skalowalność
oraz niezawodność, które pozwalają na wykrycie potencjalnych krytycznych problemów
– jeszcze przed dostarczeniem aplikacji Klientom końcowym.
Testy obciążeniowe (load) mają na celu monitorowanie zachowania systemu przy stale
wzrastającym obciążeniu, aż do czasu osiągnięcia wartości progowej i utrzymaniu tego stanu
przez dłuższy okres. Celem testów jest wykrycie usterek związanych z przepełnieniem bufora,
wycieków i złego zarządzania pamięcią oraz określenie górnej granicy obsługi dla wszystkich
komponentów aplikacji, takich jak bazy danych, sprzęt sieciowy itd. Posiadając statystyki
(wzrastającego) użycia aplikacji można planować ulepszenia po stronie architektury lub sprzętu.
Testy przeciążeniowe (stress) są wykonywane przy ilości użytkowników przekraczających
wartości progowe i malejących zasobach systemowych. Celem jest zbadanie czy system
„zawiedzie” w oczekiwany sposób. Testy przeciążeniowe umożliwiają znalezienie defektów
w aplikacji działającej w trybie awaryjnym, pozwalają również zweryfikować, czy po awarii
spowodowanej obciążeniem nie doszło do utraty danych.
KOSZT WYKONANIA
TESTÓW/WYDANIE
Wybrane projekty
Projekt automatyzacji testów regresji
przeprowadzony na zlecenie wiodącej
firmy ubezpieczeniowej.
Zebranie i analiza wymagań przy ścisłej
współpracy z Klientem.
Stworzenie skryptów testowych.
Pilotażowa implementacja.
Dodanie testowania automatycznego
do procesu tworzenia build’u – wsparcie
Continuous Integration.
Szkolenia personelu Klienta.
Testy wydajnościowe dla jednego
z banków operujących na rynku polskim.
Analiza wymagań wydajnościowych.
Sporządzenie skryptów testowych,
parametryzowanych dynamicznie.
Wykonanie testów wydajnościowych
na środowiskach Klienta.
Opracowanie wyników końcowych
wraz z sugestiami potencjalnego rozwoju oprogramowania i infrastruktury.
Testy wydajnościowe i obciążeniowe
na zlecenie dostawcy usług IT dwóch
wiodących operatorów telefonii
komórkowej w Polsce.
Aranżacja środowiska zarządzającego
i nadzorującego wykonanie testów.
Kluczowe benefity automatyzacji
Skrócenie czasu wykonania testów regresji – przyspieszenie cyklu testowania.
Szybki czas weryfikacji kluczowych funkcjonalności nowej wersji oprogramowania.
Eliminacja błędów ludzkich i niekonsekwencji w realizacji testu.
Raportowanie wyników w czasie rzeczywistym oraz jednoznaczność ich interpretacji.
Możliwość wielokrotnego wykorzystania zestawu testów i ciągłego działania 24h/dobę
przez 7 dni w tygodniu.
Zwiększenie pokrycia kodu testami – modyfikowalne logiki i kombinacje wykonania
Stworzenie scenariuszy i skryptów
testowych – ponad tysiąc
przekrojowych testów do celów pełnej
regresji dotychczasowych usług.
Wykonanie testów wydajnościowych
oraz obciążeniowych uwzględniających
planowane wykorzystanie oraz rozwój
produktu i infrastruktury.
Opracowanie procesów i mechanizmów
monitorowania platform po wdrożeniu.
konkretnych scenariuszy.
Możliwość symulacji obciążeń produkcyjnych jak i ich przekraczania – weryfikacja
zachowania aplikacji w rzeczywistym środowisku i krytycznych sytuacjach.
Oferujemy:
Projektowanie oraz zarządzanie: skryptami, scenariuszami oraz danymi testowymi.
Budowanie i utrzymywanie środowisk testowych na serwerach Klienta lub własnych.
Wykonywanie testów: wydajnościowych, obciążeniowych, przeciążeniowych, regresji,
Dodatkowe informacje na temat IMPAQ
www.impaqgroup.com
akceptacyjnych.
Wsparcie Continuous Integration testami automatycznymi.
Interpretacje wyników, opracowanie raportów zbiorczych i wskaźników jakości.
Justyna Rybarczyk
Kierownik Zespołu
ds. Zapewnienia Jakości
IMPAQ Sp. z o.o.
Os. Tysiąclecia 30, 61-255 Poznań
Tel. +48 61 624 90 35
Fax +48 61 624 90 05
[email protected]

Podobne dokumenty