Пређи на садржај

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

С Википедије, слободне енциклопедије
(преусмерено са Software testing)

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

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

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

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

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

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

Тестирање софтвера може бити спроведено од стране специјализованих тестера софтвера;[2][3][4] до 1980-их година термин "тестер софтвера" је обично коришћен, али је касније такође сматрано засебном професијом. До 1970-их година, програмери су били задужени за тестирање видео игара.[5] Што се тиче периода и различитих циљева тестирања софтвера, уведене су различите улоге, као што су менаџер тестирања, водитељ тестирања, аналитичар тестирања, израде тестова, тестер, развијач аутоматизације и администратор тестирања. Тестирање софтвера такође може бити обављено од стране трећих лица, тестера софтвера.[6][7]

Историја[уреди | уреди извор]

Гленфорд Џ. Мајерс је прво уво јека раздели одстрание и тестирање у 1979. години.[8] Иако је његова пажња била успереда на тестирање за отказивањем ("Успешан тест пример је онај који открива још не наппазвену грешка"), то је илустровано жељу заједнице програмера да раздвоји основне развојне активности, као што је отклањање грешака, од провераваса.

Контроверзе[уреди | уреди извор]

Неке од главних контроверзи окo тестирања софтвера укључују:

Агилно тестирање против традиционалног[уреди | уреди извор]

Да ли тестер треба да науче како да раде у условима неизвесности и сталне промшшене или би требали тежити "зрелости" процеса? Покрет за агилно тестирање добио је растућу популарност од почетка 2000-тог, углавном у комерцијалним круговима,[9] док влада и војни[10] постављачи софтвера користе ову методологију, али и традиционални модели тестирања (како је то случаи с водопад моделом).

Ручно тестирање против аутоматског[уреди | уреди извор]

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

Види још[уреди | уреди извор]

Референце[уреди | уреди извор]

  1. ^ а б Kaner, Cem (17. 11. 2006). Exploratory Testing (PDF). Quality Assurance Institute Worldwide Annual Software Testing Conference. Orlando, FL. Архивирано из оригинала (PDF) 26. 01. 2009. г. Приступљено 22. 11. 2014. 
  2. ^ „Software Testing”. www.techtarget.com. Приступљено 6. 6. 2024. 
  3. ^ „What Is Software Testing. Everything You Should Know”. www.softwaretestingmaterial.com. Приступљено 6. 6. 2024. 
  4. ^ „What is software testing?”. www.ibm.com. Приступљено 6. 6. 2024. 
  5. ^ „When Did Game Testers Became a Thing? How Can I Become One?”. wordfoxes.com. Приступљено 6. 6. 2024. 
  6. ^ „Third Party Software Testing Benefits”. ubertesters.com. Приступљено 6. 6. 2024. 
  7. ^ „Third Party Software Testing and its Benefits”. www.codeproject.com. Приступљено 6. 6. 2024. 
  8. ^ „The Art of Software Testing”. books.google.com. Приступљено 6. 6. 2024. 
  9. ^ „Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering”. books.google.com. Приступљено 6. 6. 2024. 
  10. ^ „Teaching agile project management to the PMI”. ieeexplore.ieee.org. Приступљено 6. 6. 2024. 

Додатна литература[уреди | уреди извор]

Спољашње везе[уреди | уреди извор]