- Уводзіны да канцэпцыі зруху ўлева
- Што такое тэставанне зруху ўлева?
- Як гэта Зрух налева ўплывае на распрацоўку праграмнага забеспячэння?
- Што павінны рабіць тэстары па-іншаму пры зруху налева?
- Перавагі тэсціравання са зрухам налева
- Выснова
Дайце нам свае думкі/прапановы ў раздзеле каментарыяў ніжэй.
PREV Падручнік
Канцэпцыя тэсціравання праграмнага забеспячэння была ўведзена паступова, калі вытворчыя дэфекты пачалі скарачаць бюджэт праекта, і, такім чынам, «функцыянальнае тэсціраванне» пачало дзейнічаць з вельмі сціплай камандай тэсціроўшчыкаў. У той момант мы былі толькі двума тэсціроўшчыкамі супраць каманды з 20 распрацоўшчыкаў.
ІТ-індустрыя пачала прытрымлівацца мадэлі вадаспаду для распрацоўкі праграмнага забеспячэння, у якой, як мы ўсе ведаем , жыццёвы цыкл распрацоўкі праграмнага забеспячэння праходзіць паслядоўна ў парадку .
Такім чынам, калі вы пачынаеце злева направа, фаза тэсціравання знаходзіцца ў крайнім правым краі жыццёвага цыкла распрацоўкі праграмнага забеспячэння.
Уводзіны да канцэпцыі зруху ўлева
На працягу пэўнага перыяду часу людзі ўсвядомілі важнасць Тэставання праграмнага забеспячэння і ўплыў захавання «Фазы тэсціравання» ў крайнім правым краі або ў канцы жыццёвы цыкл распрацоўкі праграмнага забеспячэння. Гэта ўсведамленне адбылося таму, што кошт памылкі, выяўленай у бок крайніх правых, і ў выніку быў вельмі высокім і велізарнымі намаганнямі & патрабавалася занадта шмат часу, каб іх выправіць.
Былі выпадкі, калі пасля выдаткаў столькі часу і намаганняў на праграмнае забеспячэнне, з-за важнай памылкі, выяўленай у канцы, крытычна важнае праграмнае забеспячэнне не магло быць выпушчана для рынку, што прывяло да велізарных страт.
Такім чынам, з-за ідэнтыфікацыі памылкі на апошнім этапе альбо рэліз быў адкладзены, альбочасам праграмнае забеспячэнне было адменена з улікам намаганняў, неабходных для іх выпраўлення, якія сапраўды не вартыя таго.
'Дэфекты каштуюць танней, калі іх выяўляюць рана.
Гэта ўсведамленне і вялікі атрыманы ўрок прывялі да вялікай рэвалюцыі ў індустрыі праграмнага забеспячэння і нарадзілі новую канцэпцыю пад назвай "Зрух улева" , што азначае зрух «Фазы тэсціравання» злева ад права або ўключэнне тэсціравання на кожным этапе з удзелам тэсціроўшчыкаў на ўсім працягу.
Зрух тэсціравання налева таксама азначае, што проста не тэстуйце ў канцы, а тэст бесперапынна.
Што такое тэставанне зруху ўлева?
Па-першае, прынцып «зруху ўлева» дапамагае камандзе тэсціравання супрацоўнічаць з усімі зацікаўленымі бакамі на ранніх стадыях распрацоўкі праграмнага забеспячэння . Такім чынам, яны могуць дакладна зразумець патрабаванні і распрацаваць тэставыя прыклады, каб дапамагчы праграмнаму забеспячэнню "хутка адмовіцца" і дазволіць камандзе выправіць усе збоі як мага раней.
Падыход "Зрух налева" - гэта не што іншае, як прыцягненне тэсціроўшчыкаў значна раней. у жыццёвым цыкле распрацоўкі праграмнага забеспячэння, што, у сваю чаргу, дазволіць ім зразумець патрабаванні, дызайн праграмнага забеспячэння, архітэктуру, кадзіраванне і яго функцыянальнасць, задаваць цяжкія пытанні кліентам, бізнес-аналітыкам і распрацоўшчыкам, шукаць тлумачэнні і прадастаўляць зваротную сувязь, калі гэта магчыма для падтрымкі каманда.
Гэты ўдзел і разуменне будуцьпрывесці тэсціроўшчыкаў да атрымання поўных ведаў аб прадукце, прадумвання розных сцэнарыяў і распрацоўкі сцэнарыяў у рэальным часе на аснове паводзін праграмнага забеспячэння, якія дапамогуць камандзе выявіць дэфекты яшчэ да завяршэння кадавання.
Як гэта Зрух налева ўплывае на распрацоўку праграмнага забеспячэння?
Падыход Shift Lift уплывае на распрацоўку праграмнага забеспячэння некалькімі спосабамі.
Ніжэй прыведзены некалькі ключавых момантаў пра Shift Left:
- Падыход «Зрух налева» засяроджваецца на ўцягванні тэсціроўшчыкаў ва ўсе і, што найбольш важна, на крытычных этапах праграмы . Гэта дазваляе тэсціроўшчыкам пераключыць сваю ўвагу з выяўлення дэфектаў на прадухіленне дэфектаў і дасягнуць бізнес-мэтаў праграмы.
- Падыход зруху налева забяспечвае вялікую важнасць тэсціравання , дзякуючы чаму ролі і абавязкі тэсціроўшчыкаў значна ўзрастаюць.
- Паколькі адказнасць каманды тэсціравання павялічваецца, каманда проста не засяроджваецца на 'Тэставанне праграмнага забеспячэння для ідэнтыфікацыі bugs' , але актыўна працуе з камандай з пачатковых этапаў, каб спланаваць і пабудаваць надзейную і эфектыўную стратэгію тэсціравання, забяспечваючы выдатнае кіраўніцтва тэсціраваннем і рэкамендацыі для каманды, засяродзіўшы ўвагу на доўгатэрміновым бачанні прадукту, а не проста браць на сябе адказнасць за працу па тэсціраванні.
- Падыход зруху налева дае магчымасць для тэсціроўшчыкаў спачатку распрацаваць тэсты , дзе тэсты цалкам сканцэнтраваны на ўражанні ад кліентаў і іх чаканнях, што, у сваю чаргу, дазволіць распрацоўшчыкам распрацоўваць праграмнае забеспячэнне на аснове гэтых тэстаў і, такім чынам, задаволіць патрэбы кліентаў.
- Падыход «Зрух улева» не заканчваецца толькі тэстарамі. Перамяшчэнне і бесперапыннае правядзенне тэсціравання таксама дазволіць Распрацоўшчыкам узяць на сябе большую ўласнасць над сваім кодам і павялічыць іх адказнасць па тэсціраванні.
- Змена Левы падыход таксама заахвочвае тэсціроўшчыкаў прыняць BDD, арыентаваную на паводзіны, і TDD, арыентаваную на тэставанне , што дапамагае прадухіліць узнікненне дэфектаў у праграмным забеспячэнні.
- Тэставанне Shift Left у Agile: падыход Shift Left падтрымлівае фарміраванне каманд Agile Scrum, якія ў абавязковым парадку ўключаюць тэстараў разам з іншымі ролямі і ўключаюць тэсціроўшчыкаў у рэгулярныя званкі, іншыя ўзаемадзеянні, аглядныя сустрэчы, дзякуючы якім тэсціроўшчыкі атрымалі больш інфармацыі аб праграме і, такім чынам, дазволілі ім прыняць удзел у дэталёвым аналізе праграмнага забеспячэння і забяспечыць хуткую зваротную сувязь, якая дапаможа прадухіліць дэфекты, звязаныя з праграмным забеспячэннем.
Агульнае тэсціраванне зруху ўлева патрабуе ад тэсціроўшчыкаў "Далучацца да пачатку" , як мага раней іудзельнічаць у абмеркаванні і супрацоўнічаць над ідэямі, патрабаваннямі на кожным этапе, калі вынік этапу мае дачыненне да каштоўнасці канчатковага выніку, а таксама дапамагае праекту загадзя вызначыць рызыкі і паменшыць іх.
Што павінны рабіць тэстары па-іншаму пры зруху налева?
Ніжэй прыведзены некалькі ключавых фактараў, на якія трэба звярнуць увагу, як тое, што тэстары робяць па-рознаму ў Стратэгіі зруху ўлева:
№1) Каманда тэставання неабходна задзейнічаць сістэму на ранняй стадыі з моманту ініцыяцыі праекта , каб развіваць інтэграцыю з астатняй камандай і бізнесам, каб прадастаўляць карысныя ўклады на кожным этапе распрацоўкі праграмнага забеспячэння.
#2) Каманда тэсціравання павінна супрацоўнічаць з Business & Аперацыйная група і дасягаюць яснасці ў праграме і забяспечваюць дакладнае ўяўленне аб попытах і дапамагаюць у эфектыўным планаванні патрэбаў у нарошчванні рэсурсаў, патрэбаў у навучанні і патрабаванняў да інструментаў тэсціравання праграмы. загадзя.
#3) Тэставыя групы павінны ўзаемадзейнічаць з усімі зацікаўленымі бакамі ў бізнэсе на ранніх этапах распрацоўкі праграмнага забеспячэння, каб атрымаць ясную бачнасць прадукту & распрацаваць уніфікаваную стратэгію тэсціравання і спланаваць аптымізаваныя намаганні па тэсціраванні, прааналізаваць залежнасць ад тэставых асяроддзяў, трэціх бакоў, заглушак і г.д., а таксама падрыхтаваць надзейная стратэгія і структура аўтаматызацыі і стварэнне эфектыўнага кіравання тэставымі дадзеныміплан.
#4) Тэставая каманда павінна працаваць з астатняй камандай, каб забяспечыць выдатнае кіраўніцтва тэсціраваннем і кіраўніцтва камандай тым самым захоўваючы доўгатэрміновае бачанне прадукту, а не проста бяручы на сябе адказнасць за дзейнасць па тэсціраванні.
#5) Патрабаванні з'яўляюцца ключом і асновай для поспеху любой праграмы і добра- вызначаныя патрабаванні вызначаюць поспех праекта. На этапе планавання патрабаванняў тэсціроўшчыкі неабходна праглядзець і прааналізаваць патрабаванні на наяўнасць двухсэнсоўнасці, большай яснасці, паўнаты, магчымасці тэставання, вызначэння крытэрыяў прыняцця і г.д.
Таксама трэба вызначыць адсутныя патрабаванні (калі такія маюцца), а таксама зразумець залежнасці і стратэгіі рэалізацыі. Ачыстка патрабаванняў дапамагае праграмнаму забеспячэнню "хутка выходзіць з ладу" і выпраўляць усе збоі як мага раней.
#6) Унясіце дастаткова яснасці і дакладнасці ў патрабаванні, выявіўшы рэальныя прыклады , якія ілюструюць функцыі, якія выкарыстоўваюцца.
#7) Тэсціроўшчыкі павінны прысутнічаць на сустрэчах па аглядзе дызайну рэгулярна і разумець дызайн і архітэктуру прадукту і выяўляць недахопы канструкцыі, прапаноўваць альтэрнатыўныя варыянты канструкцыі, вызначаць шчыліны і ствараць тэставыя сцэнары адпаведна, каб зламаць канструкцыі.
#8) Тэстыроўшчыкі павінны правесці статычнае тэсціраванне (агляды) задоўга да пачатку і даць водгук аб ключавым праекцедакументы, каб дэфекты не ўкараніліся ў праграмнае забеспячэнне і пазней не пашырылі яго эфект.
#9) Каманда тэсціроўшчыкаў павінна супрацоўнічаць з групай дызайнераў і распрацоўшчыкаў у прадастаўленне тэставых сцэнарыяў загадзя для распрацоўкі кода і разгляду ўсіх магчымых сцэнарыяў у рэальным часе і бізнес-плыняў.
#10) Каманда тэсціравання павінна распрацаваць моцныя і надзейныя сцэнарыі тэсціравання так што падчас тэсціравання выяўляюцца толькі некалькі дэфектаў і прадухіляюцца сур'ёзныя дэфекты на этапе тэсціравання.
#11) Тэсціроўшчыкі павінны тэсціраваць як мага раней , незалежна ад таго, у аўтаномнай або лакальнай сістэме, каб дэфект не перайшоў на наступныя этапы.
Уся сутнасць канцэпцыі «зруху налева» для тэсціроўшчыкаў заключаецца ў пошуку дэфектаў як мага раней усімі магчымымі спосабамі.
Перавагі тэсціравання са зрухам налева
Падыход зруху ўлева працуе на аснове гнуткага маніфеста і таксама мае некалькі пераваг.
Яны:
- Асобы і ўзаемадзеянне над працэсамі і інструменты.
- Працоўнае праграмнае забеспячэнне над усёабдымнай дакументацыяй.
- Супрацоўніцтва з кліентамі па заключэнні кантракта.
- Адказ на змяніць прытрымліваючыся плана.
Мы можам бачыць, што хоць каштоўнасць ёсць у элементах справа, мы цэнім больш для элементаў з левага боку.
Ну, зрух налева прыкладнаукараненне ідэі тэсціравання на ранніх этапах працэсу, што прыводзіць да лепшага і больш эфектыўнага тэсціравання і паляпшэння якасці праграмнага забеспячэння.
У двух словах, працэс тэсціравання зруху ўлева:
- Ранняе выяўленне дэфектаў, што зніжае кошт праекта.
- Пастаяннае тэсціраванне зноў і зноў, каб у рэшце рэшт паменшыць колькасць дэфектаў.
- Каб аўтаматызаваць усё і скараціць час выхаду на рынак.
- Каб засяродзіцца на патрабаваннях кліентаў і палепшыць вопыт кліентаў.
Выснова
Канцэпцыя "Зрух улева" прынесла велізарную трансфармацыю для ўсёй ролі "Тэставанне". Да таго часу тэсціраванне засяроджвалася толькі на «Выяўленні дэфектаў», а цяпер мэтай «Зруху ўлева» з пункту гледжання тэсціравання з'яўляецца шлях ад «Ранняе выяўленне дэфектаў да статычнага тэсціравання» .
Такім чынам, зрух улева - гэта вялікі скачок у індустрыі праграмнага забеспячэння ў метадалогіі распрацоўкі праграмнага забеспячэння ў напрамку хуткасці выхаду на рынак, паляпшэння якасці праграмнага забеспячэння і скарачэння часу выхаду на рынак.
Пра аўтара: Гэты артыкул напісаны членам каманды STH Гаятры Субрахманьямам. Яна займаецца тэсціраваннем праграмнага забеспячэння з 90-х гадоў, як раз тады, калі ў індустрыі была ўведзена роля тэстара. Падчас сваёй кар'еры тэсціравання яна правяла шмат ацэнак TMMI, работ па індустрыялізацыі тэстаў і наладжвання TCOE у дадатак да апрацоўкі паставак тэстаў і