Практычна тэставыя прыклады для кожнай функцыі ствараюцца і тэстуюцца перад выпускам праграмнага забеспячэння, і калі тэст не праходзіць, пішацца (або перапісваецца або выпраўляецца) новы код, каб прайсці тэст і зрабіць код простым і без памылак.
Распрацоўка, арыентаваная на тэставанне (TDD), пачынаецца з распрацоўкі і распрацоўкі тэстаў для кожнай маленькай функцыі прыкладання. Фреймворк TDD інструктуе распрацоўшчыкаў пісаць новы код толькі ў тым выпадку, калі аўтаматызаваны тэст не атрымаўся. Такі падыход дазваляе пазбегнуць дубліравання кода. Поўны модуль TDD - гэта тэставая распрацоўка.
Тэставая распрацоўка (TDD) узнікла як частка больш шырокай парадыгмы распрацоўкі праграмнага забеспячэння, вядомай як экстрэмальнае праграмаванне (XP), якая з'яўляецца часткай метадалогіі распрацоўкі праграмнага забеспячэння Agile.
Простая канцэпцыя TDD заключаецца ў напісанні і выпраўленні няўдалых тэстаў перад напісаннем новага кода (да распрацоўкі). Гэта дапамагае пазбегнуць дубліравання кода, паколькі мы пішам невялікую колькасць кода за раз, каб прайсці тэсты. (Тэсты - гэта не што іншае, як умовы патрабаванняў, якія мы павінны праверыць, каб задаволіць іх).
Тэставая распрацоўка - гэта працэс распрацоўкі і запуску аўтаматызаваных тэстаў перад фактычнай распрацоўкай прыкладання. Такім чынам, TDD таксама часам называюць Test First Development.
Перш чым напісаць новы код, праграміст павінен стварыць няўдалы модульны тэст. Затым праграміст - або пара, або натоўп - стварае дастаткова кода, каб задаволіць гэтае патрабаванне. Пасля таго, як тэст пройдзены, праграміст можа рэарганізаваць праект, уносячы паляпшэнні без змены паводзін.
У той час як TDD засяроджваецца на ўзаемадзеянні праграмістаў на ўзроўні адзінак, ёсць і іншыя папулярныя метады, такія як распрацоўка, арыентаваная на прыёмачныя тэсты (ATDD) або распрацоўка, арыентаваная на паводзіны (BDD), якія сканцэнтраваны на тэстах, зразумелых кліентам.
Гэтыя метады прадугледжваюць стварэнне рэальных прыкладаў у выглядзе сумесных тэстаў паміж інжынерным персаналам і кліентам перад кадзіраваннем, а затым запуск тэстаў пасля кадавання, каб прадэманстраваць, што код рэалізаваны. Наяўнасць тэстаў, вядомых загадзя, паляпшае якасць першага разу. ATDD і BDD патрабуюць ад распрацоўшчыкаў, тэсціроўшчыкаў і дзелавых колаў працаваць разам, каб уявіць і абмеркаваць праграмнае забеспячэнне і яго наступствы перад стварэннем кода.
Тэставая распрацоўка можа ствараць высакаякасныя прыкладанні за меншы час, чым гэта магчыма з дапамогай старых метадаў. Паспяховае ўкараненне TDD патрабуе ад распрацоўшчыкаў і тэсціроўшчыкаў дакладнага прадбачэння таго, як прыкладанне і яго функцыянальнасць будуць выкарыстоўвацца ў рэальным свеце.
TDD стварае набор рэгрэсіўных тэстаў у якасці пабочнага эфекту, які можа звесці да мінімуму ручное тэсціраванне чалавекам, выяўляючы праблемы раней, што прыводзіць да больш хуткіх рашэнняў. Метадычная прырода TDD забяспечвае значна большы ахоп і якасць першага разу, чым класічныя паэтапныя цыклы кода > тэст > выпраўленне > паўторнае тэставанне. Паколькі тэсціраванне праводзіцца на ранняй стадыі цыкла праектавання, час і грошы, затрачаныя на наступную адладку, зведзены да мінімуму.
Чаканыя перавагі:
TDD патрабуе значных навыкаў, каб дасягнуць поспеху, асабліва на ўзроўні падраздзялення. Многія састарэлыя сістэмы проста не створаны з улікам модульнага тэсціравання, што робіць немагчымым ізаляцыю кампанентаў для тэставання.
Акрамя таго, многім праграмістам не хапае навыкаў ізаляцыі і стварэння чыстага кода. Усе члены каманды павінны ствараць і падтрымліваць модульныя тэсты, інакш яны хутка састарэюць. І арганізацыі, якая шукае TDD, прыйдзецца ўкласці час, крыху запаволіць зараз, каб потым паскорыць.
Нарэшце, як і ў выпадку з любым метадам, канчатковыя вынікі TDD настолькі добрыя, наколькі добрыя тэсты, якія былі выкарыстаны, наколькі дакладна яны былі выкананы і наколькі яны імітуюць умовы, з якімі сутыкаюцца карыстальнікі канчатковага прадукту.
Частыя памылкі:
TDD дазваляе праграмісту рабіць маленькія крокі пры напісанні праграмнага забеспячэння. Тэст пішацца перад тэставаннем функцыянальнасці і гарантуе, што прыкладанне прыдатна для тэставання. Тэставанне невялікай колькасці кода праводзіцца для выяўлення памылак, якія ўзнікаюць у тэсціруемым кодзе. Затым функцыянал рэалізуецца. Гэта называецца "чырвона-зялёным рэфактарам", дзе чырвоны азначае правал, а зялёны - пропуск. Затым гэтыя крокі паўтараюцца. Першая мэта праграміста - засяродзіцца на пастаўленай задачы і пераадолець яе.
Ercole Palmeri
У паліклініцы Катаніі праведзена аперацыя афтальмапластыкі з выкарыстаннем камерцыйнай праграмы прагляду Apple Vision Pro…
Развіццё дробнай маторыкі з дапамогай размалёўкі рыхтуе дзяцей да больш складаных навыкаў, такіх як пісьмо. Размаляваць…
Ваенна-марскі сектар - гэта сапраўдная глабальная эканамічная сіла, якая перайшла да 150-мільярднага рынку...
У мінулы панядзелак Financial Times абвясціла аб здзелцы з OpenAI. FT ліцэнзуе сваю журналістыку сусветнага ўзроўню...