Środowisko do testowania oprogramowania obiektowego TOSTER
( The Object-oriented Software Testing EnviRonment )

 

 
Strona główna
Ogólna koncepcja
Proces testowania
Implementacja
Środowiska
Metody testowania
English

Metody testowania

Aktualnie przygotowywane są dwie metody testowania oprogramowania obiektowego:

a) specyfikacja sekwencji

Metoda zaproponowana została przez Shekar Kirami and W.T. Tsai  i opublikowana w Object-Oriented Programming Oct. pp28-38. Obiekt posiada swój stan oraz udostępnia pewien zbiór metod. Metody modyfikują wartości atrybutów które składają się na stan obiektu. Wykonanie metody w odpowiedzi na komunikat wpływa więc na stan. Stan obiektu zależy więc od zbioru komunikatów jakie dostał. Wynik metody zależy od poprzednio wykonanych metod. Poprawność zależy więc od kolejności wykonania metod. Specyfikacja sekwencji zapewnia właśnie kontrolę poprawności kolejności wywołań metod danej klasy.

Metoda zaimplementowana w środowisku TOSTER odczytuje na podstawie diagramu stanów poprawną sekwencje medod dla każdej z testowanych klas. Następnie w czasie testu sprawdza czy wykonywane na obiekcie metody tworzą poprawną sekwencje

b) metoda wektora stanu.

Metoda zaproponowana przez C.D. Turner oraz D.J. Robson w artykule ‘The State-based Testing of Object-Oriented Programs’  ‘Proc. IEEE Conf. Software Maintenance.’ 1993. Metoda ta opiera się na spostrzeżeniu, iż stan obiektu danej klasy określany jest przez odpowiednie wartości pewnego podzbioru jego atrybutów. Mając diagram stanów opisujący daną klasę można każdemu ze stanów znajdującemu się na takim diagramie przyporządkować zbiór wartości atrybutów które pozwalają stwierdzić iż obiekt znajduje się w dokładnie tym stanie. W ten sposób każdy stan jednoznacznie opisywany jest przez wektor wartości atrybutów. Wartości atrybutów mogą być szczegółowe (konkretna wartość) lub ogólne (przedziały wartości lub zbiory wartości szczegółowych).

Realizacja powyższej metody w środowisku Toster polega na specyfikowaniu wektorów stanów przy użyciu określonych wartości atrybutów. Następnie kod źródłowy programu modyfikowany jest w taki sposób, aby przed oraz po wykonaniu każdej metody obiektu testowanej klasy wyznaczany był aktualny stan obiektu ( na podstawie wartości atrybutów). Na tej podstawie sprawdzana jest poprawność sekwencji wywołań metod oraz poprawność tranzycji stanów.

 

 

Copyright © 1999-2000 Artur Lasota Sebastian Nowak All Rights Reserved

SourceForge Logo