Iinkonzo kunye neengozi zoPhuculo oluqhutywa ngovavanyo

Zithini izinto ezilungileyo nezingalunganga zoPhuculo oluqhutywa luvavanyo (TDD)?

Uvavanyo oluqhutywa luvavanyo yindlela yophuhliso lwesoftware apho ubhala khona kwaye ukubaleka iseti yeemvavanyo phambi kokuba ubhale ikhowudi.

Umbono kukuba ezo mvavanyo ziya kusilela ekuqaleni kwaye emva koko uqale ukubhala ikhowudi eyaneleyo ukuzama ukuba zonke iimvavanyo ziphumelele. Ukuba zonke iimvavanyo ziphumelele kunokuba ngumlinganiso weekhrayitheriya ezenziwe (ukwenziwa kwe-dev) kunye nokwandisa ukuzithemba kumgangatho wekhowudi.


Oko kwathethi, njengazo naziphi na ezinye iindlela zophuhliso kukho ubuchule kunye neengozi ezinxulumene ne-TDD. Apha, sidwelisa ezinye zazo, kodwa ngaphambi koko, kungcono ukucacisa amanqaku:

  • Ukwenza uvavanyo lweyunithi akuthethi ukuba wenze i-TDD. Unokwenza eyokuqala ngaphandle kweyesibini. Ngapha koko, ungayenza i-TDD ngaphandle kovavanyo lweyunithi (kodwa uninzi lwabantu lwenza njalo), kule meko, abantu bayancedisa kuvavanyo lweyunithi ngokubanzi kunye nezinye incasa zovavanyo. Into oyifunayo ngokuqinisekileyo kukuvavanya ngokuzenzekelayo, nokuba ziyintoni na.
  • Unokwenza i-TDD yokuvavanywa kwebhokisi emhlophe, ukuvavanya ikhowudi yakho. Kodwa unokwenza i-TDD yokuvavanywa kwebhokisi emnyama, into ehlala ibizwa ngokuba luPhuculo oluqhutywa kukuziphatha.

Ngokwesiko, inkqubo yayikukufaka ikhowudi kwiimodyuli ezininzi kwaye emva koko ubhale iimvavanyo zeyunithi ukuqinisekisa ikhowudi. Le yeyokuqala eyikhowudi, kuvavanyo lwamva. Kodwa ukuba emva kokufaka iikhowudi akukho xesha okanye utyhalelwe ukukhutshwa, yonke into yovavanyo lweyunithi iyatsiba, okanye kwenziwa kakuhle ukubuyela umva.


Ngoku, kwiingenelo kunye neengozi ze-TDD:



Iinkonzo zoPhuculo oluqhutywa luvavanyo

  • Kuba ubhala iimvavanyo ezincinci ngexesha, inyanzela ikhowudi yakho ukuba ibe neemodyuli ngakumbi (kungenjalo kuya kuba nzima ukuvavanya ngokuchasene nayo). I-TDD ikunceda ukuba ufunde, uqonde kwaye ungene ngaphakathi kwimigaqo ephambili yoyilo lweemodyuli ezilungileyo.
  • I-TDD inyanzelisa uyilo olulungileyo. Ukuze ikhowudi yakho ivavanywe, kufuneka imodareyithwe ngokufanelekileyo. Ukubhala iimvavanyo kuqala, iingxaki ezahlukeneyo zokwakha zihlala zivele ngaphambili.
  • Amaxwebhu ekhowudi yakho angcono kunamaxwebhu (awaphumi kumhla ukusukela oko uqhuba ngalo lonke ixesha).
  • Yenza ikhowudi kube lula ukuyigcina kunye nokuphinda isebenze kwakhona. I-TDD inceda ukubonelela ngokucacileyo ngexesha lenkqubo yokuphumeza kwaye ibonelele ngomnatha wokhuseleko xa ufuna ukuphinda wenze ikhowudi oyibhalileyo.
  • Yenza intsebenziswano ibe lula kwaye isebenze ngakumbi, amalungu eqela anokuhlela ikhowudi nganye ngokuzithemba kuba iimvavanyo ziya kubazisa ukuba utshintsho lwenza ukuba ikhowudi iziphathe ngeendlela ezingalindelekanga.
  • Kuba i-TDD inyanzela ukuba ubhale iimvavanyo zecandelo ngaphambi kokubhala ikhowudi yokuphumeza, ukuphinda wenze ikhowudi kuba lula kwaye kuyakhawuleza. Ukuphinda ubhale ikhowudi ebhalwe kwiminyaka emibini eyadlulayo nzima . Ukuba loo khowudi ixhaswa siseti yovavanyo lweyunithi elungileyo, inkqubo yenziwa lula kakhulu.
  • Inceda ukuthintela iziphene- ewe, ubuncinci iyakunceda ufumane imiba yoyilo okanye imfuneko kwasekuqaleni. I-TDD ibonelela ngesilumkiso kwangoko kuyilo lweengxaki (xa kulula ukuzilungisa).
  • Inceda abaprogram ukuba baqonde ngokwenene ikhowudi yabo.
  • Yenza isuti yovavanyo oluzenzekelayo, ngokukodwa simahla. i.e. awudingi ukuchitha ixesha emva koko ubhala iimvavanyo zeyunithi ukuvavanya ikhowudi yokuphumeza.
  • Ikhuthaza amanyathelo amancinci kwaye iphucula uyilo kuba ikwenza usike ukuxhomekeka okungafunekiyo ukulungiselela ukuseta.
  • Kuyanceda ukucacisa iimfuno kuba kuya kufuneka uqonde ngokuqinisekileyo ukuba zeziphi izinto ekufuneka uzondle kunye neziphumo ozilindeleyo.
  • Uvavanyo lweyunithi lubaluleke kakhulu njengenetha lokhuseleko xa ikhowudi kufuneka itshintshwe ukuze kongezwe amanqaku amatsha okanye kulungiswe i-bug esele ikho. Kuba iiakhawunti zolondolozo ziphakathi kwe-60 kunye ne-90% yomjikelo wobomi besoftware, kunzima ukugqitha kwindlela ixesha elithatyathwe ngaphambili lokwenza iseti efanelekileyo yovavanyo lweyunithi inokuzihlawula yona iphindaphindwe ngaphezulu kobomi beprojekthi.
  • Ukuvavanywa ngelixa ubhala kuyakunyanzela ukuba uzame ukwenza ujongano lwakho lucoce ngokwaneleyo ukuba luvavanywe. Ngamanye amaxesha kunzima ukubona uncedo lwale nto de ube usebenza kumzimba wekhowudi apho ungakhange wenziwe khona, kwaye ekuphela kwendlela yokwenza umthambo kunye nokugxila kwisiqwenga sekhowudi kukuqhuba yonke inkqubo kwaye usete indawo yokuphumla .
  • Iimpazamo 'zobudenge' zibanjwa phantse kwangoko. Inceda abaphuhlisi ukuba bafumane iimpazamo eziza kuchitha ixesha lomntu wonke ukuba bafunyanwa kwi-QA.


Umngcipheko woPhuculo oluqhutywa ngovavanyo

  • Indawo yovavanyo nayo kufuneka igcinwe; iimvavanyo zinokungagqibi ngokupheleleyo (okt ukuxhomekeka kwangaphandle).
  • Iimvavanyo kunokuba nzima ukuzibhala, esp. ngaphaya kwenqanaba lokuvavanywa kweyunithi.
  • Ekuqaleni, kunciphisa ukukhula; kwimimandla yokuqalisa ngokukhawuleza ngokukhawuleza ikhowudi yokuphumeza isenokungakulungeli ixesha elithile ngenxa yokuchitha ixesha ubhala iimvavanyo kuqala. (Kodwa ekuhambeni kwexesha, ikhawulezisa ukukhula)
  • Njengayo nayiphi na inkqubo, kukho umahluko omkhulu phakathi kokuyenza kunye nokwenza kakuhle. Ukubhala iimvavanyo ezifanelekileyo zeyunithi yindlela yobugcisa. Lo mba we-TDD uhlala ungaxoxwa ngawo, abaphathi abaninzi badla ngokugxila kwiimethrikhi ezinje ngokugubungela ikhowudi; ezo metric azikuxeleli nto malunga umgangatho kovavanyo lweyunithi.
  • Ukuvavanywa kweyunithi yinto ekufuneka iqela lonke lithenge kuyo.
  • Umngeni wokufunda. Inokoyikisa kwaye akukho lula ukuba nabani na ayifunde ekuqaleni, ngakumbi ukuzama ukuyifunda ngokwakho. Ifuna ukuzinikela okuninzi (uqeqesho, ukuziqhelanisa, ukuzingisa) kwaye kufuneka ube unenjongo ofuna ukuqhubeka nokuphucula kuyo.
  • Kunzima ukufaka isicelo kwikhowudi ekhoyo yelifa.
  • Uninzi lweengcinga eziphosakeleyo ezigcina abadwelisi benkqubo ukuba bayifunde.
  • Kunzima ukuqala ukusebenza ngale ndlela. Ingakumbi ukuba uneminyaka emininzi usebenza ngenye indlela.
  • Ngamanye amaxesha kufuneka uhlekise ngezinto ezininzi okanye izinto ekunzima ukuzihlekisa. Inenzuzo kwixesha elide, kodwa kubuhlungu ngoku.
  • Kuya kufuneka uqhubeke nokugcina indlu. Ngenxa yokuba ukubhukisha ngakumbi nangakumbi iimvavanyo zenza ukuba wakhe ixesha elide nangaphezulu, kuyimfuneko ukuphucula ezo mvavanyo ukuze zibaleke ngokukhawuleza okanye ukususa iimvavanyo ezingafunekiyo.
  • Njengazo naziphi na iindlela ezilungileyo, ukuvavanywa kweyunithi kunokuqhutywa ngokugqithileyo. Ezona zibonelelo zinkulu zivela kumzamo ophakathi, kunye novavanyo oluhlala lusebenzisa ikhowudi ngendlela elula. Ukuba uzibona uhlala uphinda uvavanyo lwakho, kukho ithuba elihle lokuba uchitha ixesha elininzi kwindawo yovavanyo.
  • Kungaba lula ukuphazamiseka yi 'fluff' okanye izinto ezintle kwisakhelo sokuvavanya iyunithi. Kuya kufuneka sikhumbule ukuba iimvavanyo ezilula zezona zikhawulezayo ukwenza kwaye kulula ukuzilawula.
  • Nangona kunyanzelekile, ukudala iimvavanyo zokungaphumeleli kunokuba nzima, kodwa kunomvuzo omkhulu ekugqibeleni.
  • Inqanaba lokuqala lokuphinda usebenze kwakhona lifuna ukuphinda usebenze kwakhona kwiiklasi zovavanyo.
  • Ngaphandle kokuba wonke umntu kwiqela eligcina ngokuchanekileyo iimvavanyo zabo, inkqubo yonke inokukhawuleza ukuthoba.