Professional Documents
Culture Documents
Student: Krzysztof Danielewicz Opis: Praca przegldowo-implementacyjna. Opisywaaby rne, wystpujce w literaturze, podejcia do generowania testw w strategii pair-wise. Do pracy mona doczy aplikacj implementujc te strategie. Dla ambitniejszego studenta: zrobi gbszy research w tej tematyce i zaproponowa wasne rozwizania.
-1 WSTP( JAK PRACA BDZIE GOTOWA) CEL PRACY DEL 0. ROZDZIA O TESTOWANIU / JEDNOSTOWE, INTEGRACYJNE, / BIALOSKRZYNKOWE / CZARNOSKRZYNKOWE -> PAIRWISE -CZARNOSKRZYNKOWA: (TODO) 0.1. SOWNICTWO: (TODO)
Przypadek testowy - test case, zestaw testowy - test suite
Pair-wise testing dla kadej pary moliwych wartoci parametrw wejciowych wystpuje co najmniej jeden przypadek testowy w zestawie testowym. Zbior wymagan testowych Dla Pairwise, -> wszystkie moliwe pokrycja par
Problem generacji najmniejszego moliwego zestawu przypadktw testowych jest problemem NP-zupenym
2.1. KLASYFIKACJA
Constructing Pairwise Test Suites The main techniques for constructing pairwise test suites can be classified three categories: mathematical methods, greedy algorithms, and meta-heuristic strategies. Mathematical methods for generating pairwise test suites usually require that each factor has the same number of values, which restrict the universality of this kind of methods. The use of orthogonal arrays belongs to this category [15], [16]. Greedy algorithms start with an empty set T and add one test at a time according to some policies like covering the most uncovered pairs [2]. Final T is a solution. The representatives of greedy algorithms include the Automatic Efficient Test Case Generator (AETG) [2], the In Parameter Order (IPO) algorithm [1], [6], [7], the Test Case Generator (TCG) [17] and the Deterministic Density Algorithm (DDA) [5]. Metaheuristic approaches begin with individual or population test suite(s) and transform this or these test suite(s)` according to various search strategies. The final answer will be found when stopping conditions are met. This kind of approaches mainly includes hill climbing [8], great deluge algorithm [8], simulated annealing [8][10], tabu search [18] and genetic algorithms [9], [19]. In general, greedy algorithms run faster, while meta-heuristic strategies can discover better answers at higher costs [8]. Kombinatoryczne strategie generacji mona sklasyfikowa ze wzgldu na rne kryteria podobiestwa. Wystpuj kilkanacie metod generacji zestaww testowych. Czynniki wsplne mona dostrzec w sposobie tworzenia pojedynczych przypadkw, caych zestaww czy stopienia losowoci algorytmu. W literaturze znajduj si podzia zaproponowany przez M.Gindal, J. Offutt, S. F. Andleri. Wyrni moemy trzy podstawowe grupy algorytmw: niedeterministyczne, deterministyczne i zoone(ang. Compound). Pierwsza grupa zawiera algorytmy algorytmy, ktre oparte s na pewnym stopniu losowoci. Dla okrelonych parametrw modelu wejciowego, algorytmy te generuj rnice si zestawy testowe. Najprostszym przykadem tej strategii generacji to losowe wybieranie wartoci parametrw dla przypadkw testowych. Innym rodzajem niedeterministycznych algorytmw s metody bazujce na heurystyka. Nale do nich AETG i CAST. Kolejn klasa metod generacji s deterministyczne strategie, w ktrych za kadym razem otrzymujemy zawsze te same rezultaty dla okrelonych danych wejciowych. Natychmiastowe strategie kombinatoryczne (Instant combination strategies) czyli tablice ortogonalne(Orthogonal Arrays) i tablice pokrycia (Covering Arrays) generuj zestawy testowe bezporednio(w miejscu, instant). Najwiksz podgrup s strategie iteracyjne. Metody te maj t wasno, e zajmuj si generuj jednego przypadku testowego i dodaj go do ju wygenerowanych tworzc zestaw testowy. Iteracyjne metody generacji to: Each Choice (EC), Partly Pair-Wise (PPW), Base Choice (BC), All Combinations (AC), and Anti-random (AR). Wyrniamy algorytmy deterministyczne bazujce na waciwociach parametrw szukanych zestaww testowych. Znajduj si w nich metoda In-Parameter-Order, ktra zaczyna od generacji zestawu testowego dla podzbioru parametrw wejciowych. Nastpnie w kadej iteracji kolejny parametr jest dodawany, a zestaw testowy jest modyfikowany by pokry ten parametr. Ostatni gwn grup strategii generacji kombinatorycznych s metody zoone(Compund), ktre bazuj na uyciu dwch lub wicej algorytmw w celu uzyskania zestawu testowego. Przykadami takich metod AC+ Rand(All Combination + Random) i BC+AETG(Best Choice + Automatic Efficient Test Generation)
Metody deterministyczne
indeksu kolumny elementu. Trzeci parametr przyjmuje za warto warto elementu macierzy. Dla przykadu zaznaczony element w kwadracie odpowiada konfiguracji (3, 2, 1).
Dla obsuenia wiekszej liczby parametrw, potrzebujemy zbioru ortogonalnych kawadratw aciskich. Zbir kwadratw aciskich s jest ortogonalny, jeli macierz poczenia zoona z uporzdkowanych s-elementowych krotek elementw kazdej z macierzy nie ma powtarzajcych si elementw. Zamy, e mamy dwie macierze [aij] i [bij]. Poczona macierz [cij] gdzie elementy cij = (aij, bij). Jeli cij crq dla kadego r i oraz j q, to macierze [aij] i [bij] s ortogonalne.
Rysunek 3 ortogonalne kwadraty aciskie 3 x 3, obok macierz poczenia
Jeli w modelu wejciowym wystpuje k parametrw, wtedy k 2 ortogonalnych kwadratw aciskich jest potrzebnych do generacji zestawu testowego. Dwa parametry przyjmuj wartoci indeksw wierszy i kolumn, a pozostae przyjmuj wartoci ortogonalnych kwadratw aciskich. W systemie z k parametrami i v wartociami dla kadego parametru (system z konfiguracjami), metoda ortogonalnych kwadratw aciskich redukuje ilo przypadkw testowych do .
Zawsze moliwe jest skonstruowanie pojedyczego kwadratu aciskiego n x n dla kadego n. Jednake, Mandl[1] i Hall [2] udowodnili, e wystpuj pewne ograniczenia instnienia zbiorw ortogonalnych kwadratw aciskich: - Dla kadego n, istnieje co najwyej n 1 wzajemnie ortogonalnych n x n kwadratw aciskich. - Jeli p jest najmniejsza liczb pierwsz w rozkadzie na czynniki pierwsze oraz wystpuje i razy w rozkadzie, to istnieje przynajmniej ortogonalnych kwadratw aciskich. Dla liczby n ktra posiada nastpujcy rozkad na czynniki pierwsze , gdzie p liczba pierwsza i liczba cakowita. Dymy do znalezienia najwiekszej moliwej iloci ortogonoalnych kwadratw aciskich gdy, mog one pokry modele z du ilocia parametrw. Istnieje rwnie praktyczny algorytm konstrucji takich kwadratw. Jednak, warunki istnienia pokazuj przykadowe problematyczne przypadki, np. dla ( ) i mamy gwarancje istnienia tylko jednego kwadratu aciskiego. Najtrudniejszym przypadkiem jest , poniewa nie znaleziono dwch kwadratw aciskich. Dla , zostao pokazane (Hall [2]), e istnieje przynajmniej 2 ortogonalne kwadarty aciskie.
Algorytm konstrukcja pochodzi z Gilbert[2] i wykorzystuje wynikw z teori cia skoczonych z algebry. Ciao skoczone z pm elementami jest zwane ciaem Galios rzdu pm i oznaczane jest GF(pm). Ciao Galios istnieje, dla kadej liczby pierwszej p i kadej liczby cakowitej . Dla , zbir jest ciaem Galios rzdu p. Dla , ciao Galios ( ) moe by utworzone w podobny sposb, jak ciao liczb rzeczywistych jest rozszerzone do ciaa liczb zespolonych. W ciele liczb rzeczywistych, wielomian ( ) jest nie rozkadalny. Jednake, gdy zdefiniujemy nowy element ciaa jako miejsce zerowe , liczby rzeczywiste s rozszerzone do zespolonych. Niech , - oznacza zbir wielomianw ze wspczynnikami w . Aby rozszerzy do ( ), znale trzeba wielomian ( ) stopnia , nierozkadalny w , -, a przez definiujemy ( ) . Wtedy, wielomiany , -, stopnia mniejszego ni m mog by uyte jako nowe elementy ciaa by tworzy ( ). Algorytm: Niech ( ) * + bdzie skoczonym ciaem rzdu , gdzie , a . Zdefiniujmy ( ) dla , gdzie dla . Wtedy, jest kwadratem aciskim, a * + wzajemie ortogonalne. Przykad: Do zademonstrowania uycia algorytmu , rozwamy przypadek konstrukcji trzech ortogonalnych kwadratw aciskich 4 x 4. Najpierw, musimy stworzy ciao skoczone Galios ( ) * +, z i . ( ) ( ), wic zaczynamy od zbioru liczb cakowitych mod 2, * +. Nastpnie, musimy znale wielomian ( ) w , - taki, e ( ) jest stopnia 2 i jest nierozkadalny w , -. Wybierzmy za ( ), i zdefiniujmy nowy element taki, e w ( ). Wtedy, ( ) , - * +. Poniewa , , mona utworzy z tablicy addytywnosci(dodawania) dla ( ): moe by otrzymane ze wzoru: . Przy obliczaniu kwadratu aciskiego korzystamy z rwnoci w ( ), . otrzymujemy z rwnania ( ) .
Metoda ortogonalnych kwadratw aciskich opiera si na kilku zaoeniach, ktre mog by nie zawsze spenione. Zaoenia te to:
1. Wszystkie parametry posiaday taka sama liczb wartoci 2. Kady parametr by niezaleny 3. Wystarczajca ilo ortogonalnych kwadratw aciskich istniaa.
Algortym IPO_H(T, Pi) { // Kady parametr zawiera zawiera wartosci v1, v2,.., vq; // T - suita testowa speniajca pairwise dla parametrw od p1 do pi-1 = {Pary pomidzy wartociami parametru pi a wartocami parametrw p1, .., pi-1}; if |T|< q { for 1 j |T| { rozszerz test j w T przez dodanie wartoci vj; usu pary, ktre zostay pokryte z , przez wyduenie testu; } } else { for 1 j q { rozszerz test j w T przez dodanie wartoci vj; usu pary, ktre zostay pokryte, przez wyduenie test; } for q j |T| { rozszerz test j przez dodanie wartoci Pi takiej, e pokryje najwicej par w ; usu pary, ktre zostay pokryte, przez wyduenie test; } } }
Mats Grindal, Jeff Offutt, Sten F. Andler Combination Testing Strategies, GMU Technical Report ISETR-04-05, July 200
i
DYSKUSJA(TODO)
Przy kazdym algorytmie
PODSUMOWANIE(TODO)
Szczatkowe wnioski, co zawierala praca,
Algortym IPO_V(T, ) { T= {} for pary w { Para zawiera wartoci w dla pk, u dla pi, gdzie 1 k < i; if (T zawiera przypadek testowy z - jako warto pk i u jako warto pi) { Zmodyfikuj przypadek testowy wstawiajc za - w ; } else { Dodaj nowy przypadek testowy do T, ktry ma w dla parametru pk oraz u dla parametru pk, a - dla pozostaych parametrw; } } T = T T