Чланци

Шта је тестирање софтвера, шта значи тестирати софтвер

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

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

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

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

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

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

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

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

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

Предности тестирања црне кутије укључују:

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

Тестирање црне кутије такође има неке недостатке, као што су:

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

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

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

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

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


Недостаци укључују:

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

Јединствени тест

Јединични тест је компонента животног циклуса развоја софтвера (СДЛЦ) у коме се свеобухватна процедура тестирања појединачно примењује на најмање делове софтверског програма за жељену прикладност или понашање.


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

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

Функционални тест

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


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

Иновациони билтен
Не пропустите најважније вести о иновацијама. Пријавите се да их примате путем е-поште.

Регресија тестирање

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

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


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

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

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

Тестирање напрезања

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

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


Тестирање на стрес се користи у следећим контекстима:

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

Аутоматски тестови

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

Аутоматско тестирање игра важну улогу у континуираној испоруци (ЦД), континуираној интеграцији (ЦИ), ДевОпс-у и ДевСецОпс-у. Главне предности аутоматског тестирања укључују:

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


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

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


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

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

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

Ercole Palmeri

Иновациони билтен
Не пропустите најважније вести о иновацијама. Пријавите се да их примате путем е-поште.

Недавни чланци

Вееам има најсвеобухватнију подршку за рансомваре, од заштите до одговора и опоравка

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

КСНУМКС април КСНУМКС

Зелена и дигитална револуција: Како предиктивно одржавање трансформише индустрију нафте и гаса

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

КСНУМКС април КСНУМКС

Британски антимонополски регулатор подигао је БигТецх аларм због ГенАИ

УК ЦМА је издао упозорење о понашању Биг Тецх-а на тржишту вештачке интелигенције. Тамо…

КСНУМКС април КСНУМКС

Цаса Греен: енергетска револуција за одрживу будућност у Италији

Уредба „Цасе Греен“, коју је формулисала Европска унија за побољшање енергетске ефикасности зграда, завршила је свој законодавни процес са…

КСНУМКС април КСНУМКС

Прочитајте Иновације на свом језику

Иновациони билтен
Не пропустите најважније вести о иновацијама. Пријавите се да их примате путем е-поште.

Пратите нас