Какво е статично тестване?
Статичното тестване е вид софтуерно тестване, при което софтуерното приложение се тества без изпълнение на код. Правят се ръчни или автоматизирани прегледи на кода, документите за изисквания и дизайна на документите, за да се открият грешките. Основната цел на статичното тестване е да подобри качеството на софтуерните приложения чрез откриване на грешки в ранните етапи на процеса на разработване на софтуер.
Статичното тестване включва ръчни или автоматизирани прегледи на документите. Този преглед се прави по време на начална фаза на тестване за улавяне на Дефект рано в STLC. Той разглежда работните документи и предоставя коментари за преглед. Нарича се още тестване за неизпълнение или тестване за проверка.
Примери за работни документи-
- Спецификации на изискванията
- Документ за проектиране
- Програмен код
- Тестови планове
- Тестови случаи
- Тестови скриптове
- Помощ или Потребителски документ
- Съдържание на уеб страница
Какво е динамично тестване?
При динамично тестване се изпълнява код. Той проверява за функционално поведение на софтуерната система, използването на паметта / процесора и цялостната производителност на системата. Оттук и името "Динамично"
Основната цел на това тестване е да потвърди, че софтуерният продукт работи в съответствие с бизнес изискванията. Това тестване се нарича още техника за изпълнение или тестване за валидиране.
Динамичното тестване изпълнява софтуера и валидира резултата с очаквания резултат. Динамичното тестване се извършва на всички нива на тестване и може да бъде или черно или бяло тестване.
КЛЮЧОВА РАЗЛИКА
- Статичното тестване е направено без изпълнение на програмата, докато динамичното тестване се извършва чрез изпълнение на програмата.
- Статичното тестване проверява кода, документите за изисквания и документите за проектиране, за да открие грешки, докато динамичното тестване проверява функционалното поведение на софтуерната система, използването на паметта / процесора и цялостната производителност на системата.
- Статичното тестване е за предотвратяване на дефекти, докато динамичното тестване е за откриване и отстраняване на дефектите.
- Статичното тестване прави процеса на проверка, докато динамичното тестване прави процеса на валидиране.
- Статичното тестване се извършва преди компилация, докато динамичното тестване се извършва след компилация.
- Техниките за статично тестване са структурно и извлечение, докато техниките за динамично тестване са анализ на граничните стойности и разделяне на еквивалентността.
Техники за статично тестване:
- Неформални рецензии: Това е един вид преглед, който не следва никакъв процес за намиране на грешки в документа. При тази техника просто преглеждате документа и давате неформални коментари по него.
- Технически прегледи: Екип, състоящ се от ваши връстници, преглежда техническата спецификация на софтуерния продукт и проверява дали е подходящ за проекта. Те се опитват да открият всякакви несъответствия в следваните спецификации и стандарти. Този преглед се концентрира главно върху техническата документация, свързана със софтуера, като Тестова стратегия, Тестов план и документи за спецификация на изискванията.
- Упътване: Авторът на работния продукт обяснява продукта на своя екип. Участниците могат да задават въпроси, ако има такива. Среща се води от автора. Scribe отбелязва коментарите на рецензиите
- Проверка: Основната цел е да се открият дефекти и срещата се ръководи от обучен модератор. Този преглед е формален тип преглед, при който се следва строг процес за откриване на дефектите. Рецензентите имат контролен списък за преглед на работните продукти. Те записват дефекта и информират участниците, за да поправят тези грешки.
- Преглед на статичен код: Това е систематичен преглед на изходния код на софтуера, без да се изпълнява кодът. Той проверява синтаксиса на кода, стандартите за кодиране, оптимизацията на кода и др. Това също се нарича тестване на бяла кутия. Този преглед може да се направи по всяко време по време на разработката.
Техники за динамично тестване:
- Unit Testing: При Unit Testing отделните модули или модули се тестват от разработчиците. Включва тестване на изходния код от разработчиците.
- Тестване на интеграцията: Отделните модули са групирани и тествани от разработчиците. Целта е да се определи кои модули работят според очакванията, след като бъдат интегрирани.
- Тестване на системата: Тестването на системата се извършва на цялата система, като се проверява дали системата или приложението отговарят на документа за спецификация на изискванията.
Също така, нефункционални тестове като производителност, Тестване на сигурността попадат в категорията на динамично тестване.
Разлика между статично и динамично тестване:
Статично тестване |
Динамично тестване |
---|---|
Тестването беше направено без изпълнение на програмата | Тестването се извършва чрез изпълнение на програмата |
Това тестване прави процеса на проверка | Динамичното тестване прави процеса на валидиране |
Статичното тестване е свързано с предотвратяване на дефекти | Динамичното тестване е свързано с откриване и отстраняване на дефектите |
Статичното тестване дава оценка на кода и документацията | Динамичното тестване дава грешки / тесни места в софтуерната система. |
Статичното тестване включва контролен списък и процес, който трябва да се следва | Динамичното тестване включва тестови случаи за изпълнение |
Това тестване може да се извърши преди компилация | Динамично тестване се извършва след компилация |
Статичното тестване обхваща тестването на структурно покритие и измерване на покритие | Техниките за динамично тестване са анализ на границите и разделяне на еквивалентността. |
Разходите за откриване на дефекти и отстраняване са по-малко | Цената за намиране и отстраняване на дефекти е висока |
Възвръщаемостта на инвестициите ще бъде висока, тъй като този процес е включен на ранен етап | Възвръщаемостта на инвестициите ще бъде ниска, тъй като този процес включва след фазата на развитие |
Повече коментари коментари са силно препоръчителни за добро качество | Повече дефекти са силно препоръчителни за добро качество. |
Изисква много срещи | Сравнително изисква по-малко срещи |