Testy strukturalne: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
Dodanie zalet, wad + referencje
WP:SK+ToS+mSI+Bn, drobne redakcyjne, drobne techniczne
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.<ref>{{cytuj książkę |autor =Mohammed Ehmer Khan |tytuł =Different Forms of Software Testing Techniques for Finding Errors |url =http://ijcsi.org/papers/7-3-1-11-16.pdf |miejsce = |rok =2010}}</ref>.
 
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.<ref>{{cytuj książkę |autor =Laurie Williams |tytuł =White-Box Testing |url =https://students.cs.byu.edu/~cs340ta/spring2019/readings/WhiteBox.pdf |miejsce = |rok =2006 |strony =60–61}}</ref>.
 
== 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.<ref>{{cytuj książkę |autor =Srinivas Nidhra, Jagruthi Dondeti |tytuł =Black Box and White Box Testing Techniques - A Literature Review |url =https://s3.amazonaws.com/academia.edu.documents/38077013/Black_Box_and_White_Box_Testing_Techniques_-_A_Literature_Review.pdf?response-content-disposition=inline%3B%20filename%3DBLACK_BOX_AND_WHITE_BOX_TESTING_TECHNIQU.pdf&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWOWYYGZ2Y53UL3A%2F20190609%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190609T130854Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=69874a9d40d83be0135ab1cee8d7a4957426b51d648aaa12b56db8555ec74471 |miejsce = |rok =2012}}</ref>.
 
== 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.<ref>{{Cytuj pismo | nazwisko = Acharya | imię = Shivani | nazwisko2 = Pandya | imię2 = Vidhi | tytuł = Bridge between Black Box and White Box – Gray Box Testing Technique |url = https://pdfs.semanticscholar.org/dd29/ba9ff4152ea47a8aa530b5a638e31f498c37.pdf| wydawca = International Journal of Electronics and Computer Science Engineering | issn = 2277-1956 | data = 2012 | url = https://pdfs.semanticscholar.org/dd29/ba9ff4152ea47a8aa530b5a638e31f498c37.pdf}}</ref>.
 
== Zobacz teżPrzypisy ==
=={{Przypisy==}}
* [[testowanie oprogramowania]]
* [[testy dynamiczne]]
* [[testy funkcjonalne]]
* [[testy statyczne]]
 
== 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)]