fbpx

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

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

 

Шта је анализа граничних вредности у тестирању софтвера?

Статичко тестирање у тестирању софтвера – шта је то, типови, процеси, приступи, алати и још много тога!

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

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

Овде се мисли да је већа вероватноћа да ће границе граница, тј. 7, 8, 12 и 13, изазвати грешке него бројеви унутар граница, као што су 9, 10 и 11. Иако се предности овде могу чинити маргиналним у примеру поља за поље које прихвата између 8 и 12 знакова, оне постају очигледније када треба да напишете тест случајеве за поља поља која заузимају између 1 и 20 знакова или бројеве између 1 и 1000, и тако даље.

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

  • На минималној вредности
  • Директно испод минималне вредности
  • На максималној вредности
  • Директно изнад максималне вредности

 

Предности анализе граничних вредности у испитивању

КА тестирање – шта је то, типови, процеси, приступи, алати и још много тога!

Гранично тестирање има неколико убедљивих предности за КА тимове.

#1. Бољи квалитет софтвера

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

#2. Повећана покривеност тестом

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

#3. Рано откривање квара

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

#4. Ефикасност

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

 

Недостаци анализе граничних вредности у испитивању

Различити софтвер и КА методологије

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

#1. Уски обим

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

#2. Превише поједностављен

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

#3. Претпоставке

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

#4. Ослањање на тачне спецификације и захтеве

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

#5. Ослањање на класе еквиваленције

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

 

Изазови анализе граничних вредности

у тестирању софтвера

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

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

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

 

#1. Оцртавање граница

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

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

 

#2. Двосмислени захтеви

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

 

#3. Експертиза

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

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

#4. Грешке

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

 

#5. Експлозија тестног случаја

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

 

#6. Ограничења алата за анализу

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

 

Различите врсте граничних вредности

тестирање у тестирању софтвера

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

У књизи Софтверско тестирање: Црафтсман’с Аппроацх , аутори Пол Ц. Јоргенсен и ‎Бирон ДеВриес описују четири различита типа тестирања граничних вредности, а то су:

 

1. Тестирање нормалних граничних вредности (НБВТ)

  • Тестира важеће улазне вредности на ивицама улазног домена
  • Истражује минималне и максималне вредности поред улаза непосредно изнад и испод границе
  • Ово је класична врста анализе граничних вредности

 

2. Тестирање робусних граничних вредности (РБВТ)

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

 

3. Тестирање граничних вредности у најгорем случају (ВБВТ)

  • Верификује понашање софтвера користећи екстремно важеће и неважеће вредности
  • Истражује вредности на ивици улазних домена и вредности изван ових граница
  • Настоји да разуме понашање софтвера у екстремнијим условима

 

4. Робустан тест граничних вредности у најгорем случају (РВБВТ)

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

 

Ови приступи се разликују по свеобухватности, при чему је РВБВТ најтемељнији. Међутим, тестери морају да признају додатно улагање у време и труд који су потребни да се откључа овај додатни ниво откривања квара.

 

Еквивалентно партиционисање и гранична вредност

анализа: сличности и разлике

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

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

 

1. Сличности

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

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

 

2. Разлике

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

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

  • Дели улазне податке у класе еквиваленције које би требало да резултирају сличним системским излазима
  • Користи једну репрезентативну вредност из сваке класе и тестира систем са том вредношћу
  • Она се бави идентификацијом ваљаних и неважећих класа еквиваленције

 

Анализа граничних вредности

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

 

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

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

Пример еквивалентне партиције:

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

Важећи подаци = Таблице од 6 или 7 знакова

Неважећи подаци = Плоче са> 6 или> 7 знакова.

 

Пример анализе граничне вредности:

Користећи исти пример регистарске таблице као горе, анализа граница ће тестирати

Важећи подаци = Таблице са 6 или 7 знакова

Неважећи подаци = таблице са 5 или 8 знакова, ау неким сценаријима 4 и 9 знакова

 

Пример анализе граничних вредности

предности алфа тестирања и рпа

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

 

Пример тестирања граничних вредности #1

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

Имамо оквир у који корисник може да унесе своје године.

Граничне вредности су:

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

  • Минимална старост = 18 година
  • Максимална старост = 120

 

Пример граничних тест случајева:

Постоји укупно шест тест случајева:

  • 17, 18 и 19, који су испод минимума, минимума, односно изнад минимума
  • 119, 18 и 19, који су испод максимума, максимума и изнад максимума, респективно

 

Пример тестирања граничних вредности #2.

У нашем следећем примеру граничног тестирања, истражићемо веб локацију са минималним попустом на куповину од 20% за поруџбине од 100 УСД и више.

У овом примеру, куповина од преко 600 долара доводи до попуста од 25%. Тест граничне вредности ће се бавити улазима између 100 и 600 долара.

Граничне вредности су:

Минимални квалификациони попуст = 100 УСД

Максимални квалификациони попуст = 600 УСД

 

Пример граничних тест случајева:

Опет, генеришемо укупно шест тест случајева, а то су:

  • 99,99 УСД, 100 УСД и 100,01 УСД, који су испод минималног, минималног и изнад минимума, респективно
  • 599,99 УСД, 600 УСД и 600,01 УСД, који су испод максимума, максимума и изнад максимума, респективно

 

Да ли је тестирање граница у тестирању софтвера тачно?

алфа тестирање у односу на бета тестирање

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

Аутори су за своје тестове користили популарни алат за тестирање отвореног кода Селениум и покренули укупно 322 тест случаја. Тестирање еквиваленције и анализа граничних вредности открили су око 80 неуспешних случајева, што је довело до отприлике 75:25 односа валидних и неважећих резултата теста. Све у свему, коришћење комбинације еквивалентне партиције и БВА у тестирању софтвера довело је до темељног и корисног тестирања софтвера.

 

Најбољи алати за тестирање граничних вредности

ЗАПТЕСТ РПА + Тест Аутоматион Суите

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

#3. ТестЦасеЛаб

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

 

#2. Мицро Фоцус УФТ Оне

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

 

#1. ЗАПТЕСТ

Агиле ДевОпс Тест Аутоматизација: Објашњавање приступа аутоматизације заснованог на ЗАПТЕСТ-у

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

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

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

 

Савети за тестирање граничних вредности

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

 

Последње мисли

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

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

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

Virtual Expert

ZAPTEST

ZAPTEST Logo