Testy modułowe (unit tests)

Testy modułowe, 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.

Analiza ścieżek (path analysis)
Ten typ testów zakłada przejście wszystkich możliwych ścieżek funkcji od wejścia do wyjścia. Jest to niemożliwe z powodu istnienia pętli. Aby rozwiązać ten problem stosuje się dwie grupy ścieżek, których wykonanie powoduje wykonywanie pętli:

– boundary test: 0 lub 1 przejście
– interior test: 2 dwa przejścia

Boundary test – żadna pętla nie jest wykonywana każda pętla jest raz wykonywana i wszystkie ścieżki wewnątrz pętli sa raz wykonan.

Interior test – wnętrze pętli uważa się za przetestowane, jeśli zostały wykonane wszystkie ścieżki, które są możliwe przy dwukrotnym powtórzeniu pętli.

Klasy równoważności (equivalence partition)
Klasa równoważności jest to zbiór danych używanych do przeprowadzenia testu. Wykonanie testu z użyciem kilku elementów zbioru, powoduje uznanie całej klasy za poprawną i zwalnia nas od testowania wszystkich elementów w np. 1000-elementowym zbiorze.

Przykładowe kryteria definicji klasy:
– Rejestracja osoby w wieku od 0 do 120 lat
– Długość wiadomości od 1 do 50 znaków
– Napięcie od 0 do 100 V

Testowanie wartości brzegowych (boundary value analysis)
Rozwinięciem testów z użyciem klas równoważności jest testowanie wartości brzegowych. Wartość brzegowa to wartość znajdująca się wewnątrz, pomiędzy lub tuż przy granicy danej klasy równoważności.

Przykłady
Rejestracja osoby w przedziale wiekowym 0 – 120,
Testowane wartości brzegowe:
-1, 0, 1, 119, 120, 121

Definicja ISTQB:
Testowanie modułowe: Testowanie poszczególnych komponentów oprogramowania.

One Comment

  1. Wielki szacunek za to co robisz, nawet chyba nie wiesz, jak użyteczne jest to co robisz, napisane bardzo klarownie dla osób, które dopiero chcą się wdrożyć w temat.
    Jedna kwestia:
    analiza ścieżek, o co chodzi nie wiadomo za bardzo, mógłbyś to przedstawić bardziej obrazowo z przykładami?
    Btw brakuje „e” – w boundry testing: „sa raz wykonan”

    Odpowiedz

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *