Co to jest testowanie domeny w testowaniu oprogramowania? (z przykładem)
Co to jest testowanie domeny?
Testowanie domeny jest Testowanie oprogramowania proces, w którym aplikacja jest testowana poprzez podanie minimalnej liczby danych wejściowych i ocenę odpowiednich wyników. Podstawowym celem testowania domeny jest sprawdzenie, czy aplikacja akceptuje dane wejściowe w akceptowalnym zakresie i dostarcza wymagane dane wyjściowe.
Jest Testy funkcjonalne technika, w której moc wyjściowa systemu jest testowana przy użyciu minimalnej liczby wejść, aby upewnić się, że system nie akceptuje nieprawidłowych lub spoza zakresu wartości wejściowych. Jest jednym z najważniejszych Biały Box Testowanie metody. Sprawdza również, czy system nie powinien akceptować danych wejściowych, warunków i indeksów spoza określonego lub prawidłowego zakresu.
Testowanie domeny różni się w przypadku każdej konkretnej domeny, dlatego aby przetestować system oprogramowania, musisz posiadać wiedzę dotyczącą danej domeny.
Prostsza praktyka testowania domeny
Podczas testowania domen dzielimy domenę na subdomeny (klasy równoważności), a następnie testujemy przy użyciu wartości z każdej subdomeny. Przykładowo, jeśli do testów oddano stronę internetową (domenę), dla ułatwienia testów podzielimy ją na małe części (subdomenę).
Dziedzina może obejmować testowanie dowolnej zmiennej wejściowej lub kombinacji zmiennych wejściowych.
Praktycy często badają najprostsze przypadki testowania dziedzin zamiast dwóch innych nazw, „testowania granicznego” i „analizy klas równoważności”.
Testowanie graniczne – Analiza wartości granicznych (BVA) opiera się na badaniu na granicach pomiędzy przegrodami. Będziemy testować zarówno prawidłowe, jak i nieprawidłowe wartości wejściowe w partycji/klasach.
Testowanie klas równoważności – Ideą tej techniki jest podzielenie (tzn. podzielenie) zbioru warunków testowych na grupy lub zbiory, które można uznać za takie same (tj. system powinien obsłużyć je w sposób równoważny), stąd „podział równoważny”.
Ten uproszczony formularz dotyczy testowania domeny –
- Tylko do testów zmiennych wejściowych
- Tylko podczas testowania na poziomie systemu
- Tylko przy testowaniu pojedynczo
- Tylko przy testowaniu w bardzo powierzchowny sposób
Można to uprościć jak poniżej:
Zmienna | Prawidłowa klasa równoważności klas | Nieprawidłowa klasa równoważności klasy | Granice i przypadki specjalne | Komentarz |
---|---|---|---|---|
X | 0-100 | 0 | ||
100 | ||||
<0 | -1 | |||
> 100 | 101 |
Wyjaśnienie:
- Jeśli pole akceptuje zakresy od 0 do 100, pole nie powinno akceptować -1 i 101, ponieważ są to wpisy nieprawidłowe i wykraczają poza granice.
- Pole powinno akceptować wartości takie jak 0,100 i dowolną liczbę pomiędzy nimi.
Budowanie takich stołów (w praktyce)
- Aby zbudować analizę klasy równoważności w czasie, umieść informacje w arkuszu kalkulacyjnym. Zacznij od wylistowania zmiennych. Dodaj informacje na ich temat, gdy tylko je uzyskasz.
- Tabela powinna ostatecznie zawierać wszystkie zmienne. Oznacza to wszystkie zmienne wejściowe, wszystkie zmienne wyjściowe i wszelkie zmienne pośrednie, które można zaobserwować.
- W praktyce większość tabel, które widziałem, jest niekompletna. Najlepsze z nich zawierają listę wszystkich zmiennych i dodają szczegóły dotyczące zmiennych krytycznych.
Strategia testowania domeny
Podczas testowania domeny należy wziąć pod uwagę następujące kwestie:
- Jaką domenę testujemy?
- Jak pogrupować wartości w klasy?
- Które wartości klas należy przetestować?
- Jak ustalić wynik?
Jaką domenę testujemy?
Każda domena, którą testujemy, ma pewną funkcjonalność wejściową i funkcję wyjściową. Należy wprowadzić pewne zmienne wejściowe i zweryfikować odpowiednie dane wyjściowe.
Przykład testowania domeny
- Rozważmy scenariusz testu z jednym wejściem:
C = a+b, gdzie a i b są zmiennymi wejściowymi, a C jest zmienną wyjściową.
W powyższym przykładzie nie ma potrzeby klasyfikacji ani łączenia zmiennych.
- Rozważ poniższe wielokrotne dane wejściowe i odpowiedni scenariusz wyjściowy:
Weźmy pod uwagę wystawę gier dla dzieci. Rozplanowano 6 konkursów, a bilety muszą być przydzielane w zależności od wieku i płci. Sprzedaż biletów to jeden z modułów, który ma zostać przetestowany pod kątem całej funkcjonalności wystawy Games.
Zgodnie ze scenariuszem otrzymaliśmy sześć scenariuszy w zależności od wieku i zawodów:
- Wiek > 5 i < 10 lat. Chłopiec powinien brać udział w opowiadaniu historii.
- Dziewczynki w wieku >5 i <10 lat powinny wziąć udział w konkursie rysunkowym.
- Wiek > 10 i <15 lat. W quizie powinien wziąć udział chłopiec.
- Wiek > 10 i <15 lat, dziewczyna powinna brać udział w pisaniu esejów.
- Wiek < 5 lat. W Konkursie Rymów powinni brać udział zarówno chłopcy, jak i dziewczęta.
- W wieku powyżej 15 lat w konkursie poetyckim powinni brać udział zarówno chłopcy, jak i dziewczęta.
Tutaj wprowadzone zostaną Wiek i Płeć, w związku z czym zostanie wystawiony bilet na zawody. W tym przypadku pojawia się podział wejść lub po prostu grupowanie wartości.
Jak pogrupować wartości w klasy?
Podział niektórych wartości oznacza podzielenie ich na nienakładające się podzbiory.
Jak wspomnieliśmy wcześniej, istnieją dwa typy partycjonowania:
- Podział równoważności – Podział równoważny to a Testowanie oprogramowania technika, która dzieli dane wejściowe jednostki oprogramowania na części równoważnych danych, z których można wyprowadzić przypadki testowe. W zasadzie przypadki testowe są zaprojektowane tak, aby obejmować każdą partycję przynajmniej raz.
- Analiza wartości brzegowych – Analiza wartości brzegowych to a Testowanie oprogramowania technika, w której testy są zaprojektowane tak, aby uwzględnić przedstawicieli wartości brzegowych w zakresie. Pomysł pochodzi z granica.
W powyższym przykładzie dzielimy wartości na podzbiór lub podzbiór. Dzielimy wiek na poniższe klasy:
- Klasa 1: Dzieci w grupie wiekowej od 5 do 10 lat
- Klasa 2: Dzieci w grupie wiekowej poniżej 5 lat
- Klasa 3: Dzieci w grupie wiekowej od 10 do 15 lat
- Klasa 4: Dzieci w grupie wiekowej powyżej 15 lat.
Które wartości klas należy przetestować?
Wartości pobrane do testów powinny być wartościami granicznymi:
- Granice reprezentują klasy równoważności, z których je pobieramy. Są bardziej skłonni do ujawnienia błędu niż inni członkowie klasy, więc są lepszymi przedstawicielami.
- Najlepszym przedstawicielem klasy równoważności jest wartość znajdująca się pomiędzy zakresem.
W powyższym przykładzie musimy przetestować następujące klasy:
Na przykład dla scenariusza nr 1:
- Klasa 1: Dzieci w grupie wiekowej od 5 do 10 lat (wiek > 5 i <= 10)
Wartości graniczne:
- Wartości powinny być równe lub mniejsze niż 10. Dlatego też do tej klasy należy włączyć osoby w wieku 10 lat.
- Wartości powinny być większe niż 5. Dlatego też do tej klasy nie należy włączać dzieci w wieku 5 lat.
- Wartości powinny być równe lub mniejsze niż 10. Dlatego też osoby w wieku 11 lat nie powinny być uwzględniane w tej klasie.
- Wartości powinny być większe niż 5. Dlatego też do tej klasy należy włączyć dzieci w wieku 6 lat.
Wartości podziału równoważności:
O podziale równoważności mówimy wtedy, gdy z każdego podziału trzeba przetestować tylko jeden warunek. W tym przypadku zakładamy, że jeśli jeden warunek w partycji działa, to wszystkie warunki powinny działać. W ten sam sposób, jeśli jeden warunek w tej partycji nie działa, zakładamy, że żaden z pozostałych warunków nie będzie działał. Na przykład,
(Wiek > 5 i <= 10)
Ponieważ prawidłowe są wartości od 6 do 10, należy wybrać jedną z wartości spośród 6,7,8,9 i 10. Zatem wybrany wiek „8” jest prawidłowym wiekiem wejściowym dla grupy wiekowej pomiędzy (wiek > 5 a <= 10). Ten rodzaj podziału nazywany jest podziałem równoważności.
Scenariusz | Wartości graniczne, które należy przyjąć | Wartości podziału równoważnego |
---|---|---|
Chłopiec – wiek >5 i <=10 | Wiek wejściowy = 6 Wiek wejściowy = 5 Wiek wejściowy = 11 Wiek wejściowy = 10 |
Wiek wejściowy = 8 |
Dziewczynka – Wiek > 5 i <= 10 | Wiek wejściowy = 6 Wiek wejściowy = 5 Wiek wejściowy = 11 Wiek wejściowy = 10 |
Wiek wejściowy = 8 |
Chłopiec – wiek >10 i <=15 | Wiek wejściowy = 11 Wiek wejściowy = 10 Wiek wejściowy = 15 Wiek wejściowy = 16 |
Wiek wejściowy = 13 |
Dziewczynka – Wiek > 10 i <= 15 | Wiek wejściowy = 11 Wiek wejściowy = 10 Wiek wejściowy = 15 Wiek wejściowy = 16 |
Wiek wejściowy = 13 |
Wiek<=5 | Wiek wejściowy = 4 Wiek wejściowy = 5 |
Wiek wejściowy = 3 |
Wiek> 15 lat | Wiek wejściowy = 15 Wiek wejściowy = 16 |
Wiek wejściowy = 25 |
Jak ustalić, czy program przeszedł test, czy nie?
Przekazanie funkcjonalności zależy nie tylko od wyników powyższych scenariuszy. Podane dane wejściowe i oczekiwany wynik dadzą nam wyniki, a to wymaga wiedzy dziedzinowej.
Określanie wyników przykładu:
Tym samym, jeśli wszystkie przypadki testowe powyższego zostaną zaliczone, domena wystawiania biletów w konkursie zostanie zaliczona. Jeśli nie, domena ulegnie awarii.
Struktura testowania domeny
Zwykle testerzy wykonują poniższe kroki podczas testowania domeny. Można je dostosować/pominąć zgodnie z naszymi potrzebami testowymi.
- Zidentyfikuj potencjalnie interesujące zmienne.
- Zidentyfikuj zmienne, które możesz teraz przeanalizować i uporządkuj je (od najmniejszej do największej i odwrotnie).
- Utwórz i zidentyfikuj wartości graniczne i wartości klas równoważności jak powyżej.
- Zidentyfikuj wymiary drugorzędne i przeanalizuj każdy z nich w klasyczny sposób. (W powyższym przykładzie płeć jest wymiarem drugorzędnym).
- Identyfikuj i testuj zmienne przechowujące wyniki (zmienne wyjściowe).
- Oceń, w jaki sposób program wykorzystuje wartość tej zmiennej.
- Zidentyfikuj dodatkowe potencjalnie powiązane zmienne do testowania kombinacji.
- Wyobraź sobie ryzyko, które niekoniecznie ma oczywisty wymiar.
- Zidentyfikuj i wypisz nieanalizowane zmienne. Zbierz informacje do późniejszej analizy.
- Podsumuj swoją analizę za pomocą tabeli ryzyka/równoważności.
Podsumowanie
Testowanie domeny, jak opisano powyżej, wymaga wiedzy na temat dostarczania właściwych danych wejściowych, aby osiągnąć pożądany wynik. Dlatego można go używać tylko w przypadku małych fragmentów kodu.