fbpx

Нефункционално тестирање се односи на тестирање софтвера које се спроводи ради тестирања нефункционалних аспеката софтверске апликације.

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

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

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

 

Шта је нефункционално тестирање?

контролна листа уат, алати за тестирање веб апликација, аутоматизација и још много тога

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

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

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

У суштини, нефункционално тестирање значи тестирање ‘како’ софтверске функције функционишу, а не тестирање ‘да ли’ раде.

 

1. Када вам је потребно нефункционално тестирање?

 

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

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

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

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

 

2. Када вам није потребно нефункционално тестирање

 

Увек је важно тестирати нефункционалне аспекте софтвера осим ако су већ тестирани и утврђено да су адекватни.

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

 

Циљеви нефункционалног тестирања

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

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

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

 

1. Контрола квалитета

 

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

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

 

2. Управљање ризиком

 

Нефункционално тестирање такође смањује ризик и трошкове повезане са пуштањем производа на тржиште максимизирањем шанси да тим пусти задовољавајући производ.

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

 

3. Оптимизација

 

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

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

 

4. Прикупљање података

 

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

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

 

5. Унапређење знања

 

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

Ово не само да помаже тимовима за тестирање да боље разумеју софтвер на коме раде, већ може да пружи и корисно знање које помаже тестерима да боље разумеју будуће верзије.

 

Ко је укључен у нефункционално тестирање?

који се бави тестирањем софтвера

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

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

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

 

Предности нефункционалног тестирања

тестирање прихватања корисника (УАТ)

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

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

 

1. Побољшајте перформансе софтвера

 

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

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

 

2. Заштитите софтвер

 

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

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

 

3. Повећајте једноставност софтвера за корисника

 

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

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

 

4. Уверите се да софтвер задовољава потребе корисника

 

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

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

 

Изазови нефункционалног тестирања

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

 

1. Понављање

 

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

Такође је већа вероватноћа да ће уморни тестери који обављају задатке који се понављају бити ометени и правити грешке.

 

2. Трошкови

 

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

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

 

Шта тестирамо у нефункционалном тестирању?

 

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

 

1. Сигурност

 

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

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

 

2. Поузданост

 

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

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

 

3. Преживљавање

 

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

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

 

4. Доступност

 

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

Тестирање стабилности има неке сличности са тестирањем поузданости јер проверава да ли систем може доследно да ради према очекиваним стандардима.

 

5. Употребљивост

 

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

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

 

6. Скалабилност

 

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

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

 

7. Интероперабилност

 

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

Ово је посебно важно када је софтвер дизајниран као део скупа производа који се интегришу један са другим.

 

8. Ефикасност

 

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

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

 

9. Флексибилност

 

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

На пример, колико РАМ-а захтева софтвер или да ли му је потребна одређена количина ЦПУ-а. Што су захтеви за софтверску апликацију нижи, софтвер је флексибилнији.

 

10. Преносивост

 

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

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

 

11. Поновна употреба

 

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

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

 

Карактеристике нефункционалних тестова

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

 

1. Меасурабле

 

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

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

 

2. Специфичан

 

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

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

 

3. Непознато

 

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

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

 

Животни циклус нефункционалних тестова

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

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

 

1. Анализа софтверских захтева

 

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

 

2. Планирање теста

 

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

План тестирања треба да садржи све неопходне детаље који су тестери потребни за креирање и извршавање тест случајева.

 

3. Креирање тест случаја

 

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

Тестни случајеви описују шта ће се тестирати, како ће се тестирати и какав је очекивани исход теста.

 

4. Подешавање окружења за тестирање

 

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

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

Тим за тестирање припрема окружење за тестирање које је постављено пре извршења теста.

 

5. Извођење теста

 

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

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

 

6. Понављање циклуса

 

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

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

 

Рашчишћавање неке забуне:

Нефункционално тестирање наспрам функционалног тестирања

Поређење УАТ тестирања са регресионим тестирањем и другим

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

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

 

1. Која је разлика између функционалног и нефункционалног тестирања?

 

Разлика између функционалног и нефункционалног тестирања је у томе шта тестирају. Функционално тестирање тестира функције апликације и проверава да ли раде како се очекује. Нефункционално тестирање тестира друге аспекте апликације који утичу на задовољство корисника и квалитет апликације.

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

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

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

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

 

2. Закључак: нефункционално тестирање вс функционално тестирање

 

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

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

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

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

 

Врсте нефункционалног тестирања

Нефункционално тестирање: шта је то, различите врсте, приступи и алати

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

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

 

1. Тестови перформанси

 

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

 

2. Тестови на стрес

 

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

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

 

3. Тестови оптерећења

 

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

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

Тестирање оптерећења је важно ако желите да проверите да ли је ваш софтвер скалабилан.

 

4. Безбедносни тестови

 

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

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

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

 

5. Тестови надоградње и инсталације

 

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

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

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

 

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

6. Тестови запремине

 

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

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

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

 

7. Тестови опоравка

 

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

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

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

 

Шта вам је потребно да започнете нефункционално тестирање

Шта је тестирање оптерећења?

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

 

1. План тестирања

 

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

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

 

2. Тест случајеви

 

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

На пример, ако спроводите тестирање оптерећења, пример теста може бити тестирање како се софтвер понаша када десет корисника користи исти модул у исто време.

 

3. Функционална верификација

 

Не можете вршити нефункционално тестирање софтверских компоненти ако нису функционалне.

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

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

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

 

4. Алати за тестирање

 

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

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

 

5. Окружење за тестирање

 

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

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

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

 

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

Шта је јединично тестирање

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

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

 

1. Провере спремности за нефункционално тестирање

 

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

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

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

 

2. Направите план тестирања

 

Можда сте већ обавили овај корак раније ако обављате нефункционално тестирање као део тестирања система и пратите свој план тестирања система. План тестирања описује све тестове које треба да спроведете и како намеравате да их спроведете.

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

 

3. Креирајте тест случајеве

 

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

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

 

4. Прикупите податке теста

 

Пре него што можете да извршите сваки тест случај, мораћете да прикупите тест податке које ћете користити за сваки тест случај.

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

 

5. Припремите окружење за тестирање

 

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

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

 

6. Извршите нефункционалне тестове

 

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

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

 

7. Извештај о резултатима теста

 

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

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

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

 

8. Поправите недостатке

 

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

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

 

9. Поновите циклус тестирања

 

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

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

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

 

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

Чланак о тестирању сиве кутије - алати, приступи, упоређивање у односу на тестирање беле кутије и црне кутије, без сиве кутије и алати за предузећа.

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

Сваки тест случај се може посматрати као мини-тест, а сваки тест случај ће имати своје дефинисане излазе и резултате.

 

1. Шта су тест случајеви за нефункционално тестирање?

 

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

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

 

2. Како дизајнирати нефункционалне тестне случајеве?

 

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

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

 

1. Дефинишите област коју желите да покријете

 

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

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

 

2. Креирајте јединствени ИД тест случаја

 

Сваки тест случај треба да има јединствени ИД тест случаја. Ово олакшава касније проналажење описа и резултата тестног случаја и уклања сваку забуну око тога на који тест случај се позивате ако два тест случаја имају слична имена или описе.

 

3. Именујте и опишите сваки тест

 

Док ИД тестног случаја идентификује тест, такође ћете желети да наведете име и опис за сваки тест случај који напишете.

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

Опис треба да буде довољно јасан да тестери знају шта да тестирају и како да то тестирају, као и све посебне услове који треба да буду испуњени у тесту.

 

4. Наведите очекивани резултат

 

За сваки тест случај, наведите резултат који би требало да се деси ако софтвер ради како се очекује.

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

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

 

5. Препоручите технике тестирања

 

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

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

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

 

6. Нека сваки тест случај буде прегледан од стране колега

 

Пре него што се одјавите са сваког тестног случаја, нека га рецензира неко са ким радите. Ово може бити други тестер или КА потенцијални клијент.

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

 

3. Примери нефункционалних тест случајева

 

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

 

Пример тестирања скалабилности

ИД тест случаја: 6671
Назив тестног случаја: Тест вишеструког пријављивања корисника
Опис: Емулирајте 20+ корисника који се истовремено пријављују на софтвер користећи алате за аутоматизацију.
Очекивани резултати: Софтвер би требало да ради нормално за сваког корисника, омогућавајући сваком кориснику да се успешно пријави за мање од 5 секунди.

 

Пример тестирања компатибилности

ИД тест случаја: 5214
Назив тестног случаја: Учитавање апликације у претраживач Опера
Опис: Учитајте апликацију у Опера веб претраживач.
Очекивани резултати: Апликација се нормално учитава у Опера веб претраживачу са стандардном резолуцијом екрана и распоредом.

 

Ручни или аутоматизовани нефункционални тестови?

компјутерски вид за тестирање софтвера

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

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

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

 

Ручно нефункционално тестирање: предности, изазови и процеси

 

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

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

Ово захтева доста времена, али такође значи да КА тестери имају слободу да одреде шта се и како тестира.

 

1. Неке од предности ручног тестирања укључују:

 

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

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

● Ручно тестирање се може користити за спровођење тестирања система у сценаријима где је немогуће аутоматизовати.

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

● Ручно тестирање нуди тестерима ширу перспективу система као целине и начина на који различити модули и компоненте раде заједно

 

Међутим, постоје и недостаци ручног тестирања.

 

2. Неки од изазова ручног тестирања укључују:

 

● Неке врсте нефункционалног тестирања, укључујући тестирање оптерећења и тестирање перформанси, су непрактичне за ручно

● Ручно тестирање траје знатно више времена од аутоматског нефункционалног тестирања

● Ручни тестери могу да се ометају, изгубе фокус и праве грешке, посебно када обављају веома понављајуће задатке тестирања

 

Аутоматско нефункционално тестирање: предности, изазови и процеси

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

 

1. Неке од предности аутоматизације нефункционалних тестова су:

 

1. Уштедите време и ресурсе тако што ћете смањити количину времена које трошите на дуготрајне задатке

2. Аутоматизација омогућава повећање покривености тестом покривањем ширег спектра компоненти и карактеристика

3. Изводљивије је често спроводити аутоматизоване тестове јер им је потребно мање времена за извођење

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

5. Мања је шанса да дође до грешака при извођењу аутоматизованог тестирања

 

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

 

2. Неки од изазова аутоматског нефункционалног тестирања укључују:

 

1. Аутоматско тестирање је скупље за подешавање од ручног тестирања

2. Постављање аутоматизације тестирања може потрајати и технички ресурси

3. Аутоматизација тестирања не дозвољава простор за истраживачко тестирање

4. Аутоматизација тестова и даље захтева време за креирање тест случајева

 

Закључак: Ручно или аутоматизовано

нефункционално тестирање?

Предности успостављања Тестинг Центер оф Екцелленце. Да ли се тестирање перформанси разликује од функционалног тестирања?

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

У нефункционалном тестирању, и ручно и аутоматизовано тестирање су практично неопходни за већину тимова за тестирање.

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

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

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

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

Најбоље праксе за нефункционално тестирање

Шта је тестирање софтвера?

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

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

 

1. Користите алате за аутоматизацију

 

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

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

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

 

2. Рецензирати сву документацију

 

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

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

 

3. Дефинишите мерљиве захтеве

 

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

Ово олакшава тестерима да утврде да ли софтвер испуњава ове захтеве током тестирања и не оставља простора за тумачење.

Шта се сматра „брзо“ или „ефикасно“? Користите бројеве и квантитативне вредности да дефинишете шта тражите.

 

4. Пажљиво размотрите метрику тестирања

 

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

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

 

Врсте излаза из нефункционалног теста

како тестирање аутоматизације функционише у индустријама као што је банкарство, на пример

Када спроводите нефункционално тестирање, добићете различите врсте излаза из тестова које изводите.

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

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

 

1. Апсолутни бројеви

 

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

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

Ако спроводите тестирање оптерећења, можете проценити колико података софтвер може да обради одједном без пада или заостајања.

 

2. Порука о грешци

 

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

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

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

 

3. Падови

 

Рушење је знак квара система и обично указује на то да систем није у стању да ради на нивоу који тестирате и може значити да је тест прошао.

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

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

 

Примери нефункционалних тестова

Тестирање од краја до краја - Шта је Е2Е тестирање, алати, типови и још много тога

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

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

 

1. Пример тестирања перформанси

 

Ако радите на мобилној апликацији која повезује кориснике са онлајн базом података, важно је да велики број корисника може истовремено да приступи и преузме податке из ове базе података.

Ово је такође кључни део тестирања скалабилности, посебно ако желите да повећате број корисника у апликацији у будућности.

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

 

2. Тестирање компатибилности

 

Ако тестирате нову апликацију за управљање документима, мораћете да тестирате да ли ради на свим уређајима за које је намењена.

То значи тестирање да можете да инсталирате и учитате апликацију на све најновије верзије Виндовс-а , Мац-а и свих других оперативних система (као што је Линук ) са којима желите да софтвер буде компатибилан.

 

3. Безбедносно тестирање

 

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

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

 

Откривене врсте грешака и грешака

кроз нефункционално тестирање

заптест-рунтиме-еррор.пнг

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

 

1. Дефекти у раду

 

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

На пример, можда ћете открити да се систем не учитава довољно брзо под одређеним условима или да се чак руши ако се превише корисника истовремено пријави.

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

 

2. Безбедносни недостаци

 

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

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

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

 

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

 

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

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

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

 

Уобичајени нефункционални показатељи тестирања

предности успостављања центра за тестирање (ТЦоЕ)

Нефункционалне метрике тестирања описују оне метрике помоћу којих се мере перформансе и ефикасност система.

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

 

1 пут

 

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

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

Различите врсте тестова ће мерити резултате у секундама или као презентацију колико операција у секунди.

 

2. Простор

 

Простор је још једна важна метрика у нефункционалном тестирању. метрика простора може тестирати колико ЦПУ простора захтева систем или колико простора на чврстом диску заузима софтвер након што је потпуно инсталиран.

Неки примери просторних метрика укључују кеш меморију, главну меморију и помоћну меморију.

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

 

3. Употребљивост

 

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

IS YOUR COMPANY IN NEED OF

ENTERPRISE LEVEL

TASK-AGNOSTIC SOFTWARE AUTOMATION?

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

 

4. Поузданост

 

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

Неки примери метрика који се користе за мерење поузданости укључују средње време до отказа, стопу отказа, доступност и вероватноћу застоја.

Сваки од ових показатеља помаже тестерима да потврде да систем може да ради дуго времена без кварова или кварова.

 

5. Робусност

 

Робусност је мера колико добро систем подноси кварове и колико добро систем може да се опорави у случају квара.

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

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

 

6. Преносивост

 

Мере преносивости мере колико лако се софтвер може пренети на различите системе или преместити на нову локацију унутар мреже.

Неки примери метрика који мере преносивост укључују проценат непреносивог кода и број система на којима софтвер може да ради.

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

 

Стратегије спровођења нефункционалних тестова

Шта је јединично тестирање?

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

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

 

1. Подели улоге и одговорности

 

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

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

 

2. Прикупите релевантне алате за тестирање

 

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

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

 

3. Дајте приоритет тестирању

 

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

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

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

 

7 најбољих нефункционалних алата за тестирање

најбоље тестирање бесплатног и пословног софтвера + РПА алати за аутоматизацију

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

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

 

1. ЗАПТЕСТ БЕСПЛАТНО издање

 

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

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

 

2. Аппиум

 

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

 

3. Лоадиум

 

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

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

Можете испробати Лоадиум бесплатно или платити да преузмете пуну верзију апликације.

 

4. Обкио

 

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

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

 

5. СонарКубе

 

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

 

6. Тсунг

 

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

Тсунг је алатка отвореног кода која омогућава корисницима да спроводе тестирање оптерећења великог обима на више протокола и сервера, укључујући ХТТП и СОАП.

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

 

7. Сикули

 

Сикули је још једна апликација која користи роботску аутоматизацију процеса за аутоматизацију процеса тестирања. Апликација може да аутоматизује све што се може видети на екрану. Можете користити Сикули за тестирање апликација које нису засноване на вебу и за брзо репродуковање грешака.

 

Контролна листа за нефункционално тестирање, савети и трикови

Контролна листа за тестирање софтвера

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

Пратите контролну листу у наставку за савете и трикове пре него што започнете нефункционално тестирање.

 

1. Радите по распореду

 

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

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

 

2. Идентификујте свој тестни тим

 

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

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

 

3. Изаберите алате и технологије пре тестирања

 

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

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

 

4. Увек прибавите званичну потврду тестова и документације

 

Тестирање је процес обезбеђења квалитета, а најбољи начин да се максимизира вредност тестова које спроводите је да извршите основни КА на тестовима које планирате и такође изводите.

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

Ово значајно повећава шансу да грешке у тестирању буду ухваћене и исправљене рано.

 

7 грешака и замки које треба избегавати при примени нефункционалних тестова

Поређење УАТ тестирања са регресионим тестирањем и другим

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

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

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

 

1. Не планирам

 

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

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

 

2. Тестирање лошег управљања

 

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

Менаџери тестирања морају бити у стању да уче из грешака које праве и да развију ефикасније планове тестирања за даље.

 

3. Лоша комуникација

 

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

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

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

 

4. Игнорисање програмера

 

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

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

 

5. Сврха испитивања

 

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

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

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

 

6. Ручне и аутоматске грешке

 

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

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

 

7. Коришћење погрешних алата за тестирање

 

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

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

 

Закључак

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

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

 

Често постављана питања и ресурси

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

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

 

1. Најбољи курсеви о нефункционалном тестирању

 

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

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

 

Неки од најбољих курсева о нефункционалном тестирању укључују:

 

  • ТСГ: Дводневни курс за нефункционални тренинг

 

  • Удеми: Комплетан камп за тестирање софтвера за 2023

 

  • Едк: Стручни сертификат за тестирање софтвера

 

  • Образовни: Аутоматизација тестова перформанси 101

 

2. Којих је топ 5 питања за интервју о нефункционалном тестирању?

 

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

● Како се приступи и методе које користите у нефункционалном тестирању могу разликовати од приступа које користите у функционалном тестирању?

● Како се нефункционално тестирање разликује од функционалног тестирања?

● Које различите врсте нефункционалног тестирања постоје?

● Како дајете приоритет функционалним тестовима и тест случајевима?

● У којој фази тестирања софтвера се обично спроводи функционално тестирање?

 

3. Најбољи ИоуТубе туторијали о нефункционалном тестирању

 

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

У наставку су неки од најбољих ИоуТубе туторијала о тестирању софтвера који су данас доступни.

Шта је тестирање нефункционалног софтвера? Водич за тестирање софтвера
Помоћ за тестирање софтвера: Нефункционално тестирање
Нефункционално тестирање у тестирању софтвера
Посетите В3Сцхоолс
Функционално и нефункционално тестирање

 

4. Како одржавати нефункционалне тестове

 

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

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

 

Можете одржавати нефункционалне тестове пратећи наше савете у наставку.

 

● Јасно комуницирајте са тимом за тестирање када креирате тест случајеве и пишете документацију

● Увек следите најбоље праксе дизајна тестова

● Поново процените протоколе тестирања у различитим фазама процеса тестирања

● Ажурирајте промене у свом тесту док идете

Узмите у обзир будуће пројекте када правите измене у тренутним тестовима

 

5. Да ли је нефункционално тестирање црна или бела кутија?

 

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

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

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

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