types software testing
Које су различите врсте тестирања софтвера?
Ми смо као тестери свесни различитих врста тестирања софтвера као што су функционално тестирање, нефункционално тестирање, тестирање аутоматизације, агилно тестирање и њихови подтипови итд.
Свако од нас би на свом путу тестирања наишао на неколико врста тестирања. Можда смо неке чули, а можда смо и на некима радили, али немају сви сазнања о свим врстама тестирања.
Свака врста тестирања такође има своје карактеристике, предности и недостатке. Међутим, у овом чланку сам обрадио углавном све врсте тестирања софтвера које обично користимо у свакодневном тестирању.
Идемо да их погледамо.
Шта ћете научити:
- Различите врсте тестирања софтвера
- # 1) Алфа тестирање
- # 2) Испитивање прихватљивости
- # 3) Ад-хоц тестирање
- # 4) Испитивање приступачности
- # 5) Бета тестирање
- # 6) Бацк-енд тестирање
- # 7) Тестирање компатибилности прегледача
- # 8) Испитивање уназад компатибилности
- # 9) Тестирање црне кутије
- # 10) Испитивање граничне вредности
- # 11) Испитивање грана
- # 12) Тестирање упоређивања
- # 13) Испитивање компатибилности
- # 14) Испитивање компонената
- # 15) Тестирање од краја до краја
- # 16) Еквивалентна партиција
- # 17) Пример тестирања
- # 18) Истраживачко испитивање
- # 20) Функционално тестирање
- # 21) Тестирање графичког корисничког интерфејса (ГУИ)
- # 22) Испитивање гориле
- # 23) Срећно тестирање путање
- # 24) Инкрементално тестирање интеграције
- # 25) Тестирање инсталирања / деинсталирања
- # 26) Интеграционо тестирање
- # 27) Испитивање оптерећења
- # 28) Испитивање мајмуна
- # 29) Испитивање мутације
- # 30) Негативно тестирање
- # 31) Нефункционално тестирање
- # 32) Тестирање перформанси
- # 33) Испитивање опоравка
- # 34) Испитивање регресије
- # 35) Тестирање засновано на ризику (РБТ)
- # 36) Испитивање разумности
- # 37) Испитивање сигурности
- # 38) Испитивање дима
- # 39) Статичко испитивање
- # 40) Тестирање напрезања
- # 41) Тестирање система
- # 42) Јединствено тестирање
- # 43) Испитивање употребљивости
- # 44) Тестирање рањивости
- # 45) Тестирање запремине
- # 46) Испитивање беле кутије
- Закључак
- Препоручено читање
Различите врсте тестирања софтвера
Доље је дата листа неких типова тестирања софтвера:
Типови функционалних испитивања укључују:
- Јединствено тестирање
- Испитивање интеграције
- Тестирање система
- Испитивање разумности
- Испитивање дима
- Испитивање интерфејса
- Регресија тестирање
- Бета / Испитивање прихватљивости
Нефункционални типови испитивања укључују:
- Тестирање перформанси
- Испитивање оптерећења
- Тестирање напрезања
- Тестирање запремине
- Испитивање сигурности
- Испитивање компатибилности
- Инсталирање тестирања
- Испитивање опоравка
- Испитивање поузданости
- Испитивање употребљивости
- Испитивање усаглашености
- Испитивање локализације
Погледајмо више детаља о овим врстама тестирања.
# 1) Алфа тестирање
То је најчешћи тип тестирања који се користи у индустрији софтвера. Циљ овог тестирања је да идентификује све могуће проблеме или недостатке пре него што их пусти на тржиште или кориснику.
Алфа тестирање се врши на крају фазе развоја софтвера, али пре бета тестирања. Ипак, као резултат таквог испитивања могу се извршити мање промене у дизајну.
Алфа тестирање се спроводи на сајту програмера. За ову врсту тестирања може се створити интерно виртуелно корисничко окружење.
# 2) Испитивање прихватљивости
Ан Тест прихватљивости врши клијент и проверава да ли је проток система од краја до краја према пословним захтевима или не и да ли је према потребама крајњег корисника. Клијент прихвата софтвер само када све функције и функције раде како се очекује.
То је последња фаза тестирања, након које софтвер прелази у производњу. Ово се назива и тестирање прихватљивости корисника (УАТ).
# 3) Ад-хоц тестирање
Само име сугерише да се ово тестирање врши на ад-хоц без икаквог позивања на тест случај, а такође без икаквог плана или документације за такву врсту испитивања.
Циљ овог тестирања је пронаћи недостатке и разбити апликацију извршавањем било ког тока апликације или било које случајне функционалности.
Ад-хоц тестирање је неформални начин проналажења недостатака и може га извршити било ко у пројекту. Тешко је идентификовати недостатке без тест случаја, али понекад је могуће да недостаци пронађени током ад-хоц тестирања можда нису идентификовани помоћу постојећих тест случајева.
# 4) Испитивање приступачности
Циљ Испитивање приступачности је утврђивање да ли је софтвер или апликација доступан особама са инвалидитетом или не.
Овде инвалидност подразумева глуве, слепе у боји, ментално онеспособљене, слепе, старије и друге групе са инвалидитетом. Врше се разне провере као што су величина фонта за особе са оштећеним видом, боја и контраст за далтонизам итд.
# 5) Бета тестирање
Бета тестирање је формална врста тестирања софтвера коју спроводи купац. Изводи се у стварно окружење пре пуштања производа на тржиште за стварне крајње кориснике.
Бета тестирање се врши како би се осигурало да нема већих кварова у софтверу или производу и да задовољава пословне захтеве из перспективе крајњег корисника. Бета тестирање је успешно када купац прихвати софтвер.
Ово тестирање обично раде крајњи корисници или други. То је завршно тестирање обављено пре објављивања апликације у комерцијалне сврхе. Обично је бета верзија објављеног софтвера или производа ограничена на одређени број корисника у одређеној области.
Дакле, крајњи корисник заправо користи софтвер и дели повратне информације са компанијом. Тада компанија предузима неопходне мере пре објављивања софтвера широм света.
# 6) Бацк-енд тестирање
Кад год се улаз или подаци унесу у фронт-енд апликацију, они се чувају у бази података, а тестирање такве базе података познато је као тестирање базе података или бацкенд тестирање.
Постоје различите базе података као што су СКЛ Сервер, МиСКЛ и Орацле, итд. Тестирање базе података укључује испитивање структуре табеле, шеме, ускладиштене процедуре, структуре података и тако даље.
У позадинском тестирању ГУИ није укључен, тестери су директно повезани са базом података са правилним приступом и тестери могу лако да верификују податке покретањем неколико упита у бази података.
Током овог позадинског тестирања могу се идентификовати проблеми попут губитка података, застоја, оштећења података итд. Ови проблеми су пресудни за поправљање пре него што систем уђе у производно окружење
# 7) Тестирање компатибилности прегледача
То је подтип испитивања компатибилности (који је објашњен у наставку) и изводи га тим за тестирање.
Тестирање компатибилности прегледача се изводи за веб апликације и осигурава да софтвер може да ради у комбинацији различитих прегледача и оперативног система. Ова врста тестирања такође потврђује да ли се веб апликација покреће у свим верзијама свих прегледача или не.
# 8) Испитивање уназад компатибилности
То је врста тестирања која потврђује да ли новоразвијени софтвер или ажурирани софтвер добро функционишу са старијом верзијом окружења или не.
Тестирање уназад компатибилности проверава да ли нова верзија софтвера правилно функционише са форматом датотеке који је креирала старија верзија софтвера; такође добро функционише са табелама података, датотекама података и структуром података створеном старијом верзијом тог софтвера.
Ако се било који софтвер ажурира, требало би да ради добро изнад претходне верзије тог софтвера.
# 9) Тестирање црне кутије
Интерни дизајн система се не узима у обзир код ове врсте испитивања. Тестови се заснивају на захтевима и функционалности.
Детаљне информације о предностима, недостацима и врсте испитивања црне кутије може да се види овде .
# 10) Испитивање граничне вредности
Ова врста тестирања проверава понашање апликације на нивоу границе.
Испитивање граничне вредности врши се ради провере да ли постоје недостаци на граничним вредностима. Испитивање граничне вредности користи се за тестирање различитих опсега бројева. Постоји горња и доња граница за сваки опсег и врши се испитивање ових граничних вредности.
Ако је за тестирање потребан опсег испитивања бројева од 1 до 500, тада се испитивање граничне вредности врши на вредностима 0, 1, 2, 499, 500 и 501.
# 11) Испитивање грана
То је врста тестирања беле кутије и врши се током јединственог тестирања. Испитивање подружница, само име сугерише да се код темељито тестира преласком на свакој подружници.
# 12) Тестирање упоређивања
Поређење снаге и слабости производа са претходним верзијама или другим сличним производима назива се тестирањем упоређивања.
# 13) Испитивање компатибилности
То је врста тестирања у којој потврђује како се софтвер понаша и ради у другом окружењу, веб серверима, хардверу и мрежном окружењу.
Испитивање компатибилности осигурава да софтвер може да ради на другачијој конфигурацији, различитој бази података, различитим прегледачима и њиховим верзијама. Тестирање компатибилности врши тим за тестирање.
# 14) Испитивање компонената
Углавном га изводе програмери након завршетка јединичног тестирања. Испитивање компонената укључује испитивање вишеструких функционалности као јединственог кода и његов циљ је идентификовати постоји ли неки недостатак након међусобног повезивања тих вишеструких функционалности.
уобичајена ц ++ питања за интервју
# 15) Тестирање од краја до краја
Слично тестирању система, Тестирање од краја до краја укључује тестирање комплетног апликативног окружења у ситуацији која опонаша стварну употребу, као што је интеракција са базом података, коришћење мрежних комуникација или интеракција са другим хардвером, апликацијама или системима ако је то потребно.
# 16) Еквивалентна партиција
То је техника испитивања и врста тестирања црне кутије. У току овога Еквиваленција партиционирања , бира се скуп групе и узима неколико вредности или бројева за тестирање. Подразумева се да све вредности из те групе генеришу исти излаз.
Циљ овог тестирања је уклањање сувишних тест случајева унутар одређене групе која генерише исти резултат, али не и било какав недостатак.
Претпоставимо да апликација прихвата вредности између -10 и +10, па је коришћењем еквивалентне партиције вредности преузете за тестирање нула, једна позитивна вредност, једна негативна вредност. Дакле, еквивалентна партиција за ово испитивање је -10 до -1, 0 и 1 до 10.
# 17) Пример тестирања
То значи тестирање у реалном времену. Пример тестирања укључује сценарио у реалном времену, такође укључује сценарије засноване на искуству тестера.
# 18) Истраживачко испитивање
Истраживачко тестирање је неформално тестирање које врши тим за тестирање. Циљ овог тестирања је истражити апликацију и потражити недостатке који постоје у апликацији.
Понекад се може десити да током овог испитивања велика откривена грешка може чак изазвати квар система.
Током истраживачког тестирања, препоручљиво је да пратите који сте проток тестирали и коју активност сте радили пре почетка одређеног протока.
Техника истраживачког испитивања изводи се без документације и тест случајева.
# 20) Функционално тестирање
Ова врста тестирања игнорише унутрашње делове и фокусира се само на излаз да би се проверило да ли је у складу са захтевом или не. То је тестирање типа црне кутије прилагођено функционалним захтевима апликације. За детаљне информације о функцијском тестирању кликните овде .
# 21) Тестирање графичког корисничког интерфејса (ГУИ)
Циљ овог тестирања ГУИ-а је потврдити ГУИ према пословним захтевима. Очекивани ГУИ апликације наведен је у детаљном дизајнерском документу и на екранима макете ГУИ.
ГУИ тестирање укључује величину тастера и поља за унос присутних на екрану, поравнање читавог текста, табела и садржаја у табелама.
Такође потврђује мени апликације, након одабира различитих менија и ставки у менију, потврђује да страница не флуктуира, а поравнање остаје исто након преласка мишем на мени или подмени.
# 22) Испитивање гориле
Испитивање гориле је врста тестирања коју изводи испитивач, а понекад и програмер. У испитивању горила, један модул или функционалност модула тестирају се темељно и интензивно. Циљ овог тестирања је да се провери робусност апликације.
# 23) Срећно тестирање путање
Циљ тестирања Хаппи Патх је успешно тестирање апликације на позитиван проток. Не тражи негативне или грешке. Фокус је само на ваљаним и позитивним улазима путем којих апликација генерише очекивани излаз.
# 24) Инкрементално тестирање интеграције
Инкрементално тестирање интеграције је приступ одоздо према горе за тестирање, тј. континуирано тестирање апликације када се дода нова функционалност. Функционалност апликације и модули треба да буду довољно независни за посебно тестирање. То раде програмери или тестери.
# 25) Тестирање инсталирања / деинсталирања
Тестирање инсталације и деинсталације се врши на потпуним, делимичним или надограђеним процесима инсталације / деинсталације на различитим оперативним системима под различитим хардверским или софтверским окружењем.
# 26) Интеграционо тестирање
Тестирање свих интегрисаних модула за верификацију комбиноване функционалности након интеграције назива се Испитивање интеграције .
Модули су обично модули кода, појединачне апликације, клијентске и серверске апликације на мрежи итд. Ова врста тестирања је посебно релевантна за клијент / сервер и дистрибуиране системе.
# 27) Испитивање оптерећења
То је врста нефункционалног тестирања и циљ испитивања оптерећења је да провери колико оптерећења или максималног радног оптерећења систем може да поднесе без икаквог погоршања перформанси.
Тестови оптерећења помажу да бисте пронашли максимални капацитет система под одређеним оптерећењем и проблеме који узрокују погоршање перформанси софтвера. Испитивање оптерећења врши се помоћу алата попут ЈМетер , ЛоадРуннер, ВебЛоад, Силк перформер итд.
# 28) Испитивање мајмуна
Испитивање мајмуна врши испитивач претпостављајући да ако мајмун користи апликацију, онда колико случајни унос, мајмун уноси вредности без икаквог знања и разумевања апликације.
Циљ тестирања мајмуна је да провери да ли се апликација или систем сруши пружањем случајних улазних вредности / података. Испитивање мајмуна врши се насумично и ниједан скриптан случај није скриптиран и није потребно
Испитивање мајмуна врши се насумично и није скриптиран ниједан тест случај и није неопходно бити свестан пуне функционалности система.
# 29) Испитивање мутације
Испитивање мутација је врста тестирања беле кутије у којој се мења изворни код програма и верификује да ли постојећи тест случајеви могу идентификовати ове недостатке у систему.
Промена изворног кода програма је врло минимална, тако да не утиче на целокупну апликацију, већ само одређена област која има утицај и повезани тест случајеви треба да буду у стању да идентификују те грешке у систему.
# 30) Негативно тестирање
Испитивачи који имају начин размишљања „став према прекиду“ и користе негативно тестирање, то потврђују ако се систем или апликација покваре. Техника негативног тестирања се врши помоћу нетачних података, неважећих података или уноса. Потврђује да ако систем избаци грешку неисправног уноса и понаша се очекивано.
# 31) Нефункционално тестирање
То је врста тестирања за коју свака организација има засебан тим који се обично назива тимом за нефункционално тестирање (НФТ) или тимом за перформансе.
Нефункционално тестирање укључује тестирање нефункционалних захтева као што су испитивање оптерећења, тестирање напрезања, сигурност, запремина, тестирање опоравка итд. Циљ НФТ тестирања је да се осигура да ли је време одзива софтвера или апликације довољно брзо у складу са пословним захтевима.
Учитавање било које странице или система не би требало пуно времена и требало би да траје током вршног учитавања.
алати за управљање тест примером отвореног кода
# 32) Тестирање перформанси
Овај термин се често користи наизменично са испитивањем „напрезања“ и „оптерећења“. Тестирање перформанси се врши ради провере да ли систем испуњава захтеве перформанси. За ово тестирање користе се различити алати за перформансе и оптерећење.
# 33) Испитивање опоравка
То је врста тестирања која потврђује колико се добро апликација или систем опоравља од падова или катастрофа.
Тестирање опоравка утврђује да ли је систем способан да настави рад након катастрофе. Претпоставимо да апликација прима податке преко мрежног кабла и одједном је тај мрежни кабл ископчан.
Нешто касније, прикључите мрежни кабл; тада би систем требало да почне да прима податке одакле је изгубио везу због искљученог мрежног кабла.
# 34) Испитивање регресије
Тестирање апликације у целини за модификацију било ког модула или функције назива се тестирањем регресије. Тешко је покрити сав систем у Регресија тестирање , тако типично Алати за испитивање аутоматизације користе се за ове врсте испитивања.
# 35) Тестирање засновано на ризику (РБТ)
У Тестирање засновано на ризику , функционалности или захтеви се испитују на основу њиховог приоритета. Тестирање засновано на ризику укључује испитивање изузетно критичне функционалности, која има највећи утицај на пословање и код које је вероватноћа неуспеха врло велика.
Одлука о приоритету заснива се на пословној потреби, тако да када се једном постави приоритет за све функционалности, прво се извршавају функције високог приоритета или тест случајеви, затим функције средњег, а затим ниског приоритета.
Функционалност ниског приоритета може се тестирати или не тестирати на основу расположивог времена.
Тестирање засновано на ризику врши се ако нема довољно времена за тестирање целокупног софтвера и софтвер треба применити на време без икаквог одлагања. Овај приступ прати само дискусија и одобравање клијента и вишег руководства организације.
# 36) Испитивање разумности
Испитивање разумности се ради да би се утврдило да ли нова верзија софтвера ради довољно добро да би је прихватила за велики напор или не. Ако се апликација руши за почетну употребу, систем није довољно стабилан за даље тестирање. Отуда је додељена изградња или апликација да би се то поправило.
# 37) Испитивање сигурности
То је врста тестирања коју врши специјални тим тестера. У систем се може продрети било којим начином хаковања.
Испитивање сигурности се врши ради провере како су софтвер или апликација или веб локација заштићени од унутрашњих и спољних претњи. Ово тестирање укључује колико је софтвер заштићен од злонамерног програма, вируса и колико су сигурни и јаки процеси ауторизације и аутентификације.
Такође проверава како се софтвер понаша за било који напад хакера и злонамерне програме и како се софтвер одржава ради заштите података након таквог хакерског напада.
# 38) Испитивање дима
Кад год развојни тим обезбеди нову верзију, тим за тестирање софтвера потврђује верзију и осигурава да не постоји ниједан главни проблем.
Тим за тестирање осигурава стабилност израде и даље спровођење детаљног нивоа тестирања. Испитивање дима проверава да у верзији не постоји дефектни чеп који спречава тест тим да детаљно тестира апликацију.
Ако тестери утврде да је главна критична функционалност сломљена у самој почетној фази, тада тим за тестирање може одбити израду и о томе обавестити развојни тим. Испитивање дима врши се до детаљног нивоа било којег функционалног или регресивног испитивања.
# 39) Статичко испитивање
Статичко тестирање је врста тестирања која се изводи без икаквог кода. Извршење се врши на документацији током фазе испитивања.
Укључује прегледе, детаљно представљање и инспекцију резултата пројекта. Статичко тестирање не извршава код уместо синтаксе кода, проверавају се конвенције именовања.
Статичко испитивање применљив је и за тест случајеве, план испитивања, пројектни документ. Неопходно је извршити статичко испитивање од стране тима за испитивање, јер су недостаци утврђени током ове врсте испитивања исплативи из перспективе пројекта.
# 40) Тестирање напрезања
Ово тестирање се врши када је систем под стресом ван његових спецификација како би се проверило како и када заказује. Ово се изводи под великим оптерећењем, попут стављања великог броја преко капацитета за складиштење, сложених упита базе података, континуираног уноса у систем или оптерећења базе података.
# 41) Тестирање система
Испод Техника испитивања система , читав систем је тестиран у складу са захтевима. То је тестирање типа црне кутије које се заснива на укупним спецификацијама захтева и покрива све комбиноване делове система.
# 42) Јединствено тестирање
Тестирање појединачне софтверске компоненте или модула назива се Јединствено тестирање . То обично ради програмер, а не тестери, јер захтева детаљно познавање интерног дизајна програма и кода. Можда ће бити потребно и развијање модула управљачког програма или упртача.
# 43) Испитивање употребљивости
Испод Испитивање употребљивости , Проверена је корисност. Ток апликације се тестира како би се знало да ли нови корисник може лако да разуме апликацију или не. Правилна помоћ документована ако корисник заглави у било ком тренутку. У основи, системска навигација се проверава у овом тестирању.
# 44) Тестирање рањивости
Тестирање које укључује препознавање слабости софтвера, хардвера и мреже познато је као тестирање рањивости. Злонамерни програми, хакер може преузети контролу над системом, ако је рањив на такву врсту напада, вируса и црва.
Стога је неопходно проверити да ли се ти системи подвргавају тестирању рањивости пре производње. Може идентификовати критичне недостатке, недостатке у сигурности.
# 45) Тестирање запремине
Тестирање запремине је врста нефункционалног тестирања које изводи тим за тестирање перформанси.
Софтвер или апликација подлежу огромној количини података, а Волуме Тестирање проверава понашање система и време одзива апликације када је систем наишао на тако велику количину података. Ова велика количина података може утицати на перформансе система и брзину времена обраде.
# 46) Испитивање беле кутије
Испитивање беле кутије заснива се на знању о унутрашњој логици кода апликације.
Такође је познато и као испитивање стаклених кутија. Интерни рад софтвера и кода треба да буде познат по обављању ове врсте тестирања. Под овим тестовима се заснива на обухвату изјава кода, грана, путања, услова итд.
Закључак
Горе поменуте врсте тестирања софтвера само су део тестирања. Ипак, још увек постоји листа са више од 100+ врста тестирања, али све врсте тестирања се не користе у свим врстама пројеката. Тако сам обрадио неке уобичајене врсте тестирања софтвера које се углавном користе у животном циклусу тестирања.
Такође, постоје алтернативне дефиниције или процеси који се користе у различитим организацијама, али основни концепт је свуда исти. Ови типови испитивања, процеси и методе њихове примене се непрестано мењају када и када се промене пројекат, захтеви и обим.
Препоручено читање
- Најбољи алати за тестирање софтвера 2021. године (КА Тест Аутоматион Тоолс)
- Алфа тестирање и бета тестирање (потпун водич)
- Посао за КА помоћника за тестирање софтвера
- Курс за тестирање софтвера: Који институт за тестирање софтвера да се придружим?
- Одабир тестирања софтвера за вашу каријеру
- Тестирање софтвера Технички садржај Вритер Фрееланцер Јоб
- Врсте ризика у софтверским пројектима
- Најбоље услуге КА тестирања софтвера од СофтвареТестингХелп