Увод у тестирање беле кутије

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

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

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

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

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

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

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

Другим речима, уместо да погледамо програм споља, приступ Вхите Бок Тестингу види интерни код и тестира га.

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

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

1. Разумевање понуђеног кода

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

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

2. Израда тестних случајева и њихово извршавање

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

То се може урадити и у ручном тестирању које укључује покушаје и грешке. Испитивачи такође могу користити неке аутоматизоване алате за тестирање као што су ЈУнит и НУнит.

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

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

print (int x, int y) (
int sum = x + y;
If ( sum > 0 )
Print ( "Positive", result )
Else
Print ( "Negative", result )
)

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

Пример:

  • А = 10 и Б = 20
  • А = -10 и Б = -20

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

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

Ево неких техника анализе покривања:

  • Обухват изјаве: У овој методи покушавамо да пређемо све изјаве у коду барем један пут. Ово осигурава да је сав код тестиран.
  • Покривање грана: Ова метода се планира прећи преко сваке гране тачака одлучивања у коду. Ово осигурава да се све одлуке барем једном тестирају.

Постоје и неке друге технике тестирања, ево само неколико:

  • Обухват стања: У овој техници испитивања осигуравамо да су сви услови покривени у коду, на пример:

READ A, B
IF (A == 0 || B == 0)
PRINT '0'

Као што видите, овде имамо 2 услова: А == 0 и Б == 0. Сада ови услови добијају ТРУЕ и ФАЛСЕ као вредности. Један могући пример може бити:

# ТЦ1 - А = 0, Б = 110
# ТЦ2 - А = 10, Б = 0

  • Вишеструко покривање стања: Ово је мало напредније од последњег. Као што можете погодити, тестирамо све могуће комбинације и све могуће исходе барем једном. Ево примерног примера:

READ A, B
IF (A == 0 || B == 0)
PRINT '0'

# ТЦ1: А = 0, Б = 0
# ТЦ2: А = 0, Б = 10
# ТЦ3: А = 110, Б = 0
# ТЦ4: А = 110, Б = 5

Стога. Потребна су нам 4 тест случаја за 2 услова.

Дакле, ако постоји н услова, требат ће нам 2 н тест случаја.

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

1. Једноставне петље: За петљу која је једноставна у дизајну и има величину н, можемо да дизајнирамо неколико тест случајева који раде на следећи начин:

  • Прескочи петљу.
  • Пређите петљу само једном.
  • Имајте 2 пролаза
  • Имајте било који број пролаза који је мањи од његове величине.
  • н-1 и н + 1 пролазе кроз петљу.

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

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

Предности

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

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

Недостаци

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

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

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

  • ЈСУнит.нет

Ово је ЈаваСцрипт алат за тестирање. ЈСУнит је део Јунита и његовог оквира за тестирање отвореног кода који се може користити за тестирање беле кутије. ЈСУнит је потпуно отворени извор под ГНУ Публиц Лиценсе 2.0, што значи да чак и за комерцијалну употребу програмер не мора платити никакву накнаду за лиценцирање.

  • ЦппУнит

Баш као ЈСУнит, и ЦппУнит се сматра делом ЈУнит-а. Алат може излазити у обичном тексту или КСМЛ формату, овисно о потребама тестера и може креирати јединице тестова са властитим класама. ЦппУнит је лиценциран под ЛГПЛ-ом.

  • Верацоде

Иако није бесплатан за употребу, Верацоде поседује моћне алате који се могу користити за тестирање .НЕТ, Ц ++, Јава и неких других језика. Тестирање Вхите Бок-а може се обавити и за апликације намењене за радне површине, веб и мобилне уређаје.

  • НУнит

То је оквир за тестирање јединице и написан је на Ц #. Алат подржава све доступне .Нет језике и подржава тест темељен на подацима. Функционалност мудра, може радити и паралелно и истовремено извршење, а може пружити оквир класе и апликације за покретање програма. Једна од карактеристичних карактеристика НУнит-а је да је прилично једноставан за употребу.

  • ЈУнит

Као што можете и претпоставити из његовог имена, ЈУнит је алат за аутоматизацију тестирања јединица за Јава. Комби ЈУнит лако се интегрише са ИДЕ-овима као што су ецлипсе, Мацен АЦТ, итд. Може подржати развој тестираних тестова и може синкронизирати постојеће тестове и с новоствореним. ЈУнит је потпуно отворени извор и доступан за употребу у било којој врсти Јава развоја.

  • ЦСУнит

Као и Нунит, ЦСУнит је створен да подржи тестирање јединице у .Нет Фрамеворк-у. Подржава језике као што су Ц # и ВБ.Нет. ЦСУнит има уграђену подршку за праксу факторинга и друге врсте пракси које се користе у агилном приступу развоја СДЛЦ-а.

Закључак

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

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

Препоручени чланци

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

  1. Питања за интервјуирање софтвера за софтвер
  2. Каријере у тестирању софтвера
  3. Интернетска питања за тестирање игре
  4. ЕТЛ питања за интервјуисање
  5. Кодна покривеност према покусној покривености | Топ 4 разлике за учење
  6. Алати за покривање кода | Топ 6 алата за покривање кода

Категорија: