Статично срещу динамично тестване
Всеки път, когато софтуерът се компилира, той трябва да бъде проверен за грешки и грешки преди неговото изпълнение и по време на изпълнението му, така че софтуерът да работи безпроблемно и да предоставя очакваните резултати. Има два начина за тестване на новонаписан софтуер, наречен статично тестване и динамично тестване. Всяко едно от тях или и двете се използва за тестване на софтуер в зависимост от необходимата точност и наличния бюджет. Статичното тестване се извършва, преди софтуерът да е напълно компилиран, а динамичното тестване се извършва само след като софтуерът е напълно компилиран и стартиран на система.
Статично тестване
Този тип тестване на софтуера се извършва преди пускането на софтуера в действие. Извършва се статично тестване за търсене на грешките в алгоритмите, кодовете или документите. Грешките, допуснати по време на писането на софтуера, се проверяват за корекция чрез статично тестване. Това тестване се извършва от автора или разработчика на софтуера или тестерите и се извършва чрез преминаване през него, проверка на прегледите на кода или визуална проверка.
Динамично тестване
Този тип тестване се извършва, след като софтуерът е напълно компилиран и зареден в системата. При динамично тестване софтуерът се проверява за съгласуваност на входните и изходните параметри с помощта на друг софтуер. Това тестване анализира част от софтуера наведнъж, за да търси грешки и грешки. Софтуерът, използван при динамично тестване, проверява кодовете на софтуера, който ще бъде тестван по предварително определени стандарти, и проверява дали тестваният софтуер осигурява желания резултат.
Накратко: Статично тестване срещу динамично тестване • Статичното тестване е далеч по-научен и изчерпателен начин за диагностициране на кода на софтуера за грешки, отколкото динамичното тестване. • Статичното тестване е много по-бързо от динамичното. • Статичното тестване е далеч по-добро при намирането на грешки и грешки, отколкото динамичното тестване. • Тъй като статичното тестване открива грешките преди компилирането на софтуера и може лесно да бъде коригирано, то е много по-евтино от динамичното тестване. • Най-важната разлика между тези две е, че статичното тестване е като предотвратяване на софтуер от болести, а динамичното тестване е като лечение на софтуер, който е бил засегнат от болест. |