Testy strukturalne: Różnice pomiędzy wersjami
[wersja nieprzejrzana] | [wersja nieprzejrzana] |
Usunięta treść Dodana treść
Dodanie zalet, wad + referencje |
|||
Linia 1:
'''Testy strukturalne''' (ang. ''white-box testing'') – znane są także jako '''''testy białej''''' lub '''''szklanej skrzynki'''''. Polegają na testowaniu programu poprzez podawanie na wejściu takich danych, aby program przeszedł przez każdą zaimplementowaną ścieżkę. Zasady te są definiowane przez kryteria pokrycia wszystkich pętli oraz wszystkich warunków. Testy białej skrzynki nie są w stanie wykazać braku implementacji funkcji, którą powinien posiadać system docelowy. Sprawdzają jednak dokładnie operacje wykonywane w zaimplementowanych metodach
Nierzadko w trakcie testowania programu techniką szklanej skrzynki wprowadzane są do wnętrza programu sztuczne, specjalnie spreparowane dane w celu dokładniejszego przetestowania reakcji. Ten sposób nazywamy metodą „Słonia w Kairze”.
== Przedmiot badania ==
Testy strukturalne to metoda testowania programu na poziomie kodu źródłowego. Wykorzystują techniki takie jak: testowanie przepływu danych, testowanie rozgałęzień, testowanie ścieżek, jako wytycznych do stworzenia środowiska wolnego od błędów.
Istotą jest staranne testowanie na poziomie kodu źródłowego, w celu zapobiegania bądź minimalizacji ukrytych błędów. Ważnym elementem testów strukturalnych jest to, aby wiedzieć, która linia kodu jest obecnie wykonywana i potrafić określić, jakie powinno być jej prawidłowe wyjście
== Zalety ==
Testy strukturalne to jedna z dwóch największych stosowanych obecnie metod testowania, główne zalety to:
# Znajomość kodu źródłowego jest korzystna dla dokładności testów.
# Optymalizacja kodu staje się łatwiejsze dlatego, że widoczne są wąskie gardła.
# Łatwe do zautomatyzowania.
# Zapewnia jasne, oparte na inżynierii zasady, dotyczące tego, kiedy należy zakończyć testowanie
== Wady ==
Pomimo tego, że testy strukturalne mają wiele istotny zalet, to jednak nie są idealne i posiadają pewne wady:
# Tester musi posiadać dużą wiedzę o programie, który testuje, lub zespół testowy musi mieć w swoim składzie bardzo dobrego programistę, który potrafi zrozumieć program na poziomie kodu.
# W niektórych przypadkach niemożliwe jest przetestowanie każdego istniejącego stanu programu.
# Testy koncentrują się na istniejącym oprogramowania, a brakujące funkcje mogą nie zostać wykryte
==
== Linki zewnętrzne ==
▲==Przypisy==
* [http://www.testingstandards.co.uk/bs_7925-1_online.htm Dokument zawierający słownictwo z zakresu testowania oprogramowania. (BS 7925-1)]
|