white box testing complete guide with techniques
Шта је тестирање беле кутије?
Ако се придржавамо дефиниције, „испитивање беле кутије“ (такође познато као прозирно испитивање, испитивање стаклене кутије или конструкције) је техника испитивања која процењује код и унутрашњу структуру програма.
Тестирање беле кутије подразумева сагледавање структуре кода. Када знате унутрашњу структуру производа, могу се спровести испитивања како би се осигурало да се унутрашње операције извршавају према спецификацији. И све унутрашње компоненте су адекватно извршене.
Шта ћете научити:
- Моје искуство
- Разлика између тестирања беле кутије и црне кутије
- Кораци за извођење ВБТ-а
- Врсте и технике испитивања беле кутије
- Пример тестирања беле кутије
- Алати за тестирање беле кутије
- Закључак
- Препоручено читање
Моје искуство
Прошла је скоро деценија откако се бавим тестирањем софтвера и до сада сам приметио да су тестери најодушевљенији у целој софтверској индустрији.
Главни разлог за то је - тестер увек има нешто у свом домету да научи. Било да је то домен, процес или технологија, тестер може имати потпуни развој ако то жели.
Али како кажу „Увек постоји мрачнија страна“ .
Тестери такође заиста избегавају неку врсту тестирања за коју сматрају да је веома компликована и део колача програмера. Да, „тестирање беле кутије“.
Покривеност
Вхите Бок Тестирање је покривање спецификација у коду:
2. Покривеност сегмента: Уверите се да се свака наредба кода извршава једном.
3. Покривеност огранка или испитивање чворова: Покривеност сваке гране кода од свих могућих била је.
4. Покривеност сложеног стања: За више услова тестирајте сваки услов са више путања и комбинацијом различите путање да бисте постигли тај услов.
5. Основно испитивање пута: Свака независна путања у коду узима се за тестирање.
6. Испитивање протока података (ДФТ): У овом приступу пратите одређене променљиве кроз сваки могући прорачун, дефинишући на тај начин средњи пут кроз код. ДФТ настоји да одражава зависности, али то је углавном кроз секвенце манипулације подацима. Укратко, свака променљива података се прати и верификује њена употреба. Овај приступ тежи откривању грешака попут променљивих које се користе, али се не иницијализују, или декларишу, али се не користе, и тако даље.
7. Испитивање путање: Тестирање пута је место где су дефинисани и покривени сви могући путеви кроз код. То је дуготрајан задатак.
8. Тестирање петље: Ове стратегије се односе на тестирање појединачних петљи, спојених петљи и угнежђених петљи. Овај приступ тестира независне и зависне петље и вредности кода.
Зашто изводимо ВБТ?
Да обезбеди:
- Да су сви независни путеви у модулу вежбани барем једном.
- Све логичке одлуке верификоване на њиховим истинитим и лажним вредностима.
- Све петље извршене на њиховим границама и унутар њихових оперативних граница ваљаности унутрашњих структура података.
Да бисте открили следеће типове грешака:
- Логичке грешке се често увлаче у наш рад када дизајнирамо и имплементирамо функције, услове или контроле који су изван програма
- Грешке у дизајну због разлике између логичког тока програма и стварне имплементације
- Штампарске грешке и провера синтаксе
Да ли ово тестирање захтева детаљне вештине програмирања?
Морамо писати тест случајева који осигуравају потпуну покривеност програмске логике.
За ово морамо добро познавати програм, тј. Требали бисмо знати спецификацију и код који ћемо тестирати. За ову врсту тестирања потребно је знање програмских језика и логике.
Ограничења
Није могуће тестирати сваку путању петљи у програму. То значи да је исцрпно тестирање немогуће за велике системе.
То не значи да ВБТ није ефикасан. Одабиром важних логичких путања и структуре података за тестирање је практично могуће и ефикасно.
Разлика између тестирања беле кутије и црне кутије
Једноставно речено:
У оквиру тестирања црне кутије тестирамо софтвер са становишта корисника, али у белој кутији видимо и тестирамо стварни код.
У тестирању црне кутије вршимо тестирање не видећи интерни системски код, али у ВБТ-у видимо и тестирамо интерни код.
Технику тестирања беле кутије користе и програмери као и тестери. Помаже им да схвате која се линија кода стварно извршава, а која не. То може указивати на то да недостаје логика или грешка у куцању, што на крају може довести до неких негативних последица.
Препоручено читање => Комплетан водич за тестирање црне кутије
Кораци за извођење ВБТ-а
Корак 1 - Разумевање функционалности апликације путем њеног изворног кода. Што значи да тестер мора бити добро упућен у програмски језик и остале алате, као и технике коришћене за развој софтвера.
Корак 2 - Креирајте тестове и извршите их.
Када разговарамо о концепту тестирања, „ покривеност ”Сматра се најважнијим фактором. Овде ћу објаснити како да максимално покривам контекст тестирања беле кутије.
Такође прочитајте=> Графикон узрока и последица - Техника писања динамичких тест примера за максималну покривеност
Врсте и технике испитивања беле кутије
Постоји неколико врста и различитих метода за сваки тип тестирања беле кутије.
Погледајте доњу слику за вашу референцу.
Данас ћемо се фокусирати углавном на типови испитивања извршења „Јединствено тестирање технике беле кутије“.
3 главне технике тестирања беле кутије:
- Извештај Покривеност
- Покривеност филијале
- Покривеност путање
Имајте на уму да изјава, огранак или покривеност пута не идентификује ниједну грешку или квар који треба отклонити. Идентификује само оне редове кода који се никада не извршавају или остају нетакнути. На основу овог може се усредсредити на даље испитивање.
Хајде да разумемо ове технике једну по једну на једноставном примеру.
# 1) Обухват изјаве:
У програмском језику, изјава није ништа друго до линија кода или упутства за рачунар да разуме и поступа у складу с тим. Изјава постаје извршна наредба када се преведе и претвори у објектни код и извршава радњу када је програм у режиму рада.
Стога „Покривеност изјаве“ , као што и само име сугерише, то је метода за потврђивање да ли се сваки ред кода извршава барем једном.
# 2) Огранак:
„Бранцх“ у програмском језику је попут „ИФ наредби“. Изјава ИФ има два огранка: Т. руе и Фалсе .
Дакле, у покривености подружница (која се назива и покривеност одлукама) потврђујемо да ли се свака подружница извршава најмање једном.
У случају „ИФ изјаве“, постојаће два услова испитивања:
- Један за потврђивање праве гране и,
- Друго за потврђивање лажне гране.
Стога је у теорији покривеност гране метода испитивања која приликом извршења осигурава извршење сваке гране из сваке тачке одлуке.
# 3) Покривеност путање
Покривеност пута тестира све стазе програма. Ово је свеобухватна техника која осигурава да се сви путеви програма пређу бар једном. Покривеност пута је чак и моћнија од покривености филијале. Ова техника је корисна за тестирање сложених програма.
Узмимо једноставан пример да бисмо разумели све ове технике тестирања беле кутије.
наредбе скриптирања скрипти за уник са примерима
Такође проверите=> Различите врсте испитивања
Пример тестирања беле кутије
Размотрите доњи једноставни псеудокод:
INPUT A & B C = A + B IF C>100 PRINT “ITS DONE”
За Извештај Покривеност - био би нам потребан само један тест случај да бисмо проверили све редове кода.
То значи:
Ако размислим ТестЦасе_01 да буде (А = 40 и Б = 70), тада ће се извршити све линије кода.
Сад се поставља питање:
- Да ли је то довољно?
- Шта ако свој тест случај сматрам А = 33 и Б = 45?
Будући да ће Изјава покривати само истинску страну, за псеудо код само један тест случај НЕ БИ био довољан да га тестира. Као тестер, морамо узети у обзир и негативне случајеве.
Стога за максималну покривеност морамо да размотримо ' Покривеност филијале ' , који ће проценити „ФАЛСЕ“ услове.
У стварном свету можете додати одговарајуће изјаве када услови пропадну.
Дакле, псеудокод постаје:
INPUT A & B C = A + B IF C>100 PRINT “ITS DONE” ELSE PRINT “ITS PENDING”
Будући да покривеност изјаве није довољна за тестирање целокупног псеудо кода, затражили бисмо покривеност подружнице како бисмо осигурали максималну покривеност .
Дакле, за покривање подружнице, била би нам потребна два тест случаја да бисмо довршили тестирање овог псеудо кода.
ТестЦасе_01 : А = 33, Б = 45
ТестЦасе_02 : А = 25, Б = 30
Овим можемо да видимо да се свака линија кода изврши најмање једном.
Ево закључака који су до сада изведени:
- Покривеност филијала осигурава већу покривеност од покривености Изјаве.
- Покривеност филијала је моћнија од покривености изјавом.
- 100% покривеност саме филијале значи 100% покривеност извода.
- Али 100% покривеност изјавама не гарантује 100% покривеност филијала.
Сада пређимо на Покривеност пута:
Као што је раније речено, покривање путање се користи за тестирање сложених исечака кода, који у основи укључују петље или комбинацију петљи и изјаве о одлуци.
Размотрите овај псеудокод:
INPUT A & B C = A + B IF C>100 PRINT “ITS DONE” END IF IF A>50 PRINT “ITS PENDING” END IF
Да бисмо осигурали максимално покриће, била би нам потребна 4 тест случаја.
прослеђивање низова методама у јави
Како? Једноставно - постоје 2 изјаве о одлуци, па би нам за сваку изјаву одлуке требале две гране за тестирање. Једно за истинито, а друго за лажно стање. Дакле, за две изјаве о одлуци била би потребна 2 тест случаја за тестирање праве стране и 2 тест случаја за тестирање лажне стране, што укупно чини 4 тест случаја.
Да бисмо их поједноставили, размотримо у наставку дијаграм тока псеудо кода који имамо:
Да бисмо имали потпуну покривеност, били би нам потребни следећи тестови:
ТестЦасе_01: А = 50, Б = 60
ТестЦасе_02 : А = 55, Б = 40
ТестЦасе_03: А = 40, Б = 65
ТестЦасе_04: А = 30, Б = 30
Тако ће пређени пут бити:
Црвена линија - ТестЦасе_01 = (А = 50, Б = 60)
Плава линија = ТестЦасе_02 = (А = 55, Б = 40)
Наранџаста линија = ТестЦасе_03 = (А = 40, Б = 65)
Зелена линија = ТестЦасе_04 = (А = 30, Б = 30)
******************
= >> Контактирајте нас да предложим ваш списак овде
*****************
Алати за тестирање беле кутије
Доље је дата листа најбољих алата за тестирање беле кутије.
# 1) Верацоде
Верацоде-ови алати за тестирање беле кутије ће вам помоћи да брзо и лако идентификујете и решите недостатке софтвера по смањеној цени. Подржава неколико апликативних језика као што су .НЕТ, Ц ++, ЈАВА итд., А такође вам омогућава да тестирате сигурност радне површине, Веба као и мобилних апликација. Ипак, постоји још неколико предности алата Верацоде. За детаљне информације о алатима за испитивање Верацоде Вхите бок-а, погледајте доњу везу.
Вебсите Линк: Верацоде
# 2) ЕцлЕмма
ЕцлЕмма је у почетку дизајниран за пробне вожње и анализе у радном столу Ецлипсе. Сматра се бесплатним алатом за покривање Јава кода и такође има неколико карактеристика. Да бисте инсталирали или сазнали више о ЕцлЕмма, погледајте везу испод.
Вебсите Линк: ЕцлЕмма
# 3) РЦУНИТ
Оквир који се користи за тестирање Ц програма познат је под називом РЦУНИТ. РЦУНИТ се може користити у складу са тим на основу услова МИТ лиценце. Бесплатно је за употребу, а да бисте га инсталирали или сазнали више о њему, молимо погледајте доњи линк.
Вебсите Линк: РЦУНИТ
# 4) цфик
цфик је један од оквира за јединствено тестирање за Ц / Ц ++ који има за циљ само да развој програмских пакета буде што једноставнији и лакши. У међувремену, цфик је обично специјализован за режим НТ кернела и Вин32. Да бисте инсталирали и сазнали више о цфик-у, погледајте доњу везу
Вебсите Линк: цфик
# 5) Гоогле тест
Гооглетест је Гоогле-ов оквир за тестирање Ц ++. Откривање теста, тестови смрти, тестови параметрирани вредностом, фатални и нефатални кварови, генерирање извештаја о КСМЛ тесту итд. Су неке од карактеристика ГооглеТеста, али има и неколико других карактеристика. Линук, Виндовс, Симбиан, Мац ОС Кс су неколико платформи на којима се користи ГооглеТест. Да биПреузмите, молимо погледајте везу испод.
Линк за скидање: Гоогле тест
# 6) ЕММА
Емма је једноставан за употребу бесплатни алат за покривање ЈАВА кода. Садржи неколико карактеристика и предности. Да бисте преузели и сазнали више о Емми, погледајте везу испод.
Линк за скидање: ЕММА
# 7) НУнит
НУнит је једноставан оквир за тестирање јединице отвореног кода који не захтева никакву ручну интервенцију за процену резултата теста. Подржава све .НЕТ језике. Такође подржава тестове вођене подацима и тестове који се изводе паралелно у оквиру НУнит. Ранија издања НУнит-а користила су НУнит лиценцу, али НУнит 3 је издата под МИТ лиценцом. Али обе лиценце дозвољавају бесплатно коришћење без икаквих ограничења. Да бисте преузели и сазнали више о НУнит-у, погледајте доњу везу.
Линк за скидање: НУнит
# 8) ЦппУнит
ЦппУнит је оквир за јединствено тестирање написан на језику Ц ++ и сматра се портом ЈУнит-а. Излаз за ЦппУнит може бити у КСМЛ-у или у текстуалном формату. Ствара јединствене тестове са сопственом класом и изводи тестове у тестовима. Лиценциран је под ЛГПЛ. Да бисте преузели и сазнали више о ЦппУнит-у, погледајте доњу везу.
Линк за скидање: ЦппУнит
# 9) ЈУнит
ЈУнит је тихи једноставни оквир за јединствено тестирање који подржава аутоматизацију теста у Јава програмском језику. Углавном подржава Тест Дривен Девелопмент и такође пружа извештај о покривености тестовима. Лиценциран је под јавном лиценцом Ецлипсе. За бесплатно преузимање и како бисте сазнали више о ЈУнит-у, погледајте доњу везу.
Линк за скидање: ЈУнит
# 10) ЈсУнит
ЈсУнит се сматра портом ЈУнит за јавасцрипт. И то је оквир за јединствено тестирање отвореног кода који подржава клијентски подржани Јавасцрипт. Лиценциран је под ГНУ Публиц Лиценсе 2.0, ГНУ Лессер Публиц Лиценсе 2.1 и Мозилла Публиц Лиценсе 1.1. Да бисте преузели и сазнали више о ЈсУнит-у, погледајте доњу везу.
Линк за скидање: ЈсУнит
Такође проверите све алате које смо навели под Анализа статичког кода овде .
Слободно предложите једноставније или напредније алате које користите за технику беле кутије.
Закључак
Ослањање само на тестирање црне кутије није довољно за максималну покривеност тестом. Морамо да имамо комбинацију техника тестирања црне и беле кутије покривају максималне недостатке .
Ако се правилно уради, тестирање беле кутије сигурно ће допринети квалитету софтвера. Такође је добро за тестере да учествују у овом тестирању, јер може да пружи најнепристрасније мишљење о коду. :)
Јавите нам ако имате питања о методама о којима смо говорили у овом чланку.
Препоручено читање
- Кључне разлике између тестирања црне кутије и тестирања беле кутије
- Тестирање црне кутије: продубљени водич са примерима и техникама
- Функционално тестирање вс нефункционално тестирање
- Најбољи алати за тестирање софтвера 2021. године (КА Тест Аутоматион Тоолс)
- Размишљање о кутији током тестирања софтвера!
- Водич за тестирање преносивости са практичним примерима
- Алфа тестирање и бета тестирање (потпун водич)
- Врсте тестирања софтвера: различите врсте испитивања са детаљима