Get your 6-month No-Cost Opt-Out offer for Unlimited Software Automation?

Бела кутија је категорија тестирања софтвера која се односи на методе тестирања како интерна структура и дизајн софтвера функционишу. То је у супротности са тестирањем црне кутије, што је тестирање које се не бави унутрашњим операцијама софтвера, већ само тестира екстерне излазе софтвера.

У овом чланку ћемо истражити тему тестирања беле кутије: шта је то, како функционише и које врсте алата за тестирање софтвера могу помоћи тестерима и програмерима да изврше тестирање беле кутије у тестирању софтвера.

 

Table of Contents

Шта је тестирање беле кутије?

Предности успостављања Тестинг Центер оф Екцелленце. Да ли се тестирање перформанси разликује од функционалног тестирања?

Тестирање беле кутије је техника тестирања софтвера која укључује тестирање интерне структуре и дизајна софтверске верзије за разлику од екстерних излаза или искуства крајњег корисника који се тестирају у тестирању црне кутије.

Тестирање беле кутије је кровни термин који укључује много различитих типова тестирања софтвера укључујући тестирање јединица и тестирање интеграције . Пошто тестирање беле кутије укључује тестирање кода и програмирања, спровођење тестирања беле кутије обично подразумева извесно разумевање компјутерског програмирања.

Тестирање беле кутије у софтверском инжењерингу може укључивати тестирање кода и интерног дизајна софтвера како би се верификовао улазно-излазни ток и проверио дизајн, употребљивост и безбедност софтвера.

Тестирање беле кутије омогућава тестерима да прегледају унутрашње функционисање система у исто време док верификује да улазни подаци резултирају специфичним, очекиваним резултатима.

Тестирање беле кутије је суштински корак у тестирању софтвера јер је то једина врста тестирања која разматра како сам код функционише.

 

1. Када и зашто вам треба бела кутија

тестирање у софтверском тестирању и инжењерингу?

Предности успостављања Тестинг Центер оф Екцелленце. Да ли се тестирање перформанси разликује од функционалног тестирања?

Тестирање беле кутије може се спровести у различитим фазама циклуса тестирања да би се проверила функција интерног кода и структуре.

Најчешће, тестирање беле кутије се дешава када програмери и тестери спроводе тестирање јединица, а понекад и током тестирања интеграције.

По дефиницији, тестирање јединица се сматра врстом тестирања беле кутије, док тестирање интеграције може да дели карактеристике тестирања и беле и црне кутије , али се генерално сматра обликом тестирања црне кутије.

У супротном, тестирање беле кутије се такође може користити ад хоц за проверу интерног рада софтверске верзије. Тестирање беле кутије је најекономичнији начин да се повећа покривеност тестом ако постоји потреба за тим, а такође је и једноставан начин да се провери како одређени делови кода функционишу или подручја тестирања софтверске верзије за које тестери сумњају да су недовољно тестирани.

Формални прегледи кода, који се спроводе тестирањем беле кутије, такође се могу користити за идентификацију безбедносних пропуста и других рањивости. Исто тако, ако су елементи кода покварени, тестирање беле кутије може помоћи софтверским инжењерима да одреде где је грешка.

 

2. Када не морате да радите тестирање беле кутије

Предности успостављања Тестинг Центер оф Екцелленце. Да ли се тестирање перформанси разликује од функционалног тестирања?

У већини случајева, када софтверски инжењери и тестери стављају нову верзију софтвера у циклус тестирања, неопходна је одређена количина тестирања беле кутије да би се верификовало интерно функционисање кода.

Јединично тестирање је врста тестирања беле кутије коју спроводе програмери да би потврдили да појединачне јединице раде како се очекује. Овај рани тип тестирања омогућава програмерима да идентификују грешке и недостатке пре него што се спроведе формално тестирање у КА окружењу.

Након тестирања јединица, врши се тестирање интеграције, тестирање система и тестирање прихватања корисника . Ово се генерално сматра облицима тестирања црне кутије који обично не укључују много техника тестирања беле кутије.

Међутим, у неким случајевима, тестери и програмери могу користити тестирање беле кутије током ових фаза да би идентификовали специфичне недостатке у коду. У овој фази, ако нема индикација да нешто није у реду са кодом и сви тестови црне кутије пролазе, многи тимови за тестирање могу сматрати да нема потребе за даљим тестирањем беле кутије.

 

3. Ко је укључен у тестирање беле кутије?

Предности успостављања Тестинг Центер оф Екцелленце. Да ли се тестирање перформанси разликује од функционалног тестирања?

Тестирање беле кутије скоро увек спроводе програмери софтвера и софтверски инжењери. То је зато што тестирање беле кутије захтева детаљно познавање рачунарског кода и техника кодирања, а већини КА тестера недостају техничке вештине потребне за спровођење тестирања беле кутије.

Јединично тестирање, примарни тип тестирања беле кутије, увек спроводе програмери у развојном окружењу. Програмери такође могу да спроведу тестирање беле кутије када је то потребно, да би проверили начин на који различити елементи кода функционишу или да би проверили да ли су грешке исправно исправљене.

 

Предности тестирања беле кутије

контролне листе процеса тестирања софтвера

Тестирање беле кутије омогућава програмерима и софтверским инжењерима да тестирају више аспеката кода од тестирања црне кутије.

Док нам тестирање црне кутије може рећи како софтверска верзија функционише за крајње кориснике, бела кутија нам може рећи више о томе како софтверски код функционише. Чист, ефикасан код је неопходан у развоју софтвера, посебно ако програмери желе да поново користе код касније или да додају закрпе и надоградње у будућности.

 

1. Максимално повећајте покривеност тестом

 

Тестирање беле кутије може помоћи тестерима да максимизирају покривеност тестом. Тестирање што већег броја софтверског кода обично максимизира шансе за откривање било каквих грешака или грешака присутних у коду, а сврха тестирања беле кутије обично је да се тестира што већи део кода.

С друге стране, тестирање црне кутије се једноставно односи на извршавање тест случајева који могу, али не морају понудити широку покривеност кода.

 

2. Пронађите скривене грешке и грешке

 

Једна од највећих предности тестирања беле кутије је то што тестирање беле кутије потврђује интерну функционалност, олакшава програмерима да пронађу грешке и грешке које би иначе могле бити скривене дубоко у коду.

Поред идентификације присуства грешака, обично је лакше лоцирати тачно где се у бази кода налази грешка када се врши тестирање беле кутије због веома специфичне природе ове врсте технике тестирања.

 

3. Лакоћа аутоматизације

 

Веома је лако аутоматизовати тестирање беле кутије, посебно када се врши тестирање јединица. Јединични тестови обично захтевају да програмери појединачно тестирају мале делове кода како би видели да ли раде како се очекује. Ово је веома лако аутоматизовати што значи да је то брз и ефикасан облик тестирања софтвера.

Ово је један од разлога зашто се тестирање јединица спроводи пре других, дуготрајнијих типова тестирања.

 

4. Временски ефикасан

 

Тестирање беле кутије је временски ефикасно из више разлога.

Као што је горе поменуто, релативно је лако аутоматизовати већину типова тестирања беле кутије, што значи да је често брже спровести тестирање беле кутије него тестирање црне кутије. Поред тога, тестирање беле кутије олакшава програмерима да лоцирају грешке и грешке које идентификују у коду јер их проналазе док тестирају сам код.

 

5. Квалитет кода

 

Тестирање беле кутије омогућава програмерима да поново погледају код који су написали и процене његов квалитет и чистоћу.

Пролажење кроз део по део кода даје програмерима прилику да уклоне непотребне делове кода и очисте код, што олакшава поновну употребу и уређивање делова кода у будућности.

То такође може натерати програмере да размотре како се код имплементира и да ли ће се то добро повећати у будућности.

 

Изазови тестирања беле кутије

изазове тестирање оптерећења

Тестирање беле кутије није без изазова. Постоји неколико разлога зашто неким развојним тимовима може бити теже да се спроведу тестирање беле кутије од тестирања црне кутије, као и други разлози због којих неки људи то могу сматрати мање важним од тестирања црне кутије.

 

1. Техничке баријере

 

Тестирање беле кутије носи техничке баријере које тестирање црне кутије не носи. Да би извршили тестирање беле кутије, тестери захтевају познавање интерног рада система што, у тестирању софтвера, обично значи знање програмирања.

Због тога тестирање беле кутије скоро увек спроводе софтверски инжењери и програмери и не спроводе га КА тестери који ретко имају техничке вештине неопходне за обављање ове врсте тестирања.

 

2. Трошкови

 

Тестирање беле кутије може бити скупље у поређењу са тестирањем црне кутије због тога колико је ова врста тестирања темељна.

Програмери морају да потроше доста времена на писање интензивних јединичних тестова, а тестови беле кутије често се не могу поново користити за друге апликације, што значи да тестирање беле кутије обично кошта доста.

 

3. Тачност

 

Тестирање беле кутије није увек најтачнија метода тестирања софтвера и ако би се развојни тимови ослањали искључиво на тестирање беле кутије, то би резултирало великим бројем пропуштених грешака и случајева.

Тестирање беле кутије потврђује само функције које већ постоје, док тестирање црне кутије може да се користи за тестирање делимично имплементираних функција или идентификацију функција које заправо недостају у софтверу и требало би да буду укључене у каснијим итерацијама.

 

4. Обим

 

Тестирање беле кутије нам обично не говори много о корисничком искуству или крајњем резултату функција уграђених у софтвер.

Док програмери могу да користе тестирање беле кутије да би проверили да ли код ради како треба, они тада не могу закључити да радни код испоручује исправне излазе крајњим корисницима без комбиновања тестирања беле кутије са тестирањем црне кутије.

То значи да постоје ограничења у погледу обима тестирања беле кутије и колико нам оно може рећи о софтверу.

 

Карактеристике тестова беле кутије

Шта је тестирање оптерећења и ад хоц тестирање?

Тестирање беле кутије може се дефинисати посебним карактеристикама које га разликују од других облика тестирања као што су тестирање црне кутије и сиве кутије.

Већина ових карактеристика се може размотрити из перспективе тога како се разликују од карактеристика тестирања црне кутије и како ово раздваја тестирање беле кутије и тестирање црне кутије.

 

1. Одржавање

 

Тестирање беле кутије доводи до већег нивоа лакоће одржавања у вашем коду, поједностављујући посао који ваш тим мора да ради у будућности.

Пошто постоји стално око на коду и шта ради са подацима, његово одржавање је далеко једноставније јер разумете где се појављују проблеми и зашто се појављују. Ово такође чини код једноставнијим за будућа ажурирања, јер не развијате велике и сложене закрпе за непознате и једноставне проблеме.

 

2. Флексибилност

 

Тестирање беле кутије се одвија на коду који је довољно флексибилан да релативно брзо прихвати промене. Нефлексибилан код, као што је онај који је део модула треће стране или интеграције, спречава тестер беле кутије да изврши брзе промене.

Фокусирање на поседовање кода који можете да промените чим откријете проблем чини тестирање беле кутије веома прилагодљивим и значи да се проблеми програма решавају много раније.

 

3. Модуларност

 

Тестирање беле кутије напредује у коду који има степен модуларности, што значи да се засебни елементи софтвера јасно разликују један од другог.

Ако програм има проблем са „шпагети кодом“ у којем је сваки аспект везан за други, тестирање беле кутије постаје бескрајно сложеније јер тестер мора да испита цео програм, а не одређену јединицу.

 

4. Интеграција

 

Тестирање беле кутије је изузетно корисно за тестирање интеграције. Тестери могу да виде да ли функција ради до те мере да напушта софтвер у питању и да ли се враћа из интегрисаног система онако функционалан како се очекује.

Ово је веома информативно и омогућава организацији да зна да ли је проблем локални или део интегрисане платформе.

 

Шта тестирамо у тестовима беле кутије?

Шта је јединично тестирање?

Тестови беле кутије се користе за тестирање карактеристика кода које се не могу верификовати методама тестирања црне кутије. Ово може значити тестирање како сам код функционише, што омогућава програмерима да разумеју узрок и последице различитих аспеката кода.

Програмери користе тестирање беле кутије за тестирање безбедносних рупа, изјава и функција, излаза и путања у коду.

 

1. Унутрашње сигурносне рупе

 

Тестирање беле кутије може да се користи за тражење безбедносних празнина и рањивости у коду које би хакери и сајбер криминалци могли да искористе у будућности.

Тестирање беле кутије може да се користи за проверу да ли су испоштоване најбоље безбедносне праксе током фазе развоја и за тражење безбедносних рањивости које би се могле поправити пре него што код пређе на даље тестирање.

 

2. Путеви у процесима кодирања

 

Тестирање беле кутије омогућава програмерима да тестирају путање које повезују различите елементе кода заједно. Програмери не само да тестирају логику кода, већ могу да траже и структуру кода и хигијену.

Добар, чист код нема непотребне линије или прекинуте елементе који не функционишу како се очекивало, чак и ако су екстерни излази тестирања црне кутије очекивани.

 

3. Очекивани резултати

 

Тестирање беле кутије такође може да тестира очекиване резултате кода на исти начин на који може тестирање црне кутије, иако тестери то раде узимајући у обзир код, а не користећи апликацију као што би тестери могли да раде у тестирању црне кутије.

Програмери тестирају очекиване резултате тако што верифицирају улазе један по један и провјеравају да ли је резултат усклађен са очекивањима.

 

4. Изјаве, објекти и функције

 

Спровођењем техника тестирања беле кутије, програмери софтвера могу осигурати да се искази, објекти и функције у коду понашају логично и да резултирају очекиваним резултатима.

 

5. Функционалност условних петљи

 

Тестирање беле кутије се такође може користити за проверу функционалности условних петљи, укључујући појединачне, спојене и угнежђене петље. Програмери ће проверити да ли су ове петље ефикасне, да ли испуњавају условне логичке захтеве и да ли исправно рукују локалним и глобалним променљивим.

 

Рашчишћавање неке забуне:

Тестирање беле кутије против црне кутије против сиве кутије

Поређење УАТ тестирања са регресионим тестирањем и другим

Тестирање беле кутије, тестирање црне кутије и тестирање сиве кутије су термини које тестери софтвера користе да упућују на различите категорије тестирања или различите методе тестирања.

Савремени поглед на ове разлике у тестирању је да линије повучене између различитих типова тестирања кутија постају све нејасније, пошто различите врсте тестирања често комбинују елементе тестирања и беле и црне кутије и изводе тестове из докумената на различитим нивоима апстракције.

Ипак, и даље постоје важне разлике између ових облика тестирања.

 

1. Шта је тестирање црне кутије?

Предности успостављања Тестинг Центер оф Екцелленце. Да ли се тестирање перформанси разликује од функционалног тестирања?

Тестирање црне кутије је облик тестирања софтвера у којем функционалност софтвера проверавају тестери који немају знања о унутрашњој структури кода или о томе како да имплементирају код на више техничком нивоу.

Тестирање црне кутије тестира само екстерне излазе софтвера, или другим речима, тестира шта ће крајњи корисник искусити када ради са софтвером.

Тестирање црне кутије је такође познато као тестирање понашања јер тестира како се софтвер понаша под одређеним условима.

Тестери могу да користе тестирање црне кутије да процене како се понашају различите функције софтвера и да их провере у односу на очекивања како би били сигурни да софтвер испуњава захтеве корисника. Тестирање црне кутије се користи у тестирању система и тестирању прихватања како би се верификовале различите функције и проверило да ли систем ради како се очекује када ради као целина.

Када спроводе тестирање црне кутије, корисници пишу тест случајеве како би појединачно верификовали различите елементе. Пошто тестирање црне кутије не захтева исте техничке вештине као тестирање беле кутије, тестирање црне кутије обично спроводе тестери у КА окружењу, а не програмери.

Аутоматско тестирање црне кутије је обично лакше аутоматизовати у поређењу са тестирањем беле кутије коришћењем алата за аутоматизацију од краја до краја као што је ЗАПТЕСТ.

 

Које су разлике између тестирања беле кутије и црне кутије?

Предности успостављања Тестинг Центер оф Екцелленце. Да ли се тестирање перформанси разликује од функционалног тестирања?

Примарна разлика између тестирања црне и беле кутије је оно што се тестира.

Тестирање црне кутије се односи на тестирање екстерних излаза софтверске верзије, док се тестирање беле кутије односи на тестирање шта се дешава испод хаубе.

 

Неке од примарних разлика између тестирања црне и беле кутије су:

 

Сврха

Сврха тестирања црне кутије је да провери да ли систем ради како се очекује за крајњег корисника, док је сврха тестирања беле кутије да провери квалитет и интегритет софтверског кода.

На пример, тестирање црне кутије за видео игрицу може да види крајњег корисника како испробава игру и прегледа је ради свог искуства, са тестирањем беле кутије на истом пројекту које осигурава да уношење специфичних уноса води до тога да лик заврши праву радњу.

 

Процес

Процеси који се користе у тестирању беле и црне кутије су веома различити. Тестирање беле кутије је много лакше аутоматизовати од тестирања црне кутије, а обично тестирање црне кутије мора бити аутоматизовано уз помоћ софтверских алата за аутоматизацију .

На пример, када се тестира база података, тест беле кутије укључује аутоматизовани унос података како би се проверило да ли су сви резултати тачни, при чему тестирање црне кутије укључује кориснике који реплицирају ручне процесе и извештавају о њима без употребе система аутоматизације.

 

Тестери

Тестирање црне кутије се скоро увек спроводе у оквиру КА окружења од стране професионалних софтверских тестера, док тестирање беле кутије спроводе програмери софтвера и инжењери који имају детаљније техничко знање о извору кода.

 

Технике

Тестирање црне кутије користи различите технике као што су партиционисање еквиваленције, анализа граничних вредности и тестирање табеле одлука. Тестирање беле кутије користи технике као што су покривеност одлука, покривеност услова и покривеност изјавама.

 

Операције

Методологије тестирања црне кутије одговарају операцијама тестирања на вишим нивоима као што су тестирање система и тестирање прихватања, док је тестирање беле кутије погодније за операције нижег нивоа као што су тестирање јединица и тестирање интеграције.

Из тог разлога, тестирање беле кутије се обично спроводи пре већине облика тестирања црне кутије.

 

2. Шта је тестирање сиве кутије?

Предности успостављања Тестинг Центер оф Екцелленце. Да ли се тестирање перформанси разликује од функционалног тестирања?

Тестирање сиве кутије је техника тестирања софтвера која се користи за тестирање софтверских производа и апликација од стране тестера који могу имати делимично знање о унутрашњој структури апликације, али не и потпуно знање о њој.

Тестирање сиве кутије може комбиновати елементе тестирања црне кутије и тестирања беле кутије како би се омогућило програмерима и тестерима да идентификују недостатке у коду и лоцирају грешке специфичне за контекст.

Тестирање сиве кутије комбинује карактеристике тестирања црне кутије и тестирања беле кутије. Тестери морају имати извесно знање о интерном раду система као у тестирању беле кутије, али они користе ово знање да креирају тест случајеве и изврше ове тест случајеве на нивоу функционалности као што је случај у тестирању црне кутије.

Тестирање сиве кутије нуди многе предности тестирања црне и беле кутије, а истовремено је релативно временски ефикасно и флексибилно.

 

Које су разлике између тестирања беле кутије и сиве кутије?

Предности успостављања Тестинг Центер оф Екцелленце. Да ли се тестирање перформанси разликује од функционалног тестирања?

Пошто тестирање сиве кутије нуди неке од истих функционалности као тестирање црне кутије, постоје неке велике разлике између тестирања сиве кутије и тестирања беле кутије, иако можда не толико као код тестирања црне кутије.

 

Неке од највећих разлика између тестирања сиве кутије и тестирања беле кутије су:

 

Структурно знање

 

Код тестирања беле кутије, унутрашњи дизајн и структура кода треба да буду у потпуности познати особи која спроводи тестирање. У тестирању сивих кутија, унутрашња структура кода је обично само делимично позната.

 

Укључене особе

 

Тестирање беле кутије готово искључиво спроводе програмери софтвера и софтверски инжењери, док тестирање сиве кутије могу да спроводе крајњи корисници, тестери и програмери.

 

Ефикасност

 

Тестирање беле кутије се сматра типом тестирања софтвера који највише одузима време, док тестирање сиве кутије позајмљује неке од ефикасности тестирања црне кутије како би се смањило време потребно за извођење тестова.

 

Операција

 

У тестирању беле кутије, програмери једноставно пишу код за имплементацију тестова беле кутије и покрећу овај код. У тестирању сиве кутије, попут тестирања црне кутије, тестери изводе функционалне тестове да би проценили како систем функционише споља.

 

Покривеност

 

Тестирање беле кутије је најисцрпнији тип тестирања, док покривеност тестирања сиве кутије може да варира у зависности од тога да ли је тип извршених тест случајева заснован на коду или ГУИ.

 

Закључак:

Тестирање беле кутије против црне кутије наспрам сиве кутије

Тестирање беле кутије, тестирање црне кутије и тестирање сиве кутије су термини који се користе за означавање различитих техника тестирања софтвера. Уопштено говорећи, сваки тип тестирања се може дефинисати на основу мере до које тестери морају да имају знање о бази кода и примени кода:

 

1. Тестирање црне кутије:

Унутрашња структура кода је непозната.

 

2. Тестирање беле кутије:

Унутрашња структура кода је позната.

 

3. Тестирање сиве кутије:

Унутрашња структура кода је делимично позната.

 

Током тестирања софтвера, сва три типа тестирања су важна у верификацији функције и интегритета софтвера. Док нам тестирање беле кутије говори више о основној структури кода, тестирање сиве кутије и тестирање црне кутије може да провери како систем функционише и да ли ово испуњава захтеве крајњег корисника.

Можда највеће разлике између ова три типа тестирања односе се на то ко изводи сваки тип теста, на захтеве самог тестирања и шта тестирање подразумева.

Тестирање беле кутије има највећу баријеру за улазак јер га спроводе програмери са детаљним познавањем саме базе кода и зато што је то тип тестирања који захтева највише времена и често је скуп.

Насупрот томе, тестирање црне кутије је најлакше за извођење и могу га обавити тестери без знања о основном коду.

 

Врсте тестова беле кутије

Нефункционално тестирање: шта је то, различите врсте, приступи и алати

Постоји много различитих типова тестова беле кутије, од којих се сваки може користити за тестирање мало различитих аспеката унутрашње структуре кода.

Испод су неке од најчешћих врста тестирања беле кутије које се данас користе.

 

1. Тестирање путање

 

Тестирање путање је врста тестирања беле кутије засноване на контролној структури програма. Програмери користе контролну структуру да креирају граф тока контроле и тестирају различите путеве у графикону.

Тестирање путање је врста тестирања која зависи од контролне структуре програма, што значи да захтева да тестери имају темељно разумевање ове структуре.

На пример, ако систем треба да контактира купце са постављеним порукама у одређеним тачкама у продајном току, тестирање путање укључује осигурање да прати праве кораке у зависности од услова које постављају подаци.

 

2. Тестирање петље

 

Тестирање петље је један од најважнијих типова тестирања беле кутије који тестира петље унутар програмског кода. Петље се имплементирају у алгоритме унутар кода и тестирање петље потврђује да ли су ове петље важеће.

Тестирање петље може да процени да ли постоје рањивости које постоје унутар одређених петљи и да истакне области у којима ће програмери можда морати да исправе код како би осигурали да петља функционише како треба.

Пример теста петље је праћење кроз петљу са одређеним скупом тачака података који подстичу петљу да се настави, као што је одбијање да прихвати неке одредбе и услове, пре него што унесете цифру која посебно прекида петљу. Ако се петља понаша како је очекивано, тест је успешан.

 

3. Условно тестирање

 

Условно тестирање је врста тестирања беле кутије која проверава да ли су логички услови за вредности унутар кода тачни или нетачни.

Условно тестирање је главни облик тестирања беле кутије који говори програмерима да ли је код логичан и да ли испуњава захтеве програмске логике.

Пример условног тестирања је у оквиру рачуноводствене платформе. Уношење низа трошкова и прихода требало би да резултира правим текућим укупним вредностима, са софтвером који пружа тачне резултате током успешног теста.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

 

4. Јединично тестирање

 

Тестирање јединица је важна фаза у тестирању софтвера у којој програмери тестирају појединачне компоненте и модуле и проверавају да раде како се очекује пре него што интегришу различите јединице заједно.

Софтверски инжењери користе методе тестирања беле кутије у јединичном тестирању да тестирају мале делове кода истовремено. Ово олакшава идентификацију грешака и грешака када се појаве током тестирања.

Пример тестирања јединица је у раној фази развоја, јер компанија креира једноставно дугме на веб локацији које води корисника на другу страницу. Ако јединица ради како се очекивало, онда успева, а програмери праве промене док то не учини.

 

5. Тестирање мутација

 

Тестирање мутација је врста тестирања која тестира промене и мутације. У тестирању мутација, програмери праве мале модификације изворног кода како би видели да ли ово може открити грешке у коду.

Ако тестни случај прође, то указује да постоји неки проблем са кодом јер не би требало да прође након што су промене направљене. У идеалном случају у тестирању мутација, сви тестни случајеви неће успети.

Пример тестирања мутација је у машинском учењу. Програми машинског учења аутоматски „мутирају“ у зависности од нових информација, тако да доследно тестирање ових програма за стандард „мутације“ информише програмере да ли софтвер ради како се очекује.

 

6. Интеграционо тестирање

 

Интеграционо тестирање је главна фаза тестирања софтвера током које тестери утврђују да ли различити модули раде исправно када су интегрисани са другим модулима.

Технике тестирања беле кутије се користе током тестирања интеграције да би се проверило да ли код функционише чак и када више модула – које су често кодирали различити програмери – раде заједно.

Када база података црпи информације из извора на мрежи, на пример, тестирање интеграције осигурава да су подаци које извлачи тачни и да се ажурирају разумно доследном брзином.

 

7. Испитивање пенетрације

 

Тестирање пенетрације је врста тестирања беле кутије која се може користити за симулацију специфичних сајбер напада на систем.

У пенетрацијском тестирању, тестерима се даје приступ комплетним мрежним и системским подацима као што су лозинке и мрежне мапе. Затим покушавају да приступе или униште податке унутар система покушавајући што више различитих путева напада.

Тестирање пенетрације је важан аспект безбедносног тестирања који треба да се спроводи на свим верзијама софтвера.

ХР платформа ће, на пример, завршити тестирање пенетрације и потражити рањивости у коду како би се уверила да је платформа довољно безбедна да садржи податке о запосленима.

 

Технике тестирања беле кутије

Чланак о тестирању сиве кутије - алати, приступи, упоређивање у односу на тестирање беле кутије и црне кутије, без сиве кутије и алати за предузећа.

Постоји много различитих техника тестирања беле кутије које се могу користити за извођење горе наведених тестова беле кутије. Као што је увек случај, различите технике су најпогодније за тестирање различитих аспеката кода, али све технике беле кутије наведене у наставку су важне.

 

1. Покривеност изјаве

 

Једна од карактеристика тестирања беле кутије је да тестери треба да покушају да покрију што је више могуће изворног кода приликом извођења тестова беле кутије.

Покривеност кода је јака мера овога, а покривеност исказа је једна таква техника коју тестери беле кутије могу да користе да повећају покривеност изјава унутар кода.

Покривеност исказа је метрика која мери број извршених изјава подељен укупним бројем изјава и помножен са 100. Тестери беле кутије треба да имају за циљ високу покривеност изјава.

 

2. Покривеност филијала

 

Покривеност гране, као и покривеност изјавама, одражава колико је широка покривеност одређених елемената кода у тестирању беле кутије. Гране су еквивалентне ‘ИФ’ исказима у логици, где се код грана на тачне и нетачне опције које утичу на исход операције.

Када користе технике покривања грана, тестери беле кутије проверавају да ли је свака грана обрађена бар једном и потврђују да обе гране раде исправно.

 

3. Покривеност путање

 

Технике покривања путање процењују путање унутар софтверске апликације. Максимизирање покривености тестним путањама значи да се све путање у оквиру програма истраже бар једном. То је слична техника тестирања као и покривање филијала, али се сматра темељнијим и ефикаснијим.

Тестирање покривености путање се обично сматра најпогоднијим за тестирање комплетних апликација, а не делимичних верзија.

 

4. Покривеност одлука

 

Покривеност одлука је једна од најважнијих техника беле кутије јер обезбеђује податке о истинитим и нетачним резултатима логичких израза у изворном коду.

Тестирање покривености одлука потврђује изворни код тако што осигурава да се сваки бренд сваке потенцијалне одлуке путује барем једном током тестирања.

Тачке одлучивања укључују све прилике у којима постоји могућност два или више различитих исхода.

 

5. Покривеност услова

 

Покривеност услова је такође позната као покривеност изразом. Ова техника беле кутије процењује под-варијабле у условним изјавама унутар кода да би се проверио исход сваког логичког услова.

Овај тип тестирања разматра само изразе са логичким операндима, док се тестирање покривености одлука и тестирање покривености грана користе да би се осигурале друге логичке операције.

 

6. Покривеност вишеструких услова

 

У вишеструким тестовима покривености услова, тестери верификују различите комбинације услова и процењују одлуку коју код доноси за сваку комбинацију.

Може постојати много различитих тест случајева за вишеструке тестове покривености услова због огромног броја комбинација услова који постоје, тако да ова врста тестирања често одузима много времена.

 

7. Покривеност коначног аутомата

 

Покривеност коначног аутомата је важан тип тестирања, али и један од најтежих начина да се постигне висока покривеност кода у тестирању беле кутије. Ради на функционалности дизајна и захтева од програмера да преброје колико пута је стање посећено или пређено током процеса тестирања, као и колико секвенци садржи сваки систем коначних стања.

 

8. Испитивање контролног тока

 

Тестирање тока контроле је техника тестирања беле кутије која настоји да успостави редослед извршавања програма коришћењем једноставне контролне структуре.

Програмери конструишу тест случајеве за тестирање тока контроле тако што бирају одређени део програма и праве путању за тестирање. Испитивање контролног тока се обично користи у испитивању јединица.

 

Животни циклус тестирања беле кутије

у развоју софтвера

Тестирање беле кутије је важан корак у животном циклусу развоја софтвера, иако нема стриктно ‘место’ у циклусу.

Програмери могу да спроведу тестирање беле кутије када и када треба да провере функцију кода, а неки програмери могу бити детаљнији од других у погледу провере новонаписаног кода како би се уверили да је чист и без непотребних линија.

Међутим, тестирање беле кутије се најчешће спроводи током тестирања јединица и тестирања интеграције. И тестирање јединица и тестирање интеграције спроводе програмери током фазе развоја.

Они се јављају пре функционалног тестирања , као што је тестирање система и тестирање прихватања, и дају програмерима прилику да идентификују, лоцирају и поправе главне грешке у раној фази тестирања пре него што производ предају КА тиму.

 

Ручни или аутоматизовани тестови беле кутије?

компјутерски вид за тестирање софтвера

Као и друге врсте тестирања софтвера, могуће је аутоматизовати тестирање беле кутије. Може бити ручно или аутоматизовано, мада је у већини случајева лакше аутоматизовати тестирање беле кутије него аутоматизовати тестирање црне кутије.

Пошто је тестирање беле кутије врста тестирања која одузима много времена, аутоматизација постаје све популарнија међу софтверским тимовима.

 

Ручно тестирање беле кутије: предности, изазови и процеси

 

Ручно тестирање беле кутије подразумева ручно извођење тестова беле кутије и захтева да програмери имају вештине и време за писање појединачних тест случајева како би тестирали сваку линију кода у могућој верзији софтвера. Ово може да потраје много времена, али такође резултира најтемељнијим резултатима тестова и исходима.

 

Неке од предности ручног тестирања беле кутије укључују:

 

1. Дубина

Ручно тестирање омогућава тестерима да истражују софтверски код дубље од аутоматског тестирања ако тако одлуче, на пример читањем целог изворног кода апликације, а не једноставним аутоматизовањем задатака који додирују површинску функционалност.

 

2. Локација грешке

Ручно тестирање олакшава лоцирање грешака и дефеката јер би програмери требало да буду у могућности да тачно одреде у којој линији кода је грешка присутна.

На пример, увид да се слика не учитава, а затим испитивање кода за редове који укључују учитавање слика значајно сужава узрок.

 

3. Брзина

Ручно тестирање обично траје дуже од аутоматског тестирања, али ако програмери желе да покрену само један или два брза теста, вероватно је брже да их спроведу ручно него да подесе аутоматизацију.

На пример, тестирање јединица подразумева гледање функције и уверавање да ли ради, уместо да прикупља огромне количине података аутоматизацијом процеса. Међутим, постоје и недостаци ручног тестирања беле кутије.

 

Неки од изазова за ручно тестирање беле кутије укључују:

 

1. Тачност

Ручно тестирање може омогућити програмерима да покрију широк спектар кода, али људски тестери су увек склонији грешкама и грешкама од компјутерских програма, што значи да се ручно тестирање често сматра мање прецизним од аутоматског тестирања.

 

2. Време

Ручно тестирање траје дуже од аутоматског тестирања, а ручно тестирање беле кутије је једно од тестирања које одузима највише времена. Ово повећава време обраде и може отежати постизање кратких рокова развоја.

 

3. Трошкови

Због количине радне снаге и ресурса укључених у ручно тестирање беле кутије, ово је често скупље за развојне тимове од аутоматског тестирања, које обично захтева мање програмера и мање времена.

 

4. Скалабилност

Ручно тестирање је заиста погодно само за употребу при тестирању малих апликација или тестирању појединачних компоненти већих апликација. За веће апликације као што је база података у облаку са хиљадама уноса у минути, аутоматизовано тестирање је много пожељније као метода симулације стандардних оптерећења.

 

Аутоматско тестирање беле кутије: предности,

изазове и процесе

Технологија аутоматизације олакшава свакодневну аутоматизацију аспеката тестирања софтвера. Померање индустрије ка хипераутоматизацији делимично је последица ефикасности и уштеде трошкова које аутоматизација нуди развојним тимовима који се увек осећају стиснутим.

Бела кутија је један од најприкладнијих и најприкладнијих типова тестирања за аутоматизацију јер је релативно лако аутоматизовати, а уштеда времена и трошкова аутоматизације теста беле кутије може бити значајна.

Аутоматско тестирање беле кутије може укључивати програмере који сами пишу тест скрипте, или се процес може убрзати коришћењем алата са пуним стеком као што је ЗАПТЕСТ, који пружају врхунску технологију енд-то-енд софтверског тестирања .

 

Неке од предности аутоматизације тестирања беле кутије укључују:

 

1. Тачност

Компјутерско тестирање елиминише ризик од грешака јер се рачунари не умарају и не праве грешке.

 

2. Време

Аутоматско тестирање беле кутије је знатно брже од ручног тестирања беле кутије и ослобађа време које програмери могу да потроше на друге задатке, као што су исправљање грешака или писање закрпа за надоградњу.

 

3. Скала

Аутоматско тестирање се повећава много боље од ручног тестирања, тако да ако ваша софтверска апликација расте или ако желите да спроведете масовно тестирање одједном, аутоматизација је боља опција.

На пример, повећање уноса података укључује захтев за више инпута у аутоматизацији, у поређењу са ангажовањем више чланова особља у ручним тестовима.

 

4. Трошкови

Трошкови аутоматског тестирања су обично, када се зброје, нижи од трошкова ручног тестирања због броја радних сати уштеђених аутоматизацијом. ЗАПТЕСТ-ов 10к РОИ показује како аутоматизација може уштедети новац програмерима и довести до већег приноса. Међутим, аутоматизација није без својих недостатака.

 

Неки од изазова аутоматизације тестирања беле кутије укључују:

 

1. Праћење грешака

Аутоматизација не олакшава увек лоцирање грешака у коду у зависности од тога како програмери аутоматизују тестове или који алати за тестирање се користе, посебно у поређењу са ручним тестирањем беле кутије где тестери могу да виде код који се покреће кад год се појави грешка.

 

2. Вештине

Не знају сви програмери како да аутоматизују тестове или како да користе аутоматизоване алате за тестирање, тако да прелазак на аутоматизацију може захтевати одређена улагања у обуку главних вештина као што је кодирање на језику те специфичне платформе за тестирање и коришћење вештина анализе података да би се разумео узрок проблема у тест беле кутије.

 

Закључак: Ручно тестирање беле кутије

или аутоматизација теста беле кутије?

Предности успостављања Тестинг Центер оф Екцелленце. Да ли се тестирање перформанси разликује од функционалног тестирања?

Све у свему, тестирање беле кутије у софтверском инжењерству је један од најприкладнијих типова тестирања за прилагођавање аутоматизованом тестирању, углавном због дуготрајне и сложене природе ручног тестирања беле кутије.

Аутоматско тестирање беле кутије је брже, јефтиније, ефикасније и прецизније од ручног тестирања, посебно када се ради са већим апликацијама.

Где је могуће, програмери софтвера треба да аутоматизују тестирање беле кутије у тестирању софтвера како би повећали поузданост тестова и покрили већу област већих апликација кроз тестирање него што је то практично могуће када се тестови изводе ручно. То је због значајних трошкова и стручности потребних када завршите тестове беле кутије искључиво ручним методама.

 

Шта вам је потребно за почетак

тестирање беле кутије?

рашчишћавање неке забуне у аутоматизацији тестирања софтвера

Пре него што почнете са тестирањем беле кутије, уверите се да имате све што вам је потребно за почетак. У зависности од тога да ли обављате ручно или аутоматизовано тестирање беле кутије, не треба вам много ресурса осим времена и новца.

Међутим, мораћете да обезбедите да ваш тим има одговарајуће знање и алате за правилно спровођење тестирања беле кутије.

 

1. Разумевање изворног кода

 

Тестирање беле кутије је тестирање које изводе програмери и инжењери софтвера са пуним радним знањем о изворном коду и унутрашњој структури софтвера.

Ако сте КА тестер без овог знања, мораћете да пренесете софтвер неком другом пре него што тестирање беле кутије може да почне.

 

2. Тест случајеви

 

Неопходно је написати тест случајеве пре него што извршите тестирање беле кутије. Тестни случајеви су појединачни скупови инструкција које описују радње које тестери или програмери могу да изврше да би тестирали функције и рад система.

У тестирању беле кутије, тест случајеве дизајнирају људи са потпуним знањем о унутрашњој структури система и креирају да би проверили да ли ово функционише како треба.

 

3. Алати за тестирање беле кутије

 

Постоји много доступних алата за тестирање беле кутије који подржавају приступ изворном коду и дизајнерским документима уз комплетну аутоматизацију тестирања. Они такође долазе по различитим ценама за кориснике, као што су ЗАПТЕСТ ФРЕЕ и ЗАПТЕСТ ЕНТЕРПРИСЕ верзије које пружају већу флексибилност.

Изаберите алате које желите да користите пре него што почнете са тестирањем, са нагласком на томе да обезбедите одговарајућу функционалност као што су рад на више платформи и технологија Цомпутер Висион , тако да видите шта виде аутоматизовани тестови.

Уверите се да сви програмери и инжењери укључени у тестирање знају како и када да их користе.

 

Процес тестирања беле кутије

контролна листа уат, алати за тестирање веб апликација, аутоматизација и још много тога

Тестирање беле кутије подразумева много више знања о функционисању система него тестирање црне кутије, а неки од корака у тестирању беле кутије су мало другачији.

Тестери беле кутије морају прво да идентификују карактеристике или компоненте система које желе да верификују пре него што исцртају могуће путање за тестирање и напишу тест случајеве за извршење.

Процес тестирања беле кутије такође се може разликовати у зависности од тога коју технику тестирања беле кутије користите. Пратите доле наведене кораке да бисте сазнали како да извршите тестирање беле кутије уз максималну покривеност путање.

 

Корак 1: Идентификујте карактеристике које треба тестирати

 

Пре него што извршите тестирање беле кутије, размислите шта тачно желите да тестирате и како ћете то тестирати. Ово обично укључује фокусирање на мали скуп функција или функција и креирање скупа тест случајева само за тестирање.

Овај корак ћете изводити изнова и изнова за различите области система како бисте максимизирали покривеност тестом, али је важно да различите области поделите на појединачне тестове.

Што је ваш фокус ужи, ваши тестови могу бити поузданији и тачнији.

 

Корак 2: Исцртајте све могуће путање у дијаграм тока

 

Значајан део вашег припремног рада за тестирање беле кутије је исцртавање свих могућих путања које треба да тестирате у дијаграму тока.

Овај корак вам може помоћи да максимизирате покривеност путањама и осигурате да верификујете све могуће путање у сваком тестном случају који креирате. Нацртајте дијаграм тока који покрива све могуће путање за сваку карактеристику или компоненту коју тестирате, на пример, наводећи различите путање које настају када се унесу различите вредности.

 

Корак 3: Идентификујте све могуће путеве

 

Погледајте свој дијаграм тока и идентификујте све могуће путеве којима корисници могу да иду, почевши од првог корака вашег дијаграма тока и завршавајући на последњем кораку.

Што је више грана и одлука представљено у вашем дијаграму тока, постојаће више јединствених путања. Разумевање колико јединствених могућих путева постоји може вам помоћи да будете сигурни да ваши тестни случајеви покривају сваку могућност.

 

Корак 4: Креирајте тест случајеве

 

Следећа фаза тестирања беле кутије је писање тест случајева који верификују све путање које сте горе идентификовали.

Важно је да се уверите да ваши тестни случајеви покривају све могуће путеве и јасно оцртавају радње које тестери или програмери морају да предузму да би извршили сваки тест случај.

За сваки тест случај укључите ИД и назив тестног случаја уз кратак опис, као и очекиване резултате сваког теста.

 

Корак 5: Извршите тестне случајеве

 

Сада је време да се изврше тест случајеви, што већина људи сматра да спроводи само тестирање беле кутије.

Тестери извршавају тест случајеве тако што прате кратки скуп упутстава наведених у сваком тестном случају и извештавају о исходу сваког тест случаја. Ово се може упоредити са очекиваним резултатима наведеним у тестном случају да би се утврдило да ли је сваки тест беле кутије прошао или није успео.

 

Корак 6: Поновите циклус по потреби

 

Као и други облици тестирања софтвера, тестирање беле кутије се односи на поређење како систем заправо функционише са очекивањима које тестери имају о томе како систем треба да функционише.

Ако тестери открију да се систем не понаша онако како очекују, то може значити да тестирање беле кутије није успело и програмери морају да исправе линије кода пре спровођења даљег тестирања.

Поновите горенаведени процес да бисте извршили даље тестирање беле кутије све док систем не буде темељно тестиран и све грешке не буду исправљене.

 

Најбоље праксе за тестирање беле кутије

Аутоматско тестирање оптерећења

Најбоље праксе у тестирању беле кутије зависе од врсте тестирања коју спроводите и у којој сте фази процеса тестирања.

Пошто се већина тестирања беле кутије одвија током јединичног тестирања и тестирања интеграције, већина најбољих пракси тестирања беле кутије примењује се на ове фазе.

 

1. Максимално повећајте покривеност тестом

 

По дефиницији, важно је максимизирати покривеност тестом када се врши тестирање беле кутије како би се осигурало да је висок проценат софтвера тестиран током ове фазе.

То можете учинити тако што ћете максимизирати покривеност путања и грана и писати тест случајеве који истражују све могуће путеве и исходе током припремне фазе.

 

2. Проверите понашање и перформансе

 

Када пишете тест случајеве у тестирању беле кутије, желите да креирате тест случајеве који потврђују да систем функционише онако како очекујете, као и тест случајеве који верификују перформансе система .

На пример, поред провере да ли одређене акције доводе до одређених резултата, такође можете да проверите колико брзо систем може да изврши одређене задатке или како различите варијабле утичу на перформансе.

 

3. Напишите тест случајеве независно један од другог

 

Ако желите да проверите две различите карактеристике, на пример, ако класа кода зависи од одређене базе података, креирајте апстрактни интерфејс који одражава ову везу са базом података и имплементирајте интерфејс са лажним објектом за тестирање ове везе.

Ово осигурава да ваши тестни случајеви верификују везе које желите да верификују, а не нешто друго.

 

4. Покријте све стазе и петље

 

Максимизирање покривености тестом значи покривање свих могућих путања, узимајући у обзир условне петље и друге типове петљи у коду.

Уверите се да дизајнирате тест случајеве који у потпуности истражују могуће путање и верификујете да се петље понашају онако како очекујете без обзира на улаз.

 

7 грешака и замки када

Спровођење тестова беле кутије

заптест-рунтиме-еррор.пнг

Када почнете са тестирањем беле кутије, важно је да будете свесни неких од најчешћих замки у које програмери често упадају када спроводе тестирање беле кутије. Уобичајене грешке у тестирању беле кутије могу да доведу до кашњења и нетачности које могу да нашкоде квалитету и распореду издавања софтвера.

 

1. Мислите да тестирање беле кутије није неопходно

 

Неки тестери сматрају да тестирање беле кутије није неопходно, јер тестирање црне кутије тестира све екстерне излазе софтвера, а ако они исправно раде онда је претпоставка да функционише и унутрашњи рад система.

Међутим, тестирање беле кутије може помоћи програмерима да лоцирају проблеме и грешке које се можда неће увек појавити у тестирању црне кутије и од суштинске је важности да се верификује безбедност софтверских система.

На пример, ако програм има цурење меморије које узрокује деградацију перформанси током дужих временских периода које тестирање црне кутије не испитује, тестирање беле кутије је једина опција за прелиставање кода и проналажење проблема пре широког јавног објављивања.

 

2. Ручно обављање свих тестирања беле кутије

 

Неки програмери могу мислити да је исто тако лако извршити тестирање беле кутије као и тестирање црне кутије.

Међутим, тестирање беле кутије одузима много више времена и програмери који покушавају да потпуно ручно изврше тестирање беле кутије могу открити да је немогуће извршити ручне провере у складу са жељеним стандардима или уз максималну покривеност тестом.

 

3. Додељивање тестера за извођење тест случајева

 

Тестирање беле кутије требало би да у потпуности спроводе програмери, софтверски инжењери и људи који у потпуности разумеју унутрашње функционисање софтверског система.

Неки програмери мисле да могу да пренесу тестирање беле кутије на КА тестере када сами напишу тест случајеве, али то ће само резултирати лошим извршењем и смањити квалитет документације .

 

4. Журба кроз тестирање

 

Тестирање софтвера је дуг и дуготрајан процес, а неки програмери могу бити у искушењу да пожуре са тестирањем беле кутије како би прешли на следећу фазу развоја. Важно је издвојити довољно времена и ресурса за тестирање беле кутије како би се осигурало да се програмери не осећају журно и да имају довољно времена да максимизирају покривеност тестом.

 

5. Лоша документација

 

Чување одговарајуће документације пре, током и након тестирања осигурава да сви који су укључени у развој и тестирање софтвера имају приступ тачним информацијама у право време.

Уверите се да сваки члан развојног тима зна како да напише јасну документацију и како да пријави резултате тестирања беле кутије.

 

6. Неправилно коришћење алата за аутоматизацију

 

Алати за аутоматизацију могу да олакшају извођење тестирања беле кутије, али је важно да се уверите да цео ваш тим разуме које алате за аутоматизацију користите и како да их користите.

Различити алати су погодни за различите врсте тестирања, тако да је важно одабрати алате за аутоматизацију који су прикладни за тестирање беле кутије и научити како да правилно користите њихове функције.

На пример, неки алати не интегришу аутоматизацију и уместо тога се фокусирају на прикупљање информација и организацију улазница, што је далеко од идеалног за аутоматизовано тестирање. Напротив, потпуни алати као што је ЗАПТЕСТ покривају цео процес тестирања кроз функције као што је Аутоматизација било којег задатка, што их чини прикладним за ефикаснији рад на тестирању беле кутије.

 

7. Не ради са КА тимом

 

Само зато што тестирање беле кутије планирају и изводе програмери, то не значи да КА тим не би требало да буде укључен ни на који начин.

Важно је проследити резултате тестирања беле кутије КА тиму како би разумели шта је до сада тестирано и како резултати тестирања беле кутије могу утицати на начин на који КА тим приступа тестирању црне кутије.

Ако не укључите КА тим, уводите потенцијални прекид везе између различитих одељења, што доводи до лоше комуникације и лошијих повратних информација касније током тестирања. Крајњи производ овога је знатно нижи ниво квалитета у финалном производу.

 

Врсте излаза из тестова беле кутије

предности успостављања центра за тестирање (ТЦоЕ)

Када обављате тестирање софтвера беле кутије, добићете различите резултате у зависности од резултата тестова које спроводите. Разумевање ових излаза из тестова беле кутије може вам помоћи да разумете које кораке да предузмете следеће.

 

1. Резултати испитивања

 

Резултати тестова ваших тестова беле кутије ће вам рећи да ли треба да наставите са даљим тестирањем, да ли постоје недостаци које треба поправити и да ли је сваки појединачни тест прошао или није успео. Темељна документација је неопходна јер помаже програмерима и тестерима да разумеју резултате тестирања беле кутије.

 

2. Дефекти

 

Дефекти се могу идентификовати у тестирању беле кутије, а понекад ће излаз ваших тестова беле кутије бити дефекти и грешке.

Ако се софтверски систем не понаша онако како очекујете током тестирања беле кутије, то може указивати на то да постоје озбиљни дефекти у програму који се морају поправити пре него што се развој и тестирање наставе.

 

3. Извештаји о испитивању

 

Извештаји о тестирању су извештаји које састављају програмери и тестери током и након тестирања софтвера.

Они садрже детаље о резултатима теста, укључујући који су тестови прошли и неуспели, све недостатке пронађене током тестирања и препоруке за следеће кораке.

Програмери користе извештаје о тестирању да комуницирају са другим програмерима чији задатак може бити да исправе грешке и грешке пронађене током тестирања.

 

Примери тестова беле кутије

Шта је јединично тестирање

Тестирање беле кутије омогућава програмерима да провере да ли интерна структура софтверског система функционише како треба, без обзира на спољашње резултате и излазе система.

Примери у наставку илуструју како тестирање беле кутије може помоћи програмерима да верификују интерне функције софтвера.

 

1. Пример странице за регистрацију е-трговине

 

Један пример тестирања беле кутије разматра како програмери тестирају функционисање веб локације. Ако покушавате да тестирате страницу за регистрацију веб локације за е-трговину, тестирање беле кутије може омогућити програмерима да схвате да ли функције и класе укључене у регистрацију функционишу на начин на који би требало да се извршава функција регистрације.

Ово посебно укључује све информације које корисник уноси и процењује параметре иза обрасца, укључујући датуме који су важећи и који нису важећи и шта образац види као легитимну адресу е-поште.

Тим затим улази у серију низова који тестирају форму, при чему су неки дизајнирани да не успеју, а други да успеју, пре него што процени исходе у односу на предвиђене исходе.

Тестирање црне кутије, с друге стране, само ће проверити да ли сама страница ради, без икакве даље анализе зашто и како.

 

2. Пример калкулатора

 

Калкулатори апликација пружају још један пример тестирања беле кутије.

Ако креирате калкулатор који се користи као део апликације, тестери црне кутије ће једноставно тестирати да ли је излаз калкулатора исправан када користите калкулатор како је предвиђено.

Тестери беле кутије ће проверити интерне прорачуне калкулатора да би проверили како је резултат израчунат и да ли је то тачно. Ово је корисније за сложеније прорачуне са неколико фаза, као што су порези. Тестери испитују код да би видели кораке које калкулатор предузима и редослед корака, пре него што виде резултат након сваке фазе.

Ако је улаз калкулатора (7*4) – 6, а излаз 22, ово је тачно и тестирање црне кутије би прошло овај тест. Међутим, то је зато што је 7*4 = 28, а 28 – 6 је 22. Тестирање беле кутије могло би открити да је софтвер пронашао овај резултат изводећи 7*4 = 32 и 32 – 6 = 22, од чега ниједно није тачно.

Овај бољи увид показује да је прорачун тачан након сваке одређене фазе, проналази фазу у којој можда није тачан и брже га решава јер тестер може јасно да види где се проблем дешава.

 

Врсте грешака и грешака у тестирању беле кутије

врсте тестирања перформанси

Током тестирања беле кутије, могуће је идентификовати и лоцирати грешке које могу утицати на начин на који системи раде испод хаубе. Ове грешке могу утицати на спољне функције или могу утицати на перформансе или поузданост.

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

Неке од најчешћих типова грешака и грешака које се јављају током тестирања беле кутије су наведене у наставку.

 

1. Логичке грешке

 

Логичке грешке настају у тестирању беле кутије јер тестови беле кутије показују области у којима програм не функционише логички или где се функције и услови злоупотребљавају у софтверском коду.

Логичке грешке се могу представити као системски кварови или једноставно резултирати неочекиваним понашањем и резултатима.

 

2. Грешке у дизајну

 

Тестирање беле кутије може помоћи програмерима да идентификују грешке у дизајну у коду. Грешке у дизајну настају када постоји разлика између логичког тока софтвера и стварне имплементације софтвера. Они могу довести до неочекиваног понашања и грешака у раду.

 

3. Штампарске грешке

 

Типографске грешке и синтаксичке грешке су грешке које настају због људске грешке – на пример зато што је програмер погрешно откуцао одређену фразу или додао погрешну интерпункцију у линију кода. Мале грешке попут ове могу довести до покварених функција и изјава које софтвер не може да прочита, што може изазвати велике грешке у систему.

 

Уобичајени показатељи тестирања беле кутије

шта је аутоматизација софтверског тестирања

Када вршите тестирање беле кутије, уобичајене метрике тестирања могу вам помоћи да измерите колико су успешни и свеобухватни ваши тестови беле кутије, као и да разумете квалитет рада ваших програмера.

метрике тестирања информишу процес развоја јер могу идентификовати области за побољшање или водити процес тестирања напред.

 

1. Покривеност кода

 

Једна од примарних карактеристика тестирања беле кутије је да оно треба да покрије што је могуће већи део кода, а ви можете да измерите колико сте кода покрили помоћу метрике покривености кода.

метрика покривености кода показује колико сте укупног кода апликације верификовали коришћењем беле кутије тестирања. Генерално, програмери имају за циљ да покрију што је могуће ближе 100% софтверског кода кроз тестирање беле кутије.

Покривеност кода може се раздвојити на различите метрике укључујући покривеност путањом, сегментом, исказом и граном.

Покривеност сложених услова је још једна врста метрике покривености кода која проверава да ли је сваки услов унутар скупа проверен заједно са више путања и комбинација путања.

 

2. метрика дефеката

 

Метрике дефекта одражавају колико је дефеката пронађено, колико је добро ваше тестирање беле кутије у идентификацији недостатака и који проценти кода пролазе или не успевају при тестирању беле кутије.

метрика дефекта се може представити као број дефеката на хиљаду линија кода или број укупних дефеката у програму. Иако мали број недостатака може изгледати позитивно, програмери морају осигурати да то није зато што се недостаци пропуштају у тестирању.

 

3. Извођење теста

 

метрика извршења теста може помоћи програмерима да брзо виде колики је проценат од укупног броја тестова до сада извршен и колико је остало неизвршених тестова. Метрике извршења текста помажу софтверским тимовима да схвате колико је далеко напредак у тестирању беле кутије и да ли се аутоматски тестови софтвера покрећу према очекивањима.

Међутим, могуће је имати и лажне позитивне и лажне негативне резултате што може утицати на тачност ове метрике.

 

4. Трајање теста

 

Метрике трајања теста нам говоре колико је времена потребно за покретање аутоматизованих тестова, што је посебно важно код тестирања беле кутије јер је аутоматизација од суштинског значаја за максимализацију ефикасности тестирања и покривености тестом.

Трајање теста је често уско грло у агилном развоју софтвера, тако да разумевање колико дуго је потребно за тестирање софтвера може помоћи развојним тимовима да убрзају процес развоја.

Међутим, важно је запамтити да вам метрике трајања теста не говоре ништа о квалитету тестова које изводите.

 

Алати за тестирање беле кутије

најбоље праксе за агилно и функционално тестирање софтверске аутоматизације

Алати и технологија могу учинити тестирање беле кутије знатно прецизнијим, ефикаснијим и свеобухватнијим. Алати за тестирање беле кутије могу помоћи софтверским инжењерима да аутоматизују тестирање беле кутије, снимају и документују процес тестирања беле кутије и управљају тестирањем беле кутије од почетка до краја.

 

5 најбољих бесплатних алата за тестирање беле кутије

Ако још увек не желите да инвестирате у скупе алате за тестирање беле кутије, можете испробати читав низ бесплатних алата за тестирање беле кутије на мрежи, а да ништа не плаћате.

Бесплатни алати за тестирање не нуде увек све исте функционалности као алатке за предузећа, али су добра полазна тачка за почетнике у тестирању беле кутије и могу помоћи развојним тимовима да стекну боље разумевање алата и технологија које су им потребне. .

 

1. ЗАПТЕСТ БЕСПЛАТНО издање

 

ЗАПТЕСТ је алатка за тестирање софтвера и софтвер за аутоматизацију роботских процеса који омогућава програмерима и КА тестерима да аутоматизују и тестирање беле кутије и тестирање црне кутије.

Бесплатна верзија ЗАПТЕСТ-а омогућава више виртуелних корисника, вишеструке итерације и подршку за кориснички форум. Апликација ради са локалним и екстерним изворима података и интегрише се са ХП АЛМ, Ралли и ЈИРА. Корисници који воле ЗАПТЕСТ-ову бесплатну понуду и желе да виде више од онога што компанија нуди, такође могу да се распитају о надоградњи на издање за предузећа када буду спремни.

 

2. Бугзилла

 

Бугзилла је веома популаран алат за тестирање софтвера отвореног кода који омогућава програмерима да прате грешке и дефекте унутар софтвера и управљају животним циклусом грешака.

Бугзилла олакшава додељивање грешака програмерима, давање приоритета и верификовање грешака и затварање када се поправе. Бугзилла је одличан алат за тимове који још увек покушавају да стандардизују свој приступ извештавању о грешкама и потпуно је бесплатан за коришћење.

 

3. ОпенГрок

 

ОпенГрок је претраживач отвореног кода и претраживач за базу кода. Компатибилан је са кодом написаним у Јава Ц++, ЈаваСцрипт-у и Питхон-у заједно са другим програмским језицима.

Ако желите да будете у могућности да се брзо крећете по великој бази кода током тестирања беле кутије, ОпенГрок је потпуно бесплатан и једноставан за коришћење.

 

4. СКЛмап

 

СКЛмап је још један алат отвореног кода који се сматра готово неопходним у тестирању беле кутије. СКЛмап регулише ток искоришћавања и откривања грешака у СКЛ ињекцији.

СКЛмап, самоописана ‘алатка за тестирање пенетрације’, може помоћи тестерима беле кутије да идентификују и лоцирају безбедносне грешке у изворном коду и поправе их пре него што крену даље.

 

5. Емма

 

Емма је комплет алата отвореног кода који може да мери покривеност вашег кода ако радите у Јави. То је супер брз начин да брзо утврдите покривеност вашег кода и да пратите колико је кода сваки члан развојног тима покрио на индивидуалној основи.

Емма подржава класу, метод, линију и основну покривеност блокова и у потпуности је заснована на Јави.

 

5 најбољих алата за тестирање беле кутије предузећа

најбоље тестирање бесплатног и пословног софтвера + РПА алати за аутоматизацију

Ако тражите алате који нуде већу функционалност или бољу подршку, алати за тестирање беле кутије предузећа могу боље одговарати вашем развојном тиму.

 

1. Издање ЗАПТЕСТ ЕНТЕРПРИСЕ

 

ЗАПТЕСТ-ово Ентерприсе издање је проширена верзија бесплатног ЗАПТЕСТ-а. У овој верзији, корисници могу имати користи од неограничених ОЦР шаблона, неограничених итерација и неограничених ВБСцрипт и ЈаваСцрипт скрипти.

ЗАПТЕСТ-ово издање за предузећа нуди потпунији пакет алата за развојне тимове који желе да пређу на аутоматизацију, а верзија за предузећа такође долази са стручном подршком како би се осигурало да ваш тим извуче максимум из ЗАПТЕСТ-ове аутоматизације тестирања софтвера и РПА технологије .

 

2. Фиддлер

 

Фиддлер је скуп алата компаније Телерик који је направљен за тестирање веб апликација у бијелој кутији. Фиддлер може да евидентира сав ХТТП саобраћај између вашег система и интернета и процени постављене тачке прекида, као и да прилагоди одлазне и долазне податке. Доступан је у различитим форматима у зависности од вашег буџета и захтева, тако да постоји Фиддлер издање за скоро сваки тим.

 

3. ХП Фортифи

 

ХП Фортифи, раније познат као Фортифи, је још један алат за тестирање безбедности који нуди свеобухватна безбедносна решења за тестирање беле кутије. Пакет алата Фортифи укључује алатку Фортифи за анализу изворног кода, која ће аутоматски скенирати ваш изворни код у потрази за рањивостима које могу оставити вашу апликацију отвореном за сајбер нападе.

 

4. Јединица АБАП

 

Верзија АБАП Унит-а за предузећа омогућава програмерима софтвера да брзо и једноставно спроводе ручно и аутоматизовано тестирање јединица. Програмери пишу јединичне тестове у оквиру АБАП апликације и користе ове тестове да верификују функције кода и идентификују грешке у јединичном тестирању.

Софтверски тимови који желе да испробају ову алатку могу почети са бесплатном верзијом АБАП Унит-а пре него што пређу на издање за предузећа.

 

5. ЛДРА

 

ЛДРА је власнички пакет алата који се може користити за покривеност изјавама, покривеност огранцима и покривеност одлукама када се врши тестирање беле кутије. То је одличан алат ако желите да проверите да ли ваш изворни код испуњава стандардне захтеве за усклађеност, праћење и хигијену кода.

 

Када треба да користите предузеће

вс фреемиум вхите бок алати за тестирање?

Предности успостављања Тестинг Центер оф Екцелленце. Да ли се тестирање перформанси разликује од функционалног тестирања?

И пословни и бесплатни алати за тестирање софтвера имају своје место у сваком модерном тиму за развој софтвера. Како ваш тим расте и аутоматизовано тестирање постаје све важније за ваш приступ тестирању беле кутије, вероватно ћете желети да надоградите рад са првенствено бесплатним алатима за тестирање на рад са пословним алатима који нуде више функционалности и неограничену употребу.

Међутим, постоје специфични сценарији у којима фреемиум алати могу бити прикладнији од пословних алата.

Многи програмери одлучују да почну са фреемиум алатима када експериментишу са новим функцијама и технологијама, првенствено да би проценили да ли су ове технологије погодне за њихов тим пре него што инвестирају у технологије предузећа.

Такође можете испробати бесплатне верзије алата за предузећа као што је ЗАПТЕСТ тако да можете да их испробате пре куповине и сазнате више о томе шта алати за предузећа нуде.

Коначно, неки бесплатни алати као што су Емма и Бугзилла су специјализовани за нишне, али важне карактеристике које нуде сталне предности чак и софтверским тимовима спремним да плате за пословне технологије.

 

Тестирање беле кутије: контролна листа, савети и трикови

Контролна листа за тестирање софтвера

Када будете спремни да извршите тестирање беле кутије, уверите се да имате све што вам је потребно пре него што почнете. Испод је листа ствари које треба запамтити пре него што почнете са тестирањем беле кутије да бисте максимално повећали покривеност тестом и побољшали тачност резултата теста беле кутије.

 

1. Користите алате за аутоматизацију

 

Алати за аутоматизацију могу значајно да убрзају процес спровођења тестирања беле кутије, као и да смање стопу грешака и повећају укупну тачност.

Готово сви софтверски тимови данас користе неки ниво аутоматизације за спровођење тестирања беле кутије, тако да експериментисање са различитим алатима и технологијама за аутоматизацију пре него што почнете са тестирањем беле кутије може вам помоћи да одаберете алате које желите да користите пре него што тестирање почне.

 

2. Циљајте на 100% покривеност тестом

 

Вероватно нећете постићи свој циљ од 100% покривености тестом, али циљ да се приближите овој цифри што је више могуће је најбоље када вршите тестирање беле кутије.

Користите алатке за покривеност тестом да бисте пратили и мерили појединачне метрике као што су покривеност путања и покривеност грана и обезбедите да су све најважније путање и гране унутар вашег софтвера покривене током тестирања беле кутије.

 

3. Направите јасне извештаје о испитивању

 

Као што је случај са другим облицима тестирања софтвера, уверите се да ваш тим зна како да састави тачне и јасне извештаје о тестирању након сваке фазе тестирања.

Извештај о тестирању треба да буде написан у лако разумљивом формату и да садржи детаље о приступу тестирању, као и резиме излаза и резултата сваког извршеног тест случаја. Коначни извештај треба да оправда предузете кораке и да да препоруке за наредне кораке.

 

4. Измерите свој успех помоћу метрика тестирања

 

метрика тестирања помаже софтверским тимовима да прате и бележе напредак тестирања беле кутије и нуде вредне информације које могу да информишу будуће развојне процесе.

Важно је да програмери користе метрику да би разумели колико је тестирање које спроводе ефикасно и колико је њихов почетни код био чист како би могли да побољшају свој рад у будућности.

 

Тестирање беле кутије:

Закључак

Тестирање беле кутије у софтверском инжењерству је суштинска врста тестирања софтвера која верификује унутрашњу структуру и логику изворног кода софтверске апликације.

У комбинацији са тестирањем црне кутије, тестирање беле кутије потврђује не само да софтвер ради како се очекује, већ и да је интерни код логичан, чист и потпун.

Тестирање беле кутије се најчешће спроводи у јединичном тестирању и тестирању интеграције, а увек га спроводе програмери и софтверски инжењери са потпуним познавањем интерног кода софтвера.

Док се нека тестирања беле кутије могу извршити ручно, данас је много тестирања беле кутије аутоматизовано због побољшања брзине, ефикасности и покривености које нуди аутоматизација тестирања беле кутије.

 

Често постављана питања и ресурси

Ако желите да сазнате више о тестирању беле кутије, постоји много бесплатних онлајн ресурса које можете да консултујете. Можете да користите видео записе, књиге и друге ресурсе да бисте себе научили како да спроведете тестирање беле кутије и осигурате да ваши стандарди за тестирање беле кутије прате најбоље праксе.

 

1. Најбољи курсеви о аутоматизацији тестова беле кутије

 

Ако желите да сазнате више о аутоматизацији тестова беле кутије, можете похађати курс о тестирању софтвера и тестирању беле кутије. Неки од ових курсева су акредитовани и нуде формалне квалификације, док су други неформални онлајн курсеви осмишљени да помогну програмерима и тестерима софтвера који желе да унапреде своје знање о одређеној теми.

 

Неки од најбољих курсева за тестирање беле кутије који су данас доступни на мрежи укључују:

 

 

 

 

 

2. Која су пет најчешћих питања за интервју о аутоматизацији тестова беле кутије?

 

Ако се припремате за интервју на коме бисте могли да разговарате о тестирању беле кутије, техникама беле кутије и алатима за аутоматизацију, важно је да знате.

 

  • Која је разлика између тестирања беле кутије и тестирања црне кутије?

 

  • Зашто је тестирање беле кутије важно?

 

  • Који су неки од различитих приступа које можете применити на тестирање беле кутије?

 

  • Који процеси су укључени у тестирање беле кутије и како их можемо побољшати?

 

  • Који су неки од алата и технологија које бисте могли да користите да бисте убрзали или прецизније тестирање беле кутије?

 

3. Најбољи ИоуТубе туторијали о тестирању беле кутије

 

Ако желите да сазнате више о тестирању беле кутије, гледање ИоуТубе туторијала може вам помоћи да разумете како функционише тестирање беле кутије и да видите визуелна објашњења процеса и приступа укључених у тестирање беле кутије.

Неки од најинформативнијих ИоуТубе туторијала на мрежи сада укључују:

 

4. Како одржавати тестове беле кутије

 

Одржавање тестова софтвера осигурава да с времена на време тестови које изводите буду темељни и да одговарају сврси. Важно је одржавати све типове софтверских тестова иу блацкбок и вхитебок тестирању јер се код на којем изводите тестове стално мења са сваком поправком грешака и итерацијом. То значи да се ваше тестне скрипте морају мењати заједно са тим.

Одржавање тестова беле кутије подразумева ажурирање оквира за аутоматизацију тестирања и спровођење процеса дизајнираних да осигурају да се тестови и случајеви тестирања редовно ажурирају.

 

То можете учинити на следећи начин:

 

Уградите одржавање у свој дизајн теста:

Узимајући у обзир будућност тестирања беле кутије када први пут правите и дизајнирате своје тестове беле кутије, биће лакше одржавати тестове у будућности.

 

Омогућите јасну комуникацију између тимова:

Уверите се да сви чланови вашег развојног тима имају више канала комуникације тако да, чим се промене код, оне могу брзо да се одразе на тестовима.

 

Будите прилагодљиви:

Понекад можете да унесете промене у код које нисте планирали. Уверите се да ваш тим зна како да се брзо прилагоди овим променама и да има вештине да прати ове промене током тестирања.

 

Стално поново процењујте протоколе тестирања:

Протоколи тестирања које сте применили на почетку тестирања можда неће бити прикладни када ваш софтвер прође кроз разне измене и побољшања. Поново процењујте своје протоколе тестирања у редовним фазама да бисте проверили да ли се и даље добро уклапају.

 

5. Најбоље књиге о тестирању беле кутије

Тестирање беле кутије је дубока тема за коју могу потрајати године да се савлада. Ако желите да постанете стручњак за модерно тестирање беле кутије у тестирању софтвера, можете читати књиге о тестирању беле кутије које су написали програмери, академици и инжењери.

 

Неке од најбољих књига о тестирању беле кутије и аутоматизацији тестирања данас укључују:

 

  • Уметност тестирања софтвера, треће издање од Гленфорда Ј. Миерса, Цореи Сандлер, Том Бадгетт, Тодд М. Тхомас

 

  • Тестирање софтвера: Занатски приступ, четврто издање, Паул Ц. Јоргенсен

 

  • Како разбити софтвер: Практични водич за тестирање од Џејмса Витакера

 

  • Само довољно за аутоматизацију софтверског тестирања, Ден Мосли и Брус Пози

 

Ове књиге би требало да будете у могућности да пронађете у неким књижарама и библиотекама, као и на мрежи. Такође можете пронаћи друге материјале за читање и ресурсе за учење на листама за читање добрих курсева и програма за тестирање софтвера.

Download post as PDF

Alex Zap Chernyak

Alex Zap Chernyak

Founder and CEO of ZAPTEST, with 20 years of experience in Software Automation for Testing + RPA processes, and application development. Read Alex Zap Chernyak's full executive profile on Forbes.

Get PDF-file of this post