Какво е тестване на БЯЛА кутия? Техники, пример & Видове

Съдържание:

Anonim

Тестване на бяла кутия

White Box Testing е техника за тестване на софтуер, при която се тестват вътрешната структура, дизайн и кодиране на софтуера, за да се провери потокът на входно-изходните данни и за подобряване на дизайна, използваемостта и сигурността. При тестването на бяла кутия кодът е видим за тестерите, така че се нарича още тестване на Clear box, тестване на отворена кутия, тестване на прозрачна кутия, тестване на базата на код и тестване на стъклена кутия.

Това е една от двете части на подхода за тестване на кутии към софтуерното тестване. Неговият аналог, Blackbox тестване, включва тестване от гледна точка на външен или краен потребител. От друга страна, тестването на бялата кутия в софтуерното инженерство се основава на вътрешната работа на приложението и се върти около вътрешното тестване.

Терминът "WhiteBox" е използван поради концепцията за прозрачна кутия. Ясното поле или името на WhiteBox символизира способността да се вижда през външната обвивка на софтуера (или „кутията“) във вътрешната му работа. По същия начин „черната кутия“ в „Тестване на черната кутия“ символизира невъзможността да се види вътрешната работа на софтуера, така че да може да се тества само преживяването на крайния потребител.

В този урок за тестване на бяла кутия ще научите -

  • Какво е тестване на бяла кутия?
  • Какво проверявате при тестване на бяла кутия?
  • Как се извършва тестване на White Box?
  • Пример за тестване на WhiteBox
  • Техники за тестване на бяла кутия
  • Видове тестване на бяла кутия
  • Бяла кутия Инструменти за тестване
  • Предимства на тестването на бяла кутия
  • Недостатъци на тестването на WhiteBox

Какво проверявате при тестване на бяла кутия?

Тестването на бялата кутия включва тестване на софтуерния код за следното:

  • Дупки за вътрешна сигурност
  • Нарушени или лошо структурирани пътища в процесите на кодиране
  • Потокът на специфични входове през кода
  • Очаквана продукция
  • Функционалността на условните цикли
  • Тестване на всеки израз, обект и функция поотделно

Тестването може да се извърши на системно, интеграционно и модулно ниво на разработване на софтуер. Една от основните цели на тестването на бяла кутия е да се провери работен поток за приложение. Той включва тестване на поредица от предварително дефинирани входове спрямо очакваните или желаните изходи, така че когато конкретен вход не доведе до очаквания изход, сте срещнали грешка.

Щракнете тук, ако видеоклипът не е достъпен

Как се извършва тестване на White Box?

За да ви дадем опростено обяснение на тестването на бяла кутия, ние го разделихме на две основни стъпки . Ето какво правят тестерите, когато тестват приложение, използвайки техниката за тестване на бялото поле:

СТЪПКА 1) РАЗБЕРЕТЕ КОДА НА ИЗТОЧНИКА

Първото нещо, което тестващият често ще направи, е да научи и разбере изходния код на приложението. Тъй като тестването на бялата кутия включва тестване на вътрешната работа на дадено приложение, тестващият трябва да е много добре запознат с програмните езици, използвани в приложенията, които тестват. Освен това тестващото лице трябва да е добре запознато с практиките за сигурно кодиране. Сигурността често е една от основните цели на тестването на софтуер. Тестерът трябва да може да намира проблеми със сигурността и да предотвратява атаки от хакери и наивни потребители, които могат да инжектират злонамерен код в приложението или съзнателно, или несъзнателно.

Стъпка 2) СЪЗДАВАНЕ НА ИЗПИТВАНИЯ И ИЗПЪЛНЕНИЕ

Втората основна стъпка към тестването на бялата кутия включва тестване на изходния код на приложението за правилен поток и структура. Един от начините е чрез писане на повече код за тестване на изходния код на приложението. Тестерът ще разработи малки тестове за всеки процес или поредица от процеси в приложението. Този метод изисква изпитателят да има интимни познания за кода и често се извършва от разработчика. Други методи включват ръчно тестване, тестване на проби и грешки и използването на инструменти за тестване, както ще обясним по-нататък в тази статия.

Пример за тестване на WhiteBox

Обмислете следната част от кода

Printme (int a, int b) {------------ Printme е функцияint резултат = a + b;Ако (резултат> 0)Печат ("Положителен", резултат)ИначеПечат ("Отрицателен", резултат)} ----------- Край на изходния код 

Целта на тестването на WhiteBox в софтуерното инженерство е да провери всички клонове за решения, цикли и инструкции в кода.

За да упражните изявленията в горния пример за тестване на бяло поле, тестовите случаи на WhiteBox ще бъдат

  • A = 1, B = 1
  • A = -1, B = -3

Техники за тестване на бяла кутия

Основна техника за тестване на Бяла кутия е анализ на покритието на кода. Анализът на покритието на кода елиминира пропуските в пакета Test Case. Той идентифицира области от програма, които не се упражняват от набор от тестови случаи. След като се установят пропуски, създавате тестови случаи за проверка на непроверени части от кода, като по този начин увеличавате качеството на софтуерния продукт

Налични са автоматизирани инструменти за извършване на анализ на покритието на кода. По-долу са дадени няколко техники за анализ на покритието, които тестерът на кутията може да използва:

Отчет за покритие : - Тази техника изисква всеки възможен израз в кода да бъде тестван поне веднъж по време на процеса на тестване на софтуерното инженерство.

Браншово покритие - Тази техника проверява всеки възможен път (if-else и други условни цикли) на софтуерно приложение.

Освен гореизброените, има многобройни видове покритие, като покритие на състоянието, покритие с множество условия, покритие на пътя, покритие на функцията и т.н. Всяка техника има свои собствени достойнства и се опитва да тества (обхване) всички части на софтуерния код. Използвайки Statement и Branch покритие, обикновено постигате 80-90% покритие на кода, което е достатъчно. Следват важни техники за тестване на WhiteBox:

  • Отчет за покритие
  • Покритие на решението
  • Браншово покритие
  • Състояние покритие
  • Покритие с множество условия
  • Крайно покритие на държавна машина
  • Покритие на пътя
  • Тестване на контролния поток
  • Тестване на потока от данни

Вижте тази статия, за да научите повече подробности https://www.guru99.com/code-coverage.html

Видове тестване на бяла кутия

Тестването на бяла кутия обхваща няколко типа тестове, използвани за оценка на използваемостта на приложение, блок код или специфичен софтуерен пакет. Има изброени по-долу -

  • Единично тестване: Често това е първият тип тестване, извършено върху приложение. Тестване на единица се извършва на всяка единица или блок код, както е разработен. Unit Testing се извършва по същество от програмиста. Като разработчик на софтуер, вие разработвате няколко реда код, една функция или обект и го тествате, за да сте сигурни, че работи, преди да продължите Тестването на единици помага да се идентифицират повечето грешки, в началото на жизнения цикъл на разработката на софтуер. Грешките, идентифицирани на този етап, са по-евтини и лесни за отстраняване.

  • Тестване за изтичане на памет : Изтичането на памет е водеща причина за по-бавно работещите приложения. Специалист за QA, който има опит в откриването на изтичане на памет, е от съществено значение в случаите, когато имате бавно работещо софтуерно приложение.

Освен гореизброените, няколко вида тестове са част от тестването както на черната кутия, така и на бялата кутия. Те са изброени по-долу

  • Тестване за проникване на бяла кутия: При това тестване тестващият / разработчикът разполага с пълна информация за изходния код на приложението, подробна информация за мрежата, включени IP адреси и цялата информация за сървъра, на която работи приложението. Целта е да атакувате кода от няколко ъгъла, за да изложите заплахи за сигурността
  • White Box Mutation Testing : Мутационното тестване често се използва, за да се открият най-добрите техники за кодиране, които да се използват за разширяване на софтуерно решение.

Бяла кутия Инструменти за тестване

По-долу е даден списък с най-добрите инструменти за тестване на бяла кутия.

  • Parasoft Jtest
  • EclEmma
  • NUnit
  • PyUnit
  • HTMLUnit
  • CppUnit

Предимства на тестването на бяла кутия

  • Оптимизиране на кода чрез намиране на скрити грешки.
  • Бялата кутия може да бъде автоматизирана лесно.
  • Тестването е по-задълбочено, тъй като обикновено са обхванати всички кодови пътища.
  • Тестването може да започне рано в SDLC, дори ако GUI не е наличен.

Недостатъци на тестването на WhiteBox

  • Тестването на бялата кутия може да бъде доста сложно и скъпо.
  • Разработчиците, които обикновено изпълняват тестови случаи на бяла кутия, го мразят. Тестването на бялата кутия от разработчиците не е подробно, може да доведе до производствени грешки.
  • Тестването на бялата кутия изисква професионални ресурси, с подробно разбиране на програмирането и изпълнението.
  • Тестването на бялата кутия отнема много време, по-големите програми за програмиране отделят време за пълно тестване.

Крайни бележки:

  • Тестването на бялата кутия може да бъде доста сложно. Въпросната сложност има много общо с тестваното приложение. Малко приложение, което изпълнява една проста операция, може да бъде тествано в бяло поле за няколко минути, докато по-големите програми за програмиране отнемат дни, седмици и дори повече време за пълно тестване.
  • Тестването на бяла кутия при тестване на софтуер трябва да се извършва върху софтуерно приложение, тъй като се разработва след написването му и отново след всяка модификация