software development
Које су методологије развоја и тестирања софтвера?
Тестирање је суштински део процеса развоја софтвера. Робустан и стабилан софтверски производ може се испоручити уз употребу стандардних методологија испитивања које ће помоћи у предвиђању временске линије софтверског система.
Софтверска апликација може постати још сложенија са великим бројем платформи и уређаја. Што је још важније, потребно је осигурати да ли испуњавају наведене захтеве и могу ли се ефикасно инсталирати и управљати корисничком машином или не.
Са средствима сигурност , компатибилност , и употребљивости, софтверски производ треба тестирати користећи одговарајућу методологију испитивања.
У овом чланку , детаљно ћемо разговарати о томе шта се подразумева под методологијама тестирања, како се разликује од стратегија тестирања и врстама софтверских метода испитивања.
Шта ћете научити:
- Значење методологија испитивања
- Технике испитивања
- Модели у СДЛЦ
- Разлика између методологија тестирања и стратегија тестирања
- Закључак:
- Препоручено читање
Значење методологија испитивања
Методологије се могу сматрати скупом механизама за тестирање који се користе у животном циклусу развоја софтвера од јединственог тестирања до системског тестирања. Избор одговарајуће методологије испитивања сматра се сржом процеса испитивања.
Технике испитивања
У основи постоје 3 методологије тестирања које се користе за тестирање. То су тестирање беле кутије, испитивање црне кутије и Тестирање сиве кутије . Они се такође називају као Технике испитивања . Свака од техника тестирања је у наставку укратко представљена ради вашег бољег разумевања.
# 1) Испитивање беле кутије:
Техника тестирања беле кутије користи се за испитивање програмске структуре и пословне логике, валидира код или програм апликације. Такође се назива и Испитивање празних кутија, испитивање стаклених кутија или испитивање отворених кутија .
Технике тестирања беле кутије укључују:
- Покривеност изјаве: Испитује све програмске изјаве.
- Покривеност филијале: Серија текућих тестова како би се осигурало да ли су све гране тестиране.
- Покривеност пута: Тестира све могуће путеве за покривање сваке изјаве и гране.
# 2) Тестирање црне кутије:
Метода испитивања црне кутије користи се за тестирање функционалности апликације на основу спецификације захтева. За разлику од Вхите Бок тестирања, он се не фокусира на унутрашњу структуру / код апликације.
Технике црне кутије укључују:
- Анализа граничне вредности
- Партиционирање еквиваленције (Партиционирање класе еквиваленције)
- Табеле одлучивања
- Тестови домена
- Државни модели
- Истраживачко испитивање (захтева мање припреме и такође помаже у брзом проналажењу недостатака).
# 3) Тестирање сиве кутије:
Овај метод тестирања се изводи са мање информација о унутрашњој структури апликације. Генерално се ово изводи само као тестирање црне кутије, али за нека критична подручја примене користи се тестирање беле кутије.
Модели у СДЛЦ
Избор правилних методологија испитивања такође се укључује са одабиром одговарајућег модела у СДЛЦ.
Модели укључују:
- Модел водопада
- У моделу
- Агиле модел
- Спирални модел
- РАД
Погледајмо ближе сваку методологију развоја софтвера са кратким објашњењем.
# 1) Модел водопада
Модел водопада је основни модел животног циклуса који је развио Винстон Роице 1970. године. Овај модел представља више фаза или процеса на секвенцијални начин који се прогресивно спушта према доле.
Овај приступ је користан када су захтеви добро познати, када се технологија разуме и када су ресурси са потребном стручношћу доступни.
Модел водопада је дефинисан у следећим фазама:
- Прикупљање и анализа захтева: Ухватите и анализирајте све захтеве и уверите се да ли их је могуће тестирати или не.
- Дизајн система: Створити и документовати дизајн на основу анализе захтева. Дефинишите хардверске и софтверске захтеве.
- Имплементација: Створите робусни код за компоненте према дизајну и интегришите их.
- Тестирање система: Интегрисане компоненте чине цео систем, ова фаза се изводи како би се осигурало да ли систем ради према захтевима, пратећи и извештавајући о напретку испитивања.
- Примена система: Уверите се да ли је систем стабилан са нула грешака, да су сви критеријуми за испитивање били
испуните, осигурајте подешавање окружења итд. - Одржавање система: Уверава се да ли апликација ради ефикасно према захтевима са одговарајућим окружењем. У случају да се открије квар, то би требало отклонити и применити (ажурирати) у окружењу.
Предности модела водопада:
- Једноставно и лако за разумевање.
- Једноставно управљање, јер свака фаза има своје специфичне резултате.
- Избегава се преклапање фаза.
- Добро за мале пројекте.
Мане модела водопада:
- Повећање количине ризика и неизвесности.
- Једном када уђете у фазу тестирања, не можете ништа променити у претходним фазама на пример Дизајн и кодирање итд.
- Није добро за сложене и велике пројекте.
- Није погодно тамо где се захтеви стално мењају.
# 2) У моделу
В Модел је продужење модела водопада где се извршење процеса одвија у секвенцијалном стилу у В-облику и такође је познато као модел верификације и валидације. У овом приступу постоји директно повезана фаза испитивања у свакој појединој фази развојног циклуса.
Показало се корисним и исплативим од модела водопада јер се испитивање врши у свакој развојној фази, а не на крају развојног циклуса.
В Модел је класификован у 3 фазе.
- Фаза верификације
- Фаза кодирања
- Фаза валидације
а) Фаза верификације :
- Анализа пословних захтева: Комуницирајте са купцем да бисте разумели њихова очекивања и захтеве.
- Дизајн система: Дизајнкомплетансистем и његове компоненте заједно са хардверским и софтверским захтевима.
- Архитектонско пројектовање: У овој фази се узимају архитектонске спецификације. Ово такође познато као дизајн на високом нивоу.
- Дизајн модула: Ово је такође познато као дизајн на ниском нивоу, детаљни унутрашњи дизајн за све наведене системске модуле.
б) Фаза кодирања:
Ова фаза садржи фазу стварног кодирања у животном циклусу развоја. Програмски језици би требали бити изабрани на основу система и архитектонског дизајна наведеног у технолошкој платформи у претходној фази. Кодирање се врши према унапред дефинисаним стандардима и смерницама.
ц) Фаза валидације :
- Јединствено тестирање: Изводи се на појединачном модулу за уклањање грешака у раној фази.
- Интеграционо тестирање: Изведено за тестирање комуникације између различитих модула у систему.
- Тестирање система: Тестирање система изводи се на систему у целини.
- Прихватање тестирање: Ово је повезано са пословним захтевима. Изводи се у корисничком окружењу са становишта корисника.
Предности В модела
- Једноставно, лако за употребу и разумевање.
- Избегава се преклапање јер се фазе извршавају једна по једна.
- Једноставно управљање и погодно за мале пројекте.
Мане В модела су мање-више сличне недостацима модела Ватерфалл.
# 3) окретан модел
Агиле Модел показује итеративни и инкрементални приступ. Овај приступ разбија производ на мале инкременталне јединице да би пружио итерације. Тада свака итерација укључује кораке попут планирања, анализе захтева, дизајна, кодирања, јединичног испитивања, испитивања прихватљивости итд.
Овај приступ такође омогућава континуирану интеракцију са купцем ради повратних информација и корекција захтева у редовним интервалима.
Следећи дијаграм ће вам помоћи да прецизније разумете приступ Агиле Модел-а:
Следећа слика ће приказати циклус понављања у Агиле моделу:
Предности Агиле модела:
- Реалистичан приступ развоју софтвера.
- Промовише тимски рад.
- Елиминише неусклађеност захтева и тест случајева.
- Брз и захтева минималну количину ресурса.
- Погодно за велике и дугорочне пројекте.
- Добро за промену захтева.
- Лако за управљање.
Мане Агиле модела:
- Није погодно за сложене пројекте.
- Захтева велику количину интеракције са купцем што може довести до кашњења.
- Погрешно навођење захтева може проузроковати нетачан развој софтверског производа.
- Повећани ризик одржавања.
- Примопредаја другом тиму може бити прилично изазовна.
# 4) Спирални модел
Спирални модел укључује итеративни приступ развоју заједно са системским приступом модела водопада. Слично је инкременталном моделу и нагласку на Анализи ризика.
Спирални модел има четири фазе:
- Фаза планирања
- Анализа ризика
- Фаза инжењеринга
- Фаза евалуације
1) Фаза планирања: У овој фази се прикупљају и преиспитују захтеви како би се довршио тест случаја.
2) Анализа ризика: Ова фаза укључује идентификовање, праћење и процену ризика управљања. Захтеви се анализирају како би се идентификовали ризици коришћењем техника као што су мождана олуја, шетња итд.
3) Фаза инжењеринга: У овој фази софтвер се развија и тестира на крају.
4) Фаза евалуације: Ово је последња фаза у којој купац процењује резултате пројекта и даје повратне информације за следећу спиралу или одобрење.
Сликовни приказ спиралног модела:
Када користити спирални модел:
- За високо ризичне пројекте.
- Када су захтеви сложени.
- Ако је пројекат велик.
- Имајте довољно времена за добијање повратних информација корисника за следећу спиралу.
- Захтева значајне промене због истраживања и истраживања.
- Корисници нису сигурни у своје потребе.
Предности спиралног модела:
- Избегавање ризика јер укључује велику количину анализе ризика.
- Брз развој.
- Промене у захтевима се лако прилагоде.
- Захтеви се могу добити тачније.
Мане спиралног модела:
- Комплексно управљање.
- Није погодно за мале пројекте.
- Може укључивати бр. спирала (неодређено).
- Скуп.
- Захтева велику количину анализе ризика и стручности за успех њиховог пројекта.
# 5) РАД модел
Брзи развој апликација (РАД) је врста инкременталног модела. У овом приступу, компоненте се развијају паралелно.
Ово је брз приступ и купцу може пружити брз производ да пружи повратне информације.
Фазе у РАД-у су следеће:
- Пословно моделирање: Идентификује виталне информације и њихов проток између различитих пословних канала.
- Моделирање података: Информације прикупљене у претходној фази користе се за дефинисање објеката података потребних за пословање.
- Моделовање процеса: Објекти података се конвертују да би се добио пословни циљ и проток информација.
- Генерација апликације: У овој фази користе се алати за аутоматизацију за претварање модела процеса у стварни код.
- Испитивање и промет: Тестира све компоненте система, па се тиме смањује целокупно време тестирања.
Предности РАД модела:
- Напредак се може мерити.
- Смањује време развоја.
- Повећана поновна употребљивост.
- Брзи почетни прегледи.
- Побољшава повратне информације купаца.
Мане РАД модела:
- Захтева висококвалификоване ресурсе.
- Процена високих трошкова.
- Није применљиво за јефтиније пројекте.
- Велика зависност од вештина моделирања.
- Само модуларизовани систем може да се изгради помоћу РАД-а.
Разлика између методологија тестирања и стратегија тестирања
Одговор на ово питање није много сложен, јер постоји једноставна разлика између оба.
Методологије испитивања су методе или приступи испитивању који укључују од јединичног тестирања до системског тестирања.
Стратегије тестирања је преглед кључних проблема који се јављају у процесу тестирања и који ће узети у обзир менаџер пројекта, тим програмера и тестера.
За примену се користе горе поменуте методе испитивања софтвера н број стратегија тестирања.
Неки од њих су наведени у наставку:
1) Јединствено тестирање:
- Фокусира се на врло мале функционалне јединице.
- Најједноставнији начин провере најмањих јединица за изолацију.
- Генерално изводе програмери.
2) Интеграционо тестирање:
јава програм за сортирање низа
- Ово је следећи корак који треба извршити на страни програмера.
- Обезбедити механизам за тестирање интеракције, међусобног рада и комуникације између различитих модула софтвера
3) функционално испитивање:
Користи се за проверу функционалности софтверског система, тј. Излаза на дати улаз.
4) Испитивање регресије:
Проверава да ли се исправак грешака догодио на једном месту тако да сложене функционалности не би требало да изазову промене у другом језгру.
5) Системско тестирање:
- Тестирање свих интегрисаних модула као колективног система.
- Комбинује више функција у свеобухватне сценарије.
6) Испитивање перформанси:
Тестира перформансе апликације у критичним ситуацијама попут преноса датотеке велике величине, истовременог приступа корисника систему, неуспеха конфигурације итд.
7) Испитивање прихватљивости :
- Генерално Завршни ниво тестирања, где испитивачи испитују софтверски производ као перспективу корисника
- Резултат овог корака је субјективан и треба мало да се пронађе тачно питање
Закључак:
Избор одговарајуће методологије испитивања је радња или скуп радњи који су у основи процеса тестирања. Ово је можда чак и свестрана активност која се мења у складу са пословним захтевима и временском траком софтверског производа.
Међутим, могу се одабрати појединачне или чак вишеструке методологије за развој и тестирање софтвера како би се добио флексибилнији и ефикаснији крајњи производ који задовољава потребе и очекивања купца у жељеном или краћем временском року.
Јавите нам своје мисли / сугестије у одељку за коментаре испод.
Препоручено читање
- Најбољи алати за тестирање софтвера 2021. (Алати за аутоматизацију КА теста)
- Посао за КА помоћника за тестирање софтвера
- Курс за тестирање софтвера: Који институт за тестирање софтвера да се придружим?
- Одабир тестирања софтвера за вашу каријеру
- Тестирање софтвера Посао писца техничког садржаја Посао слободњака
- Нека занимљива питања за испитивање софтверског тестирања
- Повратне информације и прегледи курса за тестирање софтвера
- Тестирање софтвера Помоћ Аффилиате Програм!