Zakres testów

June 14th, 2007

Testy ze względu na zakres aplikacji, jaki obejmują dzielą się na:

Testy jednostkowe (Unit tests) - Testowanie na najniższym poziomie, podczas którego poszczególne metody (funkcje) testowane są pojedynczo, w oderwaniu od reszty aplikacji w celu sprawdzenia pod kątem zgodności ze zdefiniowanym typem/zakresem danych wejściowych.

W odniesieniu do testów jednostkowych, używana jest również nazwa “testy modułowe” lub “testowanie komponentów”. Testy na tym poziomie przeprowadzane są przeważnie przez programistów z użyciem przygotowanych wcześniej danych testowych.

Testy integracyjne - Kiedy zbiór komponentów zostanie przetestowany, następnym krokiem jest upewnienie się, że interfejsy pomiędzy owymi komponentami są zdefiniowane poprawnie i współdziałają ze sobą.

Testowanie integracyjne wykonywane jest w celu wykrycia błędów w interfejsach i interakcjach pomiędzy modułami (assembly testing). Przykład: Testujemy komunikację pomiędzy modułem przechowującym i udostępniającym zbiór parametrów, a modułem używającym tych parametrów przy inicjacji, np. do wypełnienia pól formularza domyślnymi wartościami.

Współczesne aplikacje składają się przeważnie z wielu współpracujących systemów, należy więc sprawdzić czy komunikacja pomiędzy nimi nie jest zakłócona.

Podejście do testów integracyjnych:

Top - Down (od góry do dołu)

  • Moduły znajdujące się na na najwyższym poziomie są testowane jako pierwsze
  • Moduły znajdujące się w hierarchii poniżej, zastępowane/symulowane są przez zaślepki (stubs)
  • Testowane moduły używane są do testowania niżej położonych komponentów
  • Proces testowy jest kontynuowany do momentu przetestowania komponentów znajdujących się na najniższym poziomie

Bottom - Up (od dołu do góry)

  • Najniżej położone komponenty testowane są jako pierwsze
  • Drivers(ang.) symulują komponenty położone wyżej w hierarhii
  • Testowane moduły używane są do testowania wyżej położonych komponentów
  • Proces testowy jest kontynuowany do momentu przetestowania komponentów znajdujących się na najwyższym poziomie

Big Bang (tłumaczenie jest adekwatne do tego co dzieje się z sytemem)

  • Błędy występujące w interfejsach komponentów wykrywane są w bardzo późnej fazie procesu testowego
  • Trudno jest określić miejsce w którym występuje defekt. Czy przyczyna błędu leży w komponencie czy w interfejsie.
  • Istnieje wysokie prawdopodobieństwo niewykrycia krytycznych błędów, które mogą ujawnić się dopiero w wersji produkcyjnej systemu
  • Trudno upewnić się czy wszystkie przypadki z poziomu testów integracyjnych są pokryte testami.

Testy systemowe - Celem przeprowadzania testów systemowych jest sprawdzenie, czy zintegrowany już system spełnia wymagania funkcjonalne oraz wymagania systemowe zawarte w specyfikacji.

Testy akceptacyjne - walidacja systemu pod kątem zgodności z wymaganiami klienta, który na swoim środowisku wykonuje przypadki testowe przy udziale przedstawicieli projektu. Kiedy system zostaje zaakceptowany, następuje uruchomienie na środowisku produkcyjnym.

Tags: ,

LoadRunner FAQ 1

May 16th, 2007

Czym są testy obciążeniowe? - testy tego rodzaju pozwalają stwierdzić czy aplikacja jest zdolna podołać obciążeniu wynikającemu z wielkiej liczby użytkowników używających jej w tym samym czasie oraz obsłużyć wynikającą z tego liczbę przeprowadzanych transakcji.

Na czym polegają testy wydajnościowe? - testy te polegają na mierzeniu czasu w jakim wykonują się transakcje (operacje odczytu, aktualizacji danych) w celu stwierdzenia czy funkcje systemu są wykonywane w akceptowalnym przedziale czasowym. Test wydajnościowy powinien być przeprowadzony dla pojedynczego, a następnie dla wielu użytkowników aby móc określić wpływ wykonania wielu operacji jednocześnie na czas jaki jest potrzebny na przeprowadzenie pojedynczej transakcji.

Z jakich komponentów składa się LoadRunner?

  • Generator wirtualnych użytkowników,
  • Kontroler wraz z agentem procesów,
  • Moduł analizy i monitorowania,
  • Dokumentacja.

Który komponent LoadRunner jest używany do nagrywania skryptów? - komponent o nazwie The Virtual User Generator (VuGen) jest używany do nagrywania skryptów. Pozwala on na dostarczanie skryptów działających dla różnych typów aplikacji i protokołów komunikacyjnych.

Jaki komponent LoadRunner służy do uruchamiania nagranych wcześniej skryptów? - do uruchamiania skryptów w trybie symulującycm wielu wirtualnych użytkowników, służy komponent o nazwie The Controller.

Czym jest “rendezvous point” ? - Punkt taki jest umieszczany w skryptach aby emulować możliwie największe obciążenie serwera. Punkt informuje wirtualnych użytkowników aby po dotarciu do niego zaczekali na pozostałych. Po dotarciu do Punktu wszystkich użytkowników, mogą oni jednocześnie podjąć zaplanowaną akcję. Np.. Aby zasymulować obciążenie serwera bankowego, Punkt może zostać ustawiony tuż przed operacją wpłaty na konto. Po osiągnięciu Punktu przez 1000 virtualnych użytkowników, podejmują oni jednocześnie akcję wpłaty.

Czym jest scenariusz? - Scenariusz definiuje wydarzenia i akcje, które są podejmowane podczas sesji testowej. Np. liczbę writualnych użytkowników do symulowania obciążenia, akcje, jakie zostaną przez nich podjęte, komputery na których będą działać wirtualni użytkownicy.

Tags: , ,

IBM Rational Functional Tester

March 30th, 2007

IBM Rational Functional Tester, poprzednio znany jako XDE Tester, jest narzędziem, które pozwala użytkownikom na nagrywanie, edycję i uruchamianie skryptów. Jako część Rational Software Suite, integruje się z Rational TestManager, który składuje skrypty oraz wyniki ich wykonywania.
Użytkownicy tworzą i modyfikują skrypty testowe używając zarówno Java jak i Visual Basic .NET, więc pewna wiedza programistyczna jest niezbędna. Functional Tester jest przeznaczony do testowania aplikacji Java, .NET i aplikacji webowych, ale nie aplikacji w architekturze klient-serwer.
Functional Tester rozpoznaje obiekty GUI w aplikacji podczas uruchamiania testów poprzez wykorzystanie Object Map - kolekcji właściwości każdego obiektu w skrypcie.
Object Map może być współdzielona pomiędzy wieloma skryptami testowymi, więc kiedy następuje zmiana w GUI, musi ona zostać odwzorowana jedynie w Object Map, a nie w każdym skrypcie testowym. Functional Tester zawiera także kreatory dzięki którym można wstawić punkty weryfikacyjne i podłączenia dynamicznych danych do skryptów testowych.

Tags: , , ,

QuickTest Professional

March 26th, 2007

QuickTest Professional jest oferowany przez firmę Mercury, jednego z wiodących na rynku dostawców narzędzi do automatyzacji testów. Mercury QuickTest Professional jest łatwiejszy w użytkowaniu niż WinRunner. Jednym z powodów jest funkcjonalność określana jako “keyword-driven” pozwalająca na łatwiejsze tworzenie skryptów i ich modyfikowanie.

Wiele elementów, które wymagają ręcznego pisania kodu w WinRunner, jak dodawanie do skryptów pętli lub bloków IF, może zostać wykonane w QuickTest poprzez wbudowaną funkcjonalność bez konieczności ręcznego pisania kodu. Założeniem było danie osobom bez przygotowania programistycznego narzędzia, którego można nauczyć się i używać łatwiej niż WinRunner.

QuickTest integruje się z aplikacją TestDirector. QuickTest uruchamia automatyczne skrypty, natomiast TestDirector składuje wyniki testów oraz same skrypty.

Mercury sugeruje, że w przyszłości nowe funkcje będą dodawane w pierwszej kolejności do QuickTest, zaś dopiero potem do WinRunner. Firma nie może zaprzestać supportu WinRunner z powodu dużej liczby użytkowników.

Tags: , , ,

Czym jest testowanie?

March 8th, 2007

Zapewnienie jakości “Software Quality Assurance”
Jest integralną częścią całego procesu SDLC. Monitoruje i usprawnia proces, zapewnia stosowanie uzgodnionych wcześniej standardów i procedur. Jest zorientowane na zapobieganie mogącym pojawić się problemom.

Testowanie “Software Testing”
Testowanie oprogramowania jest działaniem, polegającym na wyszukiwaniu błędów w systemie w oparciu o zdefiniowane warunki oraz oceną rezultatów wykonanych działań.
Testowanie zorientowane jest na wykrywanie błędów.

Tags: ,

Pages: Prev 1 2 3 4 5 6 7 8