Шта је методологија тестирања софтвера?
Методологија тестирања софтвера је дефинисана као стратегија и врста тестирања која се користи за потврђивање да апликација која се тестира испуњава очекивања клијента. Методологије испитивања укључују функционално и нефункционално тестирање за потврђивање АУТ. Примери методологија тестирања су јединствено тестирање, интеграционо тестирање, системско тестирање, испитивање перформанси итд. Свака методологија тестирања има дефинисани циљ испитивања, стратегију испитивања и резултате.
Напомена : Будући да је тестирање софтвера саставни део било које развојне методологије, многе компаније у колоквијалном смислу користе термин Развојне методологије и методологије испитивања. Стога би се методологије испитивања такође могле односити на Ватерфалл, Агиле и друге КА моделе, у односу на горњу дефиницију методологија тестирања. Дискусија о различитим врстама тестирања не додаје вредност читаоцима. Стога ћемо разговарати о различитим развојним моделима.
У овом упутству ћете научити-
- Модел водопада
- Итеративни развој
- Агилна методологија
- Екстремно програмирање
- Коју софтверску методологију одабрати?
- Како подесити методологије тестирања софтвера?
Модел водопада
Шта је то?
У моделу водопада, развој софтвера напредује кроз различите фазе као што су анализа захтева, дизајн итд. - секвенцијално .
У овом моделу, следећа фаза започиње тек када се заврши ранија фаза.
Шта је приступ тестирању?
Прва фаза у моделу водопада је фаза захтева у којој су сви захтеви пројекта у потпуности дефинисани пре почетка испитивања. Током ове фазе, тест тим разматра обим тестирања, стратегију испитивања и израђује детаљан план испитивања.
Тек када се дизајн софтвера доврши, тим ће прећи на извршење тест случајева како би осигурао да се развијени софтвер понаша онако како је очекивано.
У овој методологији, тим за тестирање прелази у следећу фазу тек када се заврши претходна фаза.
Предности
Овај модел софтверског инжењерства је врло једноставан за планирање и управљање. Стога се пројекти, где су захтеви претходно јасно дефинисани и претходно наведени, могу лако тестирати помоћу модела водопада.
Мане
У моделу водопада са следећом фазом можете започети тек када се заврши претходна фаза. Стога овај модел не може да прихвати непланиране догађаје и неизвесности.
Ова методологија није погодна за пројекте код којих се захтеви често мењају.
Итеративни развој
Шта је то?
У овом моделу, велики пројекат је подељен на мале делове и сваки део је подвргнут вишеструким понављањима модела водопада. На крају итерације развија се нови модул или се побољшава постојећи модул. Овај модул је интегрисан у софтверску архитектуру и читав систем је тестиран заједно
Шта је приступ тестирању?
Чим се итерација заврши, читав систем се подвргава тестирању. Повратне информације из тестирања су одмах доступне и укључују се у следећи циклус. Време тестирања потребно у узастопној итерацији може се смањити на основу искуства стеченог у прошлим итерацијама.
Предности
Главна предност итеративног развоја је да су повратне информације о тесту одмах доступне на крају сваког циклуса.
Мане
Овај модел значајно повећава опште трошкове комуникације, јер се на крају сваког циклуса морају дати повратне информације о резултатима, напору итд.
Агилна методологија
Шта је то?
Традиционалне методологије за развој софтвера раде на претпоставци да захтеви за софтвером остају константни током целог пројекта. Али са повећањем сложености, захтеви се подвргавају бројним променама и континуирано еволуирају. Понекад сам купац није сигуран шта жели. Иако се итеративни модел бави овим питањем, он се и даље заснива на моделу водопада.
У Агиле методологији, софтвер се развија у инкременталним, брзим циклусима. Наглашава се интеракција између купаца, програмера и клијента, а не процеса и алата. Агилна методологија се фокусира на реаговање на промене, а не на опсежно планирање.
Шта је приступ тестирању?
Инкрементално тестирање се користи у агилним развојним методама, па се стога свако издање пројекта темељито тестира. Ово осигурава да се грешке у систему исправе пре следећег издања.
Предности
Могуће је извршити промене у пројекту у било које време како би се удовољило захтевима.
Ово инкрементално тестирање минимизира ризике.
Мане
Стална интеракција са клијентом значи додатни временски притисак на све заинтересоване стране, укључујући самог клијента, развој софтвера и тимове.
Екстремно програмирање
Шта је то?
Екстремно програмирање је врста агилне методологије која верује у кратке развојне циклусе. Пројекат је подељен на једноставне инжењерске задатке. Програмери кодирају једноставан софтвер и враћају се купцу ради повратних информација. Укључене су тачке прегледа купца и програмери настављају са следећим задатком.
У екстремном програмирању програмери обично раде у паровима.
Екстремно програмирање се користи на местима где се захтеви купаца непрестано мењају.
Шта је приступ тестирању?
Екстремно програмирање прати развој вођен тестом који је описан на следећи начин -
- Додајте тест случај у пакет за тестирање да бисте верификовали нову функционалност која тек треба да се развије
- Покрените све тестове и очигледно да нови додатак за тест мора да пропадне јер функционалност још није кодирана
- Напишите неки код за примену функције / функционалности
- Поново покрените тестни пакет. Овај пут, нови тест би требало да прође пошто је функционално кодиран
Предности
Купци који имају нејасан софтвер на уму могли би да користе екстремно програмирање
Континуирано тестирање и континуирана интеграција малих издања осигуравају висок квалитет софтверског кода
Мане
Састанци тима за развој софтвера и клијената додају временске захтеве.
Коју софтверску методологију одабрати?
Постоји мноштво методологија доступних за развој софтвера и његово одговарајуће тестирање. Свака техника и методологија испитивања дизајнирани су за одређену сврху и имају своје релативне заслуге и недостатке.
Избор одређене методологије зависи од многих фактора као што су природа пројекта, захтев клијента, распоред пројеката итд.
Из перспективе тестирања, неке методологије форсирају испитивање улазних података рано у животном циклусу развоја, док друге чекају док радни модел система не буде спреман.
Како подесити методологије тестирања софтвера?
Методологије за тестирање софтвера не би требало постављати само ради тестирања софтверског кода. Треба размотрити велику слику и примарни циљ пројекта треба бити задовољан методологијом испитивања.
Заказивање
Реално заказивање је кључно за примену успешне методологије тестирања и распоред треба да задовољи потребе сваког члана тима.
Дефинисани резултати
Да би сви чланови тима остали на истој страници, треба обезбедити добро дефинисане испоруке. Испоруке треба да садрже директан садржај без икаквих двосмислености.
Тест приступ
Када се заказивање заврши и када се ставе на располагање дефинисани резултати, тим за тестирање треба да буде у могућности да формулише прави приступ тестирању. Документи дефиниције и састанци програмера треба да укажу тиму на најбољи приступ тестирању који се може користити за пројекат.
Извештавање
Транспарентно извештавање је веома тешко постићи, али овај корак одређује ефикасност приступа тестирања који се користи у пројекту.