Шта је тестирање софтвера? Дефиниција, основе & амп; Врсте

Преглед садржаја:

Anonim

Тестирање софтвера

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

Неки више воле да кажу тестирање софтвера као тестирање беле кутије и црне кутије. Једноставно речено, тестирање софтвера значи верификацију апликације која се тестира (АУТ). Овај водич публици представља софтвер за тестирање и оправдава његову важност.

У овом упутству ћете научити:

  • Шта је тестирање софтвера?
  • Зашто је тестирање софтвера важно?
  • Које су предности тестирања софтвера?
  • Тестирање у софтверском инжењерству
  • Врсте тестирања софтвера
  • Стратегије тестирања у софтверском инжењерству
  • Пробно тестирање

Зашто је тестирање софтвера важно?

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

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

  • У априлу 2015. Блоомберг терминал у Лондону срушио се због софтверске грешке која је погодила више од 300.000 трговаца на финансијским тржиштима. Присилила је владу да одложи продају дуга од 3 милијарде фунти.
  • Ниссан аутомобили повукли су са тржишта више од милион аутомобила због квара софтвера на сензорним детекторима ваздушних јастука. Извештене су две незгоде због овог софтверског квара.
  • Старбуцкс је био присиљен да затвори око 60 посто продавница у САД-у и Канади због софтверског квара на његовом ПОС систему. У једном тренутку продавница је послужила кафу бесплатно, јер нису успели да обраде трансакцију.
  • Неки Амазонови независни трговци видели су да им је цена производа смањена на 1 п због софтверске грешке. Остали су им велики губици.
  • Рањивост у оперативном систему Виндовс 10. Ова грешка омогућава корисницима да побегну из безбедносних окружења кроз недостатак у систему вин32к.
  • У 2015. години борбени авион Ф-35 постао је жртва софтверске грешке, због чега није могао правилно да открије циљеве.
  • Цхина Аирлинес Аирбус А300 срушио се због софтверске грешке 26. априла 1994. године, усмртивши 264 невина уживо
  • 1985. године канадска машина Тхерац-25 за радиотерапију није радила исправно због софтверске грешке и испоручивала је смртоносне дозе зрачења пацијентима, остављајући 3 особе мртве, а 3 особе критично рањујући.
  • У априлу 1999. софтверска грешка проузроковала је неуспех лансирања војног сателита вредног 1,2 милијарде долара, најскупље несреће у историји
  • У мају 1996. године, због софтверске грешке, на банковним рачунима 823 клијента велике америчке банке приписано је 920 милиона америчких долара.

Кликните овде ако видео снимку није доступан

Које су предности тестирања софтвера?

Ево предности коришћења софтверског тестирања:

  • Исплативо: То је једна од важних предности тестирања софтвера. Тестирање било ког ИТ пројекта на време помаже вам да дугорочно уштедите новац. У случају да су грешке ухваћене у ранијој фази тестирања софтвера, њихово отклањање кошта мање.
  • Безбедност: То је најрањивија и најосетљивија предност тестирања софтвера. Људи траже производе од поверења. Помаже у ранијем уклањању ризика и проблема.
  • Квалитет производа: То је основни захтев сваког софтверског производа. Тестирање осигурава да се квалитетан производ испоручује купцима.
  • Задовољство купаца: Главни циљ сваког производа је да пружи задовољство својим купцима. УИ / УКС тестирање осигурава најбоље корисничко искуство.

Тестирање у софтверском инжењерству

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

Врсте тестирања софтвера

Тестирање се обично класификује у три категорије.

  • Функционално испитивање
  • Нефункционално тестирање или испитивање перформанси
  • Одржавање (регресија и одржавање)

Категорија тестирања Врсте испитивања
Функционално испитивање
  • Јединствено тестирање
  • Испитивање интеграције
  • Дим
  • УАТ (тестирање прихватљивости корисника)
  • Локализација
  • Глобализација
  • Компатибилност
  • Ускоро
  • Нефункционално тестирање
  • Перформансе
  • Издржљивост
  • Лоад
  • Волуме
  • Прилагодљивост
  • Употребљивост
  • Ускоро
  • Одржавање
  • Регресија
  • Одржавање
  • Ово није комплетна листа јер постоји више од 150 врста типова тестирања које се још увек додају. Такође имајте на уму да нису сви типови испитивања применљиви на све пројекте, али зависе од природе и обима пројекта.

    Стратегије тестирања у софтверском инжењерству

    Ево важних стратегија у софтверском инжењерству:

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

    Тестирање интеграције: Фокусира се на конструкцију и дизајн софтвера. Морате да видите да интегрисане јединице раде без грешака или не.

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

    Пробно тестирање

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

    Резиме основа за тестирање софтвера:

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