Какво е кодово покритие?
Покритието на кода е известно като мярка, при която описваме степента на изходния код на програмата, която се нуждае от тестване. Накратко, покритието на кода е един вид техника за тестване на бялото поле, при която ние намираме онези части от програмата, които не са изпълнени от зададените тестови случаи. Те също така включват в създаването на няколко тестови случая, така че да повишат обхвата, както и да определят доста добрата мярка за покритие на кода. Въпреки това, в много случаи тази система събира информация относно изпълняваната програма. Освен това покритието на кода го включва заедно с информация за изходния код, така че да извади доклада относно покритието на кода на тестовия пакет.
Как действа покритието на кода?
Всъщност съществуват различни подходи за измерване на покритието на кода. Ако разгледаме по широк начин, съществуват 3 от подходите, които са следните:
- Инструментиране на изходния код : Инструментацията на изходния код ще добави операторите от инструментариума към изходния код и след това ще компилира кода заедно с обикновения инструмент за компилиране, така че да ни получи сглобяване, което е инструментално.
- Инструменти за междинен код: В инструментариум с междинен код компилираните файлове се инструментират чрез добавяне на нови байткоди и след това новият клас се генерира.
- Събиране на информация по време на изпълнение: В събирането на информация по време на изпълнение ние събираме информацията от средата, която е време на изпълнение, тъй като кодът се изпълнява така, че да се определи информацията за покритието.
Тъй като кодът се изпълнява по време на теста, системата за покритие на кода ще събира информация за това кои от операторите се изпълняват. Сега тази информация ще бъде използвана като част от основата на докладите. Освен това, методите за покритие на кода се различават в зависимост от различните форми на информацията за покритие, която се събира. Съществуват различни методи за покритие на код, ако надхвърлим основните методи за покритие на операторите.
Методи за кодово покритие
Съществуват много методи за покритие на кода. Малко от тях са изброени по-долу:
- Състояние покритие
- FSM покритие
- Покритие на декларацията
- Покритие на решението
- Покритие на клона
1. Покритие на декларацията
- Това е техниката за тестване на бялата кутия, при която се справяме с изпълнението на всички изпълними оператори поне веднъж, които съществуват в изходния код. Покритието на кода е необходимо при изчисляването, както и измерването на много изявления, които съществуват в изходния код, както и тези, които могат да бъдат изпълнени, при условие че са зададени изискванията.
- Този метод е необходим при извеждането на сценариите в зависимост от структурата на кода, който съществува в рамките на теста.
2. Покритие на решението
- Този метод е полезен при отчитането на верни или фалшиви резултати на всеки израз, който е булев. Изразите в това покритие често стават сложни. Ето защо е доста трудно да се получи 100% покритие.
- Това е самата причина, че съществуват различни методи за отчитане на този вид показатели. Тези цели методи се занимават основно с обхвата на най-значимите комбинации. Покритието на решението осигурява голяма чувствителност, така че да се контролира потока.
3. Покритие на клона
- Когато говорим за този тип, имаме предвид, че всеки изход, който идва от кодовия модул, се тества. Като пример можем да разгледаме, че в случай че изходите са двоични, тогава ще тестваме True, както и False изходи.
- Браншовото покритие ни помага да гарантираме, че всички възможни клонове, които идват от всяко решение, условието се изпълняват минимум един път.
- Чрез метода на покритие на клон можем да изчислим частта от кодовите сегменти, които са независими. В допълнение, този метод ни позволява да разберем какви секции от кода нямат клоните.
Съществува формулата за изчисляване на покритието на клоновете:
Покритие на клона = Брой изпълнени клонове / Общ брой на изпълнените клонове
4. Покритие на състоянието
- Условието покритие, което се нарича също като покритие на израз ни казва как се оценяват променливите или субекспресиите, които съществуват в условен оператор.
- Нека разгледаме пример, при който израз се състои от булеви операции като AND, OR или XOR, който се състои от общия брой възможности.
- Този метод всъщност ни дава много по-добра чувствителност за контрол на потока в сравнение с покритието на решенията. Този метод не ни дава гаранция относно пълното покритие на решенията.
Съществува формулата за изчисляване на покритието на клоновете:
Обхват на състоянието = Брой изпълнени операнди / Общ брой изпълнени операнди
5. Крайно покритие на машинно състояние
- Този метод се счита за най-сложния вид покритие на код. Причината за това е, че този метод всъщност работи върху поведението на дизайна.
- Също така, по този метод трябва да разберем колко от държавите, които са специфични за времето, се посещават и преминават. В допълнение, този метод също потвърждава колко от последователностите се разглеждат в машината с ограничено състояние.
Предимства на покритието на кода
Някои от предимствата са дадени по-долу:
- Той е доста полезен при оценката на количествената мярка за покритие на кода
- Тя също ни позволява да създадем допълнителни тестови случаи, за да увеличим покритието
- Покритието на кода също ни позволява да намерим онези части от програмата, които не се упражняват от тестовите случаи.
Недостатъци на покритието на кода
Някои от недостатъците са дадени по-долу:
- Всеки път, когато определена функция не е добре приложена в дизайна, покритието на кода все още ще отчита покритието е 100%.
- Невъзможно е да се разбере дали тествате всички възможни стойности на функцията чрез покритие на кода
- Това също не казва колко и колко добре сме покрили логиката си.
заключение
Покритието на кода се счита за мярката, при която ние описваме степента на изходния код на програмата е тествана. Също така ни помага да изчислим ефективността на изпълнението на теста. Също така, покриването на оператори означава да се изпълняват всички изпълними оператори минимум един път.
Препоръчителни статии
Това е ръководство за кодово покритие. Тук обсъждаме методите и как действа покритието на кода? заедно с предимствата и недостатъците. Можете също да разгледате следните статии, за да научите повече -
- Как тестовото покритие прави работата толкова лесна?
- Различни инструменти за тестване на GUI
- Видове тестове за мутация
- Какво е CodeIgniter?
- Инструменти за покритие на кода | Топ 6 инструменти за покритие на кода
- Какво е тест? | Съвети и трикове