Статично срещу динамично тестване: Разлика между тях
Разлика между статично и динамично тестване
- Статичното тестване се извършва без изпълнение на програмата, докато динамичното тестване се извършва чрез изпълнение на програмата.
- Статичното тестване проверява кода, документите с изисквания и проектните документи, за да открие грешки, докато динамичното тестване проверява функционалното поведение на софтуерната система, използването на паметта/CPU и цялостната производителност на системата.
- Статичното тестване е за предотвратяване на дефекти, докато динамичното тестване е за намиране и коригиране на дефектите.
- Статичното тестване извършва процеса на проверка, докато динамичното тестване извършва процеса на валидиране.
- Статичното тестване се извършва преди компилация, докато динамичното тестване се извършва след компилация.
- Техниките за статично тестване са структурно покритие и покритие на изявления, докато техниките за динамично тестване са анализ на гранични стойности и разделяне на еквивалентност.
Какво е статично тестване?
Статично тестване е вид софтуерно тестване, при което софтуерното приложение се тества без изпълнение на код. Правят се ръчни или автоматизирани прегледи на кода, документите с изискванията и дизайна на документа, за да се открият грешките. Основната цел на статичното тестване е да подобри качеството на софтуерните приложения чрез откриване на грешки в ранните етапи на процеса на разработка на софтуер.
Статично тестване включва ръчни или автоматизирани прегледи на документите. Този преглед се прави по време на начална фаза на тестване, за да се открие дефектът в началото STLC. Той разглежда работни документи и предоставя коментари за преглед. Нарича се още тестване без изпълнение или тестване за проверка.
Примери за работни документи-
- Спецификации на изискванията
- Проектен документ
- На изходния код
- Тестови планове
- Тестови Случаи
- Тестови скриптове
- Помощ или потребителски документ
- Съдържание на уеб страницата
Техники за статично изпитване
- неформален Revмнения: Това е един от видовете преглед, който не следва никакъв процес за намиране на грешки в документа. При тази техника вие просто преглеждате документа и давате неформални коментари по него.
- Технически Revмнения: Екип, състоящ се от ваши колеги, преглежда техническата спецификация на софтуерния продукт и проверява дали е подходящ за проекта. Те се опитват да намерят всякакви несъответствия в спецификациите и следваните стандарти. Този преглед се концентрира главно върху техническата документация, свързана със софтуера като Test Strategy, План за тестване и документи за спецификация на изискванията.
- репетиция: Авторът на работния продукт обяснява продукта на своя екип. Участниците могат да задават въпроси, ако има такива. Среща се води от автора. Писарят отбелязва коментарите за преглед
- инспекция: Основната цел е да се намерят дефекти и срещата се води от обучен модератор. Този преглед е официален вид преглед, при който следва строг процес за намиране на дефекти. Reviewers имат контролен списък за преглед на работните продукти. Те записват дефекта и информират участниците да коригират тези грешки.
- Статичен код Revаз: Това е систематичен преглед на изходния код на софтуера без изпълнение на кода. Той проверява синтаксиса на кода, стандартите за кодиране, оптимизацията на кода и т.н. Това също се нарича тестване на бяла кутия. Този преглед може да бъде направен по всяко време на разработката.
Какво е динамично тестване?
Под Динамично тестване, се изпълнява код. Проверява функционалното поведение на софтуерната система, използването на паметта/процесора и цялостната производителност на системата. Оттук и името „Динамичен“
Основната цел на това тестване е да потвърди, че софтуерният продукт работи в съответствие с бизнес изискванията. Това тестване се нарича още техника за изпълнение или валидиращо тестване.
Динамично тестване изпълнява софтуера и валидира изхода с очаквания резултат. Динамичното тестване се извършва на всички нива на тестване и може да бъде тестване с черна или бяла кутия.
Техники за динамично тестване
- Единично тестване: Под Единично тестване, отделни единици или модули се тестват от разработчиците. Това включва тестване на изходния код от разработчиците.
- Тестване на интеграция: Индивидуалните модули са групирани заедно и тествани от разработчиците. Целта е да се определи кои модули работят според очакванията, след като бъдат интегрирани.
- Тестване на системата: Тестване на системата се извършва върху цялата система, като се проверява дали системата или приложението отговарят на документа със спецификация на изискванията.
Също така, нефункционално тестване като производителност, Тестване на сигурността попадат в категорията на динамичното изпитване.
Статично тестване Vs. Динамично тестване
| Статично тестване | Динамично тестване |
|---|---|
| Тестването беше извършено без изпълнение на програмата | Тестването се извършва чрез изпълнение на програмата |
| Това тестване извършва процеса на проверка | Динамичното тестване извършва процеса на валидиране |
| Статичното изпитване е за предотвратяване на дефекти | Динамичното тестване е за намиране и отстраняване на дефектите |
| Статичното тестване дава оценка на кода и документацията | Динамичното тестване дава грешки/тесни места в софтуерната система. |
| Статичното тестване включва контролен списък и процес, който трябва да се следва | Динамичното тестване включва тестови случаи за изпълнение |
| Това тестване може да се извърши преди компилация | Динамичното тестване се извършва след компилация |
| Статичното тестване обхваща структурно тестване и тестване на покритието на изявленията | Техниките за динамично тестване са анализ на гранични стойности и разделяне на еквивалентност. |
| Разходите за намиране на дефекти и коригиране са по-малко | Разходите за намиране и отстраняване на дефекти са високи |
| Възвръщаемостта на инвестициите ще бъде висока, тъй като този процес е включен на ранен етап | Възвръщаемостта на инвестициите ще бъде ниска, тъй като този процес включва след фазата на разработка |
| Повече коментари за рецензии са силно препоръчителни за добро качество | Повече дефекти са силно препоръчителни за добро качество. |
| Изисква много срещи | Сравнително изисква по-малко срещи |



