Co to jest testowanie dynamiczne?

Oprogramowanie obejmuje systemy operacyjne i programy stworzone do działania na jednym lub kilku z nich. Testowanie oprogramowania to proces sprawdzania i używania oprogramowania podczas i po jego rozwoju, ale przed wydaniem, w celu sprawdzenia, czy funkcje działają, wykrywania błędów, sprawdzania poprawek i upewnienia się, że działa dobrze dla użytkowników. Testowanie dynamiczne, zwane również analizą dynamiczną, to proces oceny oprogramowania w miarę jego użytkowania. Kontrastuje to z testowaniem statycznym, czyli analizą programu wykonywaną bez uruchamiania programu. Inne rodzaje testowania obejmują testowanie czasu odpowiedzi i testowanie retrospektywne.

Testowanie statyczne i testowanie dynamiczne razem to dwa główne rodzaje testów oprogramowania, które są podejmowane i równoważą się na różne sposoby. Z jednej strony testy statyczne znajdują błędy składni i inne problemy z kodowaniem i obejmują cały program. Z drugiej strony, dynamiczne testowanie dużego i złożonego programu często może nie obejmować całego programu, ponieważ nie każdy możliwy scenariusz można sobie wyobrazić lub stworzyć w czasie przeznaczonym na testowanie.

Testy dynamiczne analizują oprogramowanie w różnych środowiskach operacyjnych. Obejmuje to różne marki komputerów i inne różnice sprzętowe, w tym prawdopodobnie wiele monitorów, różne systemy operacyjne i różne zestawy aplikacji współistniejących na komputerze. Ponadto testerzy mogą mieć zewnętrzne moduły lub wtyczki, których używają w połączeniu z testowanym oprogramowaniem, co zwiększa zróżnicowanie środowisk testowych w testowaniu dynamicznym.

Testy dynamiczne w firmie zajmującej się tworzeniem oprogramowania prawdopodobnie będą zgodne z wytycznymi i protokołami określonymi przez IEEE (Instytut Inżynierów Elektryków i Elektroników) w zakresie testowania oprogramowania oraz planem testów opracowanym przez firmę zgodnie z nimi. Testerzy beta spoza firmy są często wykorzystywani do dodatkowych testów, a testerzy ci są zwykle całkowicie zaangażowani w testowanie dynamiczne. Zazwyczaj podejmowane są próby posiadania zróżnicowanej grupy testerów wersji beta pod względem sprzętu, systemów operacyjnych i wykorzystania programów, w zależności od przypadku. Testerzy beta, którzy mogą mieć umowę o zachowaniu poufności z firmą, mogą mieć protokół do przestrzegania lub zostać poproszeni o korzystanie z oprogramowania w sposób, w jaki normalnie by go używali, lub mogą wykonywać niektóre z nich. Zazwyczaj istnieje oficjalny system raportowania dla beta-testerów, który wskazuje awarie, podejrzenia błędów, niedziałanie funkcji zgodnie z opisem lub inne nietypowe, nieoczekiwane lub niewygodne aspekty pracy z oprogramowaniem.