You are on page 1of 8

TEST GENERATION STRATEGIES FOR PAIRWISE TESTING

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

1. PAIRWISE TESTING(TODO) 1.1. DEFINICJA(TODO)

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

1.2. NP -COMPLETE PROBLEM

Problem generacji najmniejszego moliwego zestawu przypadktw testowych jest problemem NP-zupenym

2. PRZEGLD METOD GENERACJI ZESTAWW TESTOWYCH O WASNOCI POKRYCIA PAROWEGO(PAIR-WISE) (TODO)

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)

Rysunek 2 Macierz 3x3 kwadratu aciskiego Rysunek 1 klasyfikacja Metod Generacji

Metody deterministyczne

2.2. ORTOGONALNE KWADRATY ACISKIE 2.2.1. INFORMACJE PODSTAWOWE


Kwadraty aciskie(ang. Latin squares) s znanym zagadniemiem matematycznym. Pierwsze zastosowanie tej metody do testowania nastpio przez Mandla, a pniej gruntownie opisane zostao przez Wiliamsa i Proberta. Kwadrat aciski jest macierz N x N kompletnie wypeniona symbolami ze zbioru o licznoci N. Macierze ta posiada wasno, e kady symbol wystpuje dokadnie raz w kadym wieszu i kolumnie. Przykad macierzy Latin square 3x3 dla zbioru {1,2,3}. Pojedycza macierz aciska N x N moe obsuy do trzech parametrw, a kady z nich moe mie liczno N. Kwadrat pokazany powyej moe by uyty dla problemu z trzema parametrami, a kady z nich moe przyj trzy moliwe wartoci. Kada pozycja w kwadracie aciskim reprezentuje warto dla pojedyczej konfiguracji testowej. Pierwszy parametr przyjmuje za warto indeks wiersza elementu. Drugi parametr przyjmuje za warto

indeksu kolumny elementu. Trzeci parametr przyjmuje za warto warto elementu macierzy. Dla przykadu zaznaczony element w kwadracie odpowiada konfiguracji (3, 2, 1).

2.2.2. ORTOGONALNE KWADRATY ACISKIE

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 .

2.2.3. OGRANICZENIA ISTNIENIA KWADRATU ACISKIEGO

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.

2.2.4. ALGORTYM KONSTRUKCJI KWADRATU ACISKIEGO:

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 ( ) .

2.2.5. TWORZENIE KONFIGURACJI TESTOWYCH


Z ortogonalnych kwadratw aciskich wanie utworzonych, utworzymy konfiguracje testowe. Chocia elementy ciaa w kwadratach s * +, moemy przenumerowa te elementy na * +, aby odpowiaday wartoci parametrw. Jeli zczymy trzy ortogonalne kwadraty otrzymamy: Mona zauway, e wszystkie krotki s rne, wic kwadraty s ortogonalne. Kady uporzdkowana trjka reprezentuje testow konfiguracj dla problemu z 5 parametrami, a kady z nich posiada 4 wartoci. Konfiguracje testowe tworzymy, uywajc za pierwszy parametr indeksu wiersza, za drugi parametr indeksu kolumny, a pozostae trzy parametry przyjmuj wartoci uporzdkowanej trjki z macierzy zczenia. Na przykad, zaznaczona trjka (3, 4, 2), reprezentuje testow konfiguracje (3, 1, 3, 4, 2). Ponisza tabela pokazuje kompletny zbir konfiguracji testowych
Rysunek 4 konfiguracja testowa dla 5 parametrw, kady z 4 wartociami

STOSOWANIE METODY W PRAKTYCE

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.

2.3. IN PARAMETER ORDER(IPO) (TODO)


Algorytm generuj startuje od generacji zestawu testowego z pokryciem parowym dla dwoch parametrw. W kadym kolejnym kroku rozszerza poprzedni zestaw testowy tworzc zestaw pokrycia parowego obejmujcy kolejny parametr, do momentu gdy wszystkie parametry zostan pokryte. Rozszerzanie zestawu testowego skada si z dwch etapw: rozszerzenia horyzontalnego i wertykalnego. Pierwsza cz algorytmu rozszerza istniejce zestawy testowe o kolejny parametr, a cze druga dodaje przypadki testowe w wypadku gdy porzedni krok nie wygenerowa pokrycia parowego dla wybranych parametrw.

IPO_H horyzontalne poszerzenie:

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

2.4. ALGORYTMY GENETYCZNE(TODO)


Metod generacji przypadkw testowych opart jest o prosty algorytm genetyczny moemy zaliczy do niedeterministycznych losowych metod, gdy w swoim dziaaniu wykorzystuj probabilistyczne metody wyboru. Chromosomami s cigli liczbowe reprezentujce zestawy testujce. Eksperyment Operatory genetyczne PWiseGen Przypisy

You might also like