4.2 Czarnoskrzynkowe techniki testowania Flashcards

1
Q

Czym jest testowanie czarnoskrzynkowe?

A
  • Testowanie czarnoskrzynkowe to techniki testowe oparte na analizie zdefiniowanego zachowania testowanego obiektu (test object) bez odniesienia do jego wewnętrznej struktury.
  • Przypadki testowe (test cases) są niezależne od kodu i implementacji, dlatego nie zmieniają się, jeśli modyfikuje się strukturę, o ile wymagana funkcjonalność pozostaje taka sama.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Jak działa podział na klasy równoważności?

A
  • Dane dzielone są na grupy (zwane klasami równoważności, ang. equivalence partitions), w których wszystkie elementy są przetwarzane w taki sam sposób.
  • Jeśli przypadek testowy sprawdzający jedną wartość w danej klasie wykrywa defekt, to inne wartości z tej samej klasy prawdopodobnie również go ujawnią.
  • Dlatego często wystarczy tylko jeden przypadek testowy na każdą klasę równoważności.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Jaka jest różnica między prawidłowymi a nieprawidłowymi klasami równoważności?

A
  • Prawidłowe (valid) klasy równoważności zawierają dane, które powinny zostać poprawnie przetworzone przez testowany obiekt.
  • Nieprawidłowe (invalid) klasy równoważności zawierają dane, które powinny być odrzucone lub zignorowane.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Czym jest pokrycie Each Choice?

A
  • Each Choice coverage wymaga, aby zestaw przypadków testowych pokrywał każdą partycję (klasę równoważności) w każdym zbiorze partycji co najmniej raz.
  • Nie bierze się jednak pod uwagę kombinacji między różnymi partycjami (każda partycja jest sprawdzana indywidualnie).
  • Technika jest użyteczna, gdy mamy wiele zestawów partycji (np. więcej niż jeden parametr wejściowy).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Czym jest analiza wartości brzegowych?

A
  • Analiza wartości brzegowych (BVA) to technika, w której sprawdza się granice danych w obrębie klas równoważności. Minimum i maksimum danej klasy to jej granice.
  • Błędy często popełniane są na krawędziach (boundary values) — np. tam, gdzie programista omyłkowo użyje warunku „<” zamiast „≤”.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Czym jest dwu-wartościowa analiza wartości brzegowych (2-value BVA)?

A

Dla każdej granicy rozpatruje się 2 elementy pokrycia (tzw. coverage items):
* sama wartość graniczna,
* najbliższa wartość w sąsiedniej partycji.

Aby osiągnąć 100% pokrycia w 2-value BVA, należy wykonać testy dla wszystkich wykrytych granic i ich sąsiednich wartości.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Czym jest trzy-wartościowa analiza wartości brzegowych (3-value BVA)?

A

Dla każdej granicy uwzględnia się 3 elementy pokrycia:
* wartość graniczna
* bliższy sąsiad od strony „mniejszej”
* bliższy sąsiad od strony „większej”

W 3-value BVA niektóre elementy pokrycia mogą nie być rzeczywistymi brzegami, ale służą do wychwycenia defektów w warunkach typu „<”/„≤” lub „>”/„≥”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Która wersja analizy wartości brzegowych jest bardziej rygorystyczna?

A
  • 3-value BVA jest bardziej rygorystyczna niż 2-value, bo może wykryć defekty pominięte przez 2-value BVA.
  • Przykład: jeśli warunek if (x ≤ 10) został zaimplementowany błędnie jako if (x = 10), to dane testowe z 2-value BVA (np. x=10, x=11) mogą tego nie wykryć. Natomiast wartość x=9 (z 3-value BVA) może ujawnić błąd.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Czym jest tablica decyzyjna?

A
  • Tablice decyzyjne (ang. decision tables) służą do testowania logiki systemu, która określa, jak różne kombinacje warunków skutkują różnymi wyjściami lub akcjami.
  • Warunki i możliwe akcje systemu definiuje się zwykle w wierszach, a kolumny odpowiadają unikalnym kombinacjom warunków (tzw. regułom).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Czym jest tablica decyzyjna typu „limited entry”?

A
  • W limited entry decyzje i akcje mają wartości typu boolean (np. true/false).
  • Są to więc proste warunki (np. spełnione lub niespełnione), bez szerszych zakresów danych.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Czym jest tablica decyzyjna typu „extended entry”?

A
  • W extended entry warunki i akcje mogą mieć szersze wartości niż boolean, np. zakresy liczb, partycje równoważności czy inne wartości dyskretne.
  • Pozwala to uwzględnić bardziej złożone reguły biznesowe.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Opisz notację warunków i akcji w tablicy decyzyjnej.

A

Dla warunków często stosuje się litery:

  • T (True) = warunek spełniony,
  • F (False) = warunek niespełniony,
  • (myślnik) = warunek nieistotny (dla danej kolumny),
  • N/A = warunek niewykonalny w danej regule.

Dla akcji:

  • X oznacza, że akcja powinna zostać wykonana,
  • puste pole (lub brak) oznacza, że akcja nie powinna zostać wykonana.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Jak uprościć testowanie pełnej tablicy decyzyjnej, gdy liczba reguł rośnie wykładniczo?

A

Przykładowe techniki:
* Usuwanie nieosiągalnych kombinacji (kolumn, w których warunki wzajemnie się wykluczają).
* Scalanie kolumn, w których warunki nie wpływają na wynik, co pozwala je traktować łącznie.
* Podejście zminimalizowane (ang. collapsed decision table) lub podejście oparte na ryzyku w doborze pokrycia.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Czym jest testowanie z wykorzystaniem tablic decyzyjnych?

A
  • Testowanie z wykorzystaniem tablic decyzyjnych polega na tym, że elementy pokrycia (coverage items) to kolumny reprezentujące feasible combinations (możliwe kombinacje warunków).
  • Aby osiągnąć 100% pokrycia, przypadki testowe muszą wykonać wszystkie kolumny (reguły).
  • Poziom pokrycia wyraża się jako stosunek wykorzystanych kolumn do wszystkich kolumn możliwych.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Jakie są korzyści testowania z wykorzystaniem tablic decyzyjnych?

A
  • Zapewnia systematyczne podejście do identyfikacji wszystkich kombinacji warunków, co pozwala wykryć luki lub sprzeczności w wymaganiach.
  • Ułatwia dokumentowanie złożonej logiki biznesowej w czytelnej formie (wiersze, kolumny).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Czym jest diagram przejść pomiędzy stanami?

A
  • Diagram przejść stanów (ang. state transition diagram) pokazuje, w jakie stany może przejść system (lub moduł), gdy zajdą pewne zdarzenia (wyzwalacze).
  • Przejście do innego stanu zwykle wymaga spełnienia warunku (np. guard condition) lub wywołania akcji.
17
Q

Czym jest tablica stanów?

A
  • Tablica stanów to model uzupełniający diagram przejść stanów.
  • W wierszach tablicy zwykle znajdują się aktualne stany, a w kolumnachzdarzenia/warunki powodujące przejście do nowego stanu oraz powiązane akcje.
  • Różni się od diagramu tym, że współrzędne są stany i zdarzenia w tabeli (często spotyka się puste pola dla stanów/zdarzeń, które są nieważne).
18
Q

Jak może wyglądać przypadek testowy oparty na diagramie lub tablicy przejść stanów?

A
  • Przypadek testowy to sekwencja zdarzeń (wejść), która powoduje zmianę stanu i wywołanie akcji.
  • Sprawdzamy, czy rzeczywiste przejścia stanów i zachowanie (akcje, dane wyjściowe) pokrywają się z tym, co opisuje diagram lub tablica.
  • W ten sposób testujemy logiczną poprawność reakcji systemu na kolejne zdarzenia w różnych stanach.
19
Q

Opisz pokrycie typu „All States Coverage”.

A
  • Elementy pokrycia (coverage items) to stany systemu.
  • Aby osiągnąć 100% pokrycia, testy muszą odwiedzić każdy stan co najmniej raz.
  • Poziom pokrycia oblicza się jako: (liczba stanów odwiedzonych) / (liczba wszystkich stanów).
20
Q

Opisz pokrycie przejść prawidłowych (tzw. 0-switch coverage).

A
  • Elementy pokrycia to pojedyncze przejścia (ang. valid transitions) w tablicy stanów lub diagramie stanów.
  • Aby osiągnąć 100% pokrycia, testy muszą wywołać każde przejście co najmniej raz.
  • Poziom pokrycia: (liczba przejść wykonanych) / (liczba wszystkich możliwych przejść).
21
Q

Opisz pokrycie All Transitions Coverage.

A
  • W tym wariancie elementy pokrycia to wszystkie przejścia w tablicy stanów (zarówno dozwolone, jak i czasem niedozwolone).
  • Aby osiągnąć 100% pokrycia, przypadki testowe muszą przeprowadzić każdą ze zidentyfikowanych ścieżek przejść.
  • Czasem spotyka się ujęcie, w którym to pokrycie dotyczy wszystkich prawidłowych i nieprawidłowych przejść, co może wymagać testowania błędnych stanów wejściowych.
22
Q

Uszereguj różne typy pokrycia przejść stanów od najsilniejszego do najsłabszego.

A
  1. Zwykle All Transitions Coverage (zawiera i stany, i wszystkie przejścia, łącznie z sekwencjami) jest najbardziej wymagające i daje najpełniejsze testowanie.
  2. Each Transitions Coverage (pojedyncze przejścia, zwane też 0-switch coverage) jest słabsze, bo pomija kombinacje kilku przejść w sekwencji.
  3. All States Coverage jest najsłabsze, bo wymaga tylko odwiedzenia każdego stanu (można pominąć wiele przejść).