Testy strukturalne: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja przejrzana]
Usunięta treść Dodana treść
WP:SK+ToS+mSI+Bn, drobne redakcyjne, drobne techniczne
przeglądanie zmian + propozycje jęz., meryt. (powtórzenia, klarowność)
Linia 1:
'''Testy strukturalne''' (ang. ''white-box testing,'') – znane są także jako '''''testy białej skrzynki''''', lubin. '''''szklanej skrzynki'''''.) – rodzaj [[Testowanie oprogramowania|testów]] w [[Inżynieria oprogramowania|inżynierii oprogramowania]], Polegająpolegających 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 nazywamyjest nazywany 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ń, i testowanie ścieżek, jako wytycznychwytyczne do stworzenia środowiska wolnego od błędów. Ważnym elementem testów strukturalnych jest to, aby wiadomo było, która linia kodu jest obecnie wykonywana i 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>.
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 ==
TestyWedług przeglądu Nidthry i Dondetiego, testy strukturalne to jedna z dwóch największych stosowanych obecnie metod testowania,. Jej główne zalety to:
# Dokładność wynikająca z bezpośredniego przełożenia na strukturę kodu źródłowego.
# Znajomość kodu źródłowego jest korzystna dla dokładności testów.
# Łatwość optymalizacji kodu, dzięki jasnej identyfikacji wąskich gardeł.
# Optymalizacja kodu staje się łatwiejsze dlatego, że widoczne są wąskie gardła.
# Łatwe doŁatwość zautomatyzowania.
# ZapewniaInżynieryjna jasne,klarowność oparteprocedury: najej inżynieriipostępu zasady,i dotyczące tego, kiedy należy zakończyć testowaniezakończenia<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ą jednak idealne i posiadają pewne wady:
# Zespół testowy musi posiadać głęboką, profesjonalną wiedzę o strukturze kodu programu.
# 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ącegopotencjalnego stanu programu.
# Testy koncentrują się na istniejącymistniejących oprogramowania,aspektach akodu; brakująceproblemy funkcjebraków funkcjonalności 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}}</ref>.
 
== Przypisy ==