Бял Box Тестване – какво е, техники, примери и типове
Бял Box Тестване
Бял Box Тестване е техника за тестване, при която вътрешната структура, дизайн и кодиране на софтуера се тестват, за да се провери входно-изходният поток и да се подобри дизайнът, използваемостта и сигурността. При тестването на бяла кутия кодът е видим за тестерите, така че се нарича още тестване на чиста кутия, тестване на отворена кутия, тестване на прозрачна кутия, тестване на базата на код и тестване на стъклена кутия.
Това е една от двете части на Box Тестващ подход към тестването на софтуера. Неговият двойник, тестването на Blackbox, включва тестване от гледна точка на външен или краен потребител. От друга страна, тестването на бялата кутия в софтуерното инженерство се основава на вътрешната работа на приложението и се върти около вътрешното тестване.
Терминът „БялBox” беше използван поради концепцията за прозрачна кутия. Прозрачната кутия или бялотоBox името символизира способността да се вижда през външната обвивка на софтуера (или „кутия“) в неговата вътрешна работа. По същия начин „черната кутия“ в „черно Box Тестване” символизира невъзможността да видите вътрешната работа на софтуера, така че да може да се тества само изживяването на крайния потребител.
Бял Box Тестване на видео
Кликнете тук ако видеото не е достъпно
Какво проверявате в бяло Box Тестване?
Тестването на бяла кутия включва тестване на софтуерния код за следното:
- Вътрешни дупки за сигурност
- Счупени или лошо структурирани пътища в процесите на кодиране
- Потокът от специфични входове през кода
- Очакван резултат
- Функционалността на условните цикли
- Тестване на всеки оператор, обект и функция на индивидуална основа
Тестването може да се извърши на ниво система, интеграция и модул на разработка на софтуер. Една от основните цели на тестването на бяла кутия е да провери работния поток за приложение. Това включва тестване на поредица от предварително дефинирани входове спрямо очаквани или желани изходи, така че когато конкретен вход не доведе до очаквания изход, вие сте попаднали на грешка.
Как изпълнявате White Box Тестване?
Разделихме го на две основни стъпки, за да ви дадем опростено обяснение на тестването с бяла кутия. Ето какво правят тестерите, когато тестват приложение, използвайки техниката за тестване на бялата кутия:
СТЪПКА 1) РАЗБЕРЕТЕ ИЗХОДНИЯ КОД
Първото нещо, което тестерът често прави, е да научи и разбере изходния код на приложението. Тъй като тестването на бялата кутия включва тестване на вътрешната работа на дадено приложение, тестерът трябва да има много познания в езиците за програмиране, използвани в приложенията, които тества. Също така, лицето, което изпитва, трябва да е добре запознато с практиките за безопасно кодиране. Сигурността често е една от основните цели на тестването на софтуера. Тестерът трябва да може да открие проблеми със сигурността и да предотврати атаки от хакери и наивни потребители, които биха могли съзнателно или несъзнателно да инжектират зловреден код в приложението.
СТЪПКА 2) СЪЗДАВАЙТЕ ТЕСТОВИ СЛУЧАИ И ИЗПЪЛНЯВАЙТЕ
Втората основна стъпка към тестването на бялата кутия включва тестване на изходния код на приложението за правилен поток и структура. Един от начините е да напишете повече код, за да тествате изходния код на приложението. Тестерът ще разработи малки тестове за всеки процес или серия от процеси в приложението. Този метод изисква тестерът да има задълбочени познания за кода и често се извършва от разработчика. Други методи включват Ръчно тестване, тестване на проби и грешки и използването на инструменти за тестване, както ще обясним по-нататък в тази статия.
БялBox Пример за тестване
Разгледайте следната част от кода
Printme (int a, int b) { ------------ Printme is a function int result = a+ b; If (result> 0) Print ("Positive", result) Else Print ("Negative", result) } ----------- End of the source code
Голът на УайтBox тестването в софтуерното инженерство е да се проверят всички клонове на решения, цикли и изрази в кода.
За да упражните твърденията в горния пример за тестване на бяла кутия, WhiteBox тестови случаи биха били
- A = 1, B = 1
- A = -1, B = -3
Бял Box Техники за тестване
Основна техника за тестване на бялата кутия е анализът на покритието на кода. Анализът на покритието на кода елиминира пропуски в a Тестов случай апартамент. Той идентифицира области на програма, които не се упражняват от набор от тестови случаи. След като бъдат идентифицирани пропуски, вие създавате тестови случаи, за да проверите нетестваните части от кода, като по този начин повишавате качеството на софтуерния продукт
Налични са автоматизирани инструменти за изпълнение Анализ на покритието на кода. По-долу са дадени няколко техники за анализ на покритието, които тестерът на кутията може да използва:
Покритие на изявлението:- Тази техника изисква всеки възможен израз в кода да бъде тестван поне веднъж по време на процеса на тестване на софтуерно инженерство.
Покритие на клонове – Тази техника проверява всеки възможен път (if-else и други условни цикли) на софтуерно приложение.
Освен по-горе, има многобройни видове покритие, като например покритие на условия, покритие на множество условия, покритие на пътя, покритие на функции и т.н. Всяка техника има свои собствени предимства и се опитва да тества (покрие) всички части на софтуерния код. Използвайки покритие на Statement и Branch, вие обикновено постигате 80-90% покритие на кода, което е достатъчно.
Следват важни белиBox Техники за тестване:
- Покритие на изявлението
- Покритие на решението
- Покритие на клонове
- Покритие на състоянието
- Покритие на множество условия
- Покритие на краен автомат
- Покритие на пътя
- Тестване на контролния поток
- Тестване на потока от данни
Видове бяло Box Тестване
Тестване на бяла кутия обхваща няколко вида тестове, използвани за оценка на използваемостта на приложение, блок от код или специфичен софтуерен пакет. Има изброени по-долу —
- Единично тестване: Често това е първият тип тестване, извършено на приложение. Единично тестване се извършва върху всяка единица или блок от код, докато се разработва. Единичното тестване се извършва по същество от програмиста. Като разработчик на софтуер вие разработвате няколко реда код, отделна функция или обект и го тествате, за да се уверите, че работи, преди да продължите. Единичното тестване помага да се идентифицират повечето грешки в началото на жизнения цикъл на разработката на софтуера. Грешките, идентифицирани на този етап, са по-евтини и лесни за коригиране.
- Тестване за изтичане на памет: Течовете на памет са водещи причини за по-бавно работещи приложения. Специалист по QA, който има опит в откриването на течове на памет, е от съществено значение в случаите, когато имате бавно работещо софтуерно приложение.
Освен горното, няколко вида тестове са част както от тестването на черна кутия, така и от бяла кутия. Те са изброени по-долу
- Бял Box Проверка на проникването: При това тестване тестерът/разработчикът има пълна информация за изходния код на приложението, подробна информация за мрежата, включените IP адреси и цялата информация за сървъра, на който приложението работи. Целта е кодът да се атакува от няколко ъгъла, за да се разкрият заплахи за сигурността.
- Бял Box Тестване на мутации: Изследване на мутации често се използва за откриване на най-добрите техники за кодиране, които да се използват за разширяване на софтуерно решение.
Бял Box Инструменти за тестване
По-долу е даден списък с най-добрите инструменти за тестване на бяла кутия.
Предимства на бялото Box Тестване
- Оптимизиране на кода чрез намиране на скрити грешки.
- Тестовите случаи на бяла кутия могат лесно да бъдат автоматизирани.
- Тестването е по-задълбочено, тъй като обикновено се покриват всички пътища на кода.
- Тестването може да започне рано SDLC дори ако GUI не е наличен.
Недостатъци на бялотоBox Тестване
- Тестването на бяла кутия може да бъде доста сложно и скъпо.
- Разработчиците, които обикновено изпълняват тестови случаи на бяла кутия, го мразят. Тестването на бялата кутия от разработчиците не е подробно и може да доведе до производствени грешки.
- Тестването на бялата кутия изисква професионални ресурси с подробно разбиране на програмирането и внедряването.
- Тестването в бяла кутия отнема време, по-големите приложения за програмиране отнемат време за пълно тестване.
Заключение
- Тестването на бялата кутия може да бъде доста сложно. Включената сложност има много общо с приложението, което се тества. Малко приложение, което изпълнява една проста операция, може да бъде тествано в бяла кутия за няколко минути, докато по-големите приложения за програмиране отнемат дни, седмици и дори повече, за да се тестват напълно.
- Тестването на бялата кутия в софтуерното тестване трябва да се извършва върху софтуерно приложение, тъй като то се разработва, след като е написано и отново след всяка модификация.