Io-10-wyk-Slajd9
Statyczna i dynamiczna weryfikacja
Istnieje wiele różnych technik weryfikacji oprogramowania. Do dwóch najważniejszych należą: inspekcje kodu oraz dynamiczne testowanie oprogramowania.
Inspekcje kodu związane są z analizą statycznej reprezentacji systemu w celu wykrycia potencjalnych problemów w niej występujących. Proces ten może być częściowo zautomatyzowany. Wtedy kod programu analizowany jest najpierw przez automat, który znajduje potencjalne nieprawidłowości. Podejrzane fragmenty kodu są następnie analizowane przez użytkownika by stwierdzić czy znalezione przez automat naruszenia mają rzeczywiście miejsce.
Dynamiczne testowanie oprogramowania jest drugą z technik, która polega na uruchomieniu aplikacji, zasileniu jej pewnymi danymi testowymi i sprawdzeniu jakie zachowanie generowane jest przez system. Następnie zaobserwowane zachowanie jest porównywane z oczekiwanym.