Izihloko

Iyini i-Test Driven Development, izindlela kanye nezinzuzo

I-Test Driven Development (TDD) iyindlela yokuthuthukisa isofthiwe lapho amacala okuhlola athuthukiswa khona ukuze kucaciswe futhi kuqinisekiswe lokho ikhodi ezokwenza.

Cishe izimo zokuhlola zesici ngasinye ziyadalwa futhi zihlolwe ngaphambi kokuba isofthiwe ikhishwe, futhi uma ukuhlola kuhluleka, ikhodi entsha iyabhalwa (noma ibhalwe kabusha noma ifakwe nezichibiyelo) ukuze kuphumelele ukuhlolwa futhi kwenziwe ikhodi ibe lula futhi ingabi nasiphazamisi.

I-Test Driven Development (TDD) iqala ngokuklama nokuthuthukisa izivivinyo zazo zonke izici ezincane kuhlelo lokusebenza. Uhlaka lwe-TDD luyala onjiniyela ukuthi babhale ikhodi entsha kuphela uma ukuhlola okuzenzakalelayo kuhlulekile. Le ndlela igwema ukuphindaphinda kwekhodi. Imojula ye-TDD ephelele iwukuthuthukiswa okuqhutshwa ukuhlolwa.

I-Test Driven Development (TDD) yaqalwa njengengxenye ye-paradigm yokwakheka kwesofthiwe enkulu eyaziwa ngokuthi i-Extreme Programming (XP), eyingxenye yendlela yokwenza isofthiwe ye-Agile.

Umqondo olula we-TDD ukubhala nokulungisa izivivinyo ezihlulekile ngaphambi kokubhala ikhodi entsha (ngaphambi kokuthuthukiswa). Lokhu kusiza ukugwema ukuphindaphinda kwekhodi njengoba sibhala inani elincane lekhodi ngesikhathi ukuze siphumelele ukuhlolwa. (Izivivinyo azilutho ngaphandle kwezimo ezidingekayo okufanele sizihlole ukuze sizinelise).

Ukuthuthukiswa okuqhutshwa ukuhlolwa kuyinqubo yokuthuthukisa nokusebenzisa izivivinyo ezizenzakalelayo ngaphambi kokuthuthukiswa kwangempela kohlelo lokusebenza. Ngakho-ke, i-TDD kwesinye isikhathi ibizwa nangokuthi i-Test First Development.

Izigaba zendlela ye-TDD

Ngaphambi kokuthi kubhalwe noma iyiphi ikhodi entsha, umhleli kufanele aqale enze ukuhlolwa kweyunithi okuhlulekayo. Bese, umhleli - noma umbhangqwana, noma isixuku - udala ikhodi eyanele ukwanelisa leyo mfuneko. Uma ukuhlolwa sekudlulile, umhleli angakwazi ukwenza kabusha iphrojekthi, enze intuthuko ngaphandle kokushintsha ukuziphatha.

Nakuba i-TDD igxile ekusebenzelaneni komhleli wezinga leyunithi, zikhona ezinye izindlela ezidumile, ezifana nentuthuko eqhutshwa ukuhlolwa kokwamukela (ATDD) noma i-behaviour-driven development (BDD), egxile ekuhloleni okungaqondwa amakhasimende.


Lezi zindlela zibandakanya ukwakha izibonelo zomhlaba wangempela njengokuhlola okuhlanganyelwayo phakathi kwezisebenzi zobunjiniyela nekhasimende ngaphambi kokufaka amakhodi, bese kwenziwa izivivinyo ngemva kokufaka ikhodi ukuze kuboniswe ukuthi ikhodi iyasebenza. Ukwaziwa ngokuhlolwa kusengaphambili kuthuthukisa ikhwalithi yokuqala. I-ATDD ne-BDD zidinga onjiniyela, abahloli kanye nohlangothi lwebhizinisi ukuthi basebenzisane ukuze bacabange futhi baxoxe ngesofthiwe nemithelela yayo ngaphambi kokuba ikhodi idalwe.

Izinzuzo ze-TDD

Ukuthuthukiswa okuqhutshwa ukuhlolwa kungakhiqiza izinhlelo zokusebenza zekhwalithi ephezulu ngesikhathi esincane kunalokho okungenzeka ngezindlela ezindala. Ukuqaliswa ngempumelelo kwe-TDD kudinga onjiniyela nabahloli balindele ngokunembile ukuthi uhlelo lokusebenza kanye nokusebenza kwalo kuzosetshenziswa kanjani emhlabeni wangempela.

Innovation newsletter
Ungaphuthelwa yizindaba ezibaluleke kakhulu zokuqamba. Bhalisa ukuze uthole nge-imeyili.

I-TDD yakha i-suite yokuhlola ukuhlehla njengomthelela oseceleni onganciphisa ukuhlolwa komuntu ngesandla, ukuthola izinkinga ngaphambi kwesikhathi, okuholela ezisombululweni ezisheshayo. Imvelo ye-Methodical ye-TDD iqinisekisa ukumbozwa kokuqala okuphezulu kakhulu kanye nekhwalithi kunemijikelezo yekhodi enezigaba yakudala > ukuhlola > ukulungisa > ukuhlola kabusha. Ngenxa yokuthi ukuhlola kwenziwa ekuqaleni komjikelezo wokuklama, isikhathi nemali echithwa ukulungisa amaphutha kamuva kuyancishiswa.

Izinzuzo ezilindelwe:

  • ukuncipha okuphawulekayo kwamazinga okukhubazeka, ngezindleko zokukhuphuka okulinganiselwe emzamweni wokuthuthukiswa kokuqala
  • izindleko ze-overhead zingaphezu kokulungiswa ukuncishiswa komzamo ezigabeni zokugcina zamaphrojekthi
  • I-TDD iholela ezimfanelweni zokuklama ezingcono kukhodi futhi, ngokuvamile, izinga eliphakeme "langaphakathi" noma ikhwalithi yobuchwepheshe, isibonelo ngokwenza ngcono ukuhlangana nokuhlanganisa amamethrikhi.

Ukungalungi kwe-TDD

I-TDD idinga ikhono elikhulu ukuze iphumelele, ikakhulukazi ezingeni leyunithi. Amasistimu amaningi amafa awakhiwanga kucatshangwa ngokuhlolwa kweyunithi, okwenza kube nzima ukuhlukanisa izingxenye zokuhlolwa.

Futhi, abahleli bohlelo abaningi abanawo amakhono okuhlukanisa nokudala ikhodi ehlanzekile. Wonke amalungu eqembu kufanele adale futhi anakekele ukuhlolwa kweyunithi noma azophelelwa yisikhathi ngokushesha. Futhi inhlangano ebheka i-TDD kuzodingeka itshale isikhathi, yehlise ijubane kancane manje ukuze ihambe ngokushesha kamuva.

Okokugcina, njenganoma iyiphi indlela, imiphumela yokugcina ye-TDD mihle kuphela njengokuhlola okusetshenzisiwe, ukuthi kwenziwa ngokunembe kangakanani, kanye nezinga elingisa ngalo izimo ezitholwa abasebenzisi bomkhiqizo wokugcina.

Amaphutha ajwayelekile:

  • ukukhohlwa ukwenza izivivinyo njalo
  • bhala izivivinyo eziningi kakhulu ngesikhathi esisodwa
  • bhala izivivinyo ezinkulu kakhulu noma ezimbi kakhulu
  • ukubhala izivivinyo ezingasho lutho kakhulu, njengokuyeka ukugomela
  • bhala izivivinyo zekhodi encane
  • ukutholwa ngokwengxenye: onjiniyela abambalwa kuphela eqenjini elisebenzayo abasebenzisa i-TDD
  • ukulungiswa okungalungile kwesuite yokuhlola, okuvamise ukuholela kuhlelo lokuhlola olunesikhathi eside ngendlela enqatshelwe
  • i-test suite ilahliwe (okungukuthi ayivamile noma ayisoze yasebenza) - ngezinye izikhathi ngenxa yokungalungiswa kahle, ngezinye izikhathi ngenxa yemali yeqembu

Ifilosofi ye-TDD

I-TDD ivumela umhleli ukuthi athathe izinyathelo zengane lapho ebhala isofthiwe. Ukuhlolwa kubhalwa ngaphambi kokuhlola ukusebenza futhi kuqinisekisa ukuthi isicelo sifanele ukuhlolwa. Ukuhlola inani elincane lekhodi kwenzelwa ukubamba amaphutha avela kukhodi ehloliwe. Khona-ke ukusebenza kuyaqaliswa. Lokhu kubizwa ngokuthi "i-red green refactor" lapho okubomvu kusho ukwehluleka futhi okuluhlaza kukhombisa ukudlula. Lezi zinyathelo zibe ziphindaphindiwe. Umgomo wokuqala womklami ukugxila emsebenzini owenziwayo futhi awunqobe.

Izigaba ezahlukahlukene ezibandakanyekayo kumjikelezo wokuthuthukiswa oqhutshwa ukuhlolwa yilezi:
  • Engeza Ukuhlola: Zonke izici ezintsha ku-TDD ziqala ngokuhlolwa okufanele kuhluleke njengoba kubekwa ngaphambi kokuba noma yisiphi isici sisetshenziswe. Imfuneko yokubhala isivivinyo ngaphambi kokufaka isici ukuqonda okucacile kwemfuneko kanjiniyela. Lokhu kufinyelelwa ngezindaba zabasebenzisi kanye namacala okusetshenziswa. Ngakho-ke unjiniyela uyayiqonda imfuneko ngaphambi kokubhala ikhodi yohlelo.
  • Qalisa zonke izivivinyo futhi uhlole ukuthi ikhodi entsha iyehluleka yini: lokhu kuqinisekisa ukuthi ihhanisi lokuhlola lisebenza ngendlela efanele nokuthi ukuhlola okusha akuhluleki ngaphandle kwekhodi entsha. Lesi sinyathelo siphinde siqinisekise ukuhlolwa futhi sisuse ukuthi kungenzeka ukuthi ukuhlolwa okusha kuzohlale kudlula.
  • Bhala Ikhodi: Isinyathelo esilandelayo esilandelayo ukubhala ikhodi esula isivivinyo. Ikhodi entsha ayilungile kodwa ibuye ilungiswe ngokwezidingo. Idizayinelwe nje ukuhlola futhi ayipakishi ezinye izici.
  • Qalisa Ukuhlola Okuzenzakalelayo: Uma ikesi ngalinye lokuhlola elikhiqizwayo liphumelela isivivinyo kalula, kusho ukuthi ikhodi ihlangabezana nazo zonke izicaciso ezidingekayo. Khona-ke isigaba sokugcina somjikelezo singaqalwa.
  • Ikhodi yokwenza kabusha: Lokhu kufana nokususa impinda. Ukwenza kabusha akuphuli noma yikuphi ukusebenza okukhona futhi kusiza ukususa impinda phakathi kokukhiqiza nekhodi yokuhlola. Ikhodi manje isihlanzwe njengoba kudingeka.
  • Phinda: Umjikelezo uyaphinda njengoba kwenzeka ezimweni ezedlule ngokuhlolwa okusha. Isidingo esibalulekile ukuthi usayizi wesinyathelo mncane, cishe nezinguquko ezi-1-10 phakathi kokuhlolwa ngakunye. Uma ikhodi entsha yehluleka ukuhlolwa okusha, umhleli wezinhlelo kufanele enze ukulungisa okuningi. Ukuhlanganiswa okuqhubekayo kunikeza izindawo zokuhlola ezihlehliswayo.

Ercole Palmeri

Innovation newsletter
Ungaphuthelwa yizindaba ezibaluleke kakhulu zokuqamba. Bhalisa ukuze uthole nge-imeyili.

Izihloko zakamuva

Ukungenelela okusha ku-Augmented Reality, ngesibukeli se-Apple e-Catania Polyclinic

Ukuhlinzwa kwe-ophthalmoplasty kusetshenziswa isibukeli sezentengiso se-Apple Vision Pro kwenziwa eCatania Polyclinic…

3 May 2024

Izinzuzo Zokufaka Umbala Amakhasi Ezingane - umhlaba womlingo wayo yonke iminyaka

Ukuthuthukisa amakhono amahle emisipha ngokusebenzisa imibala kulungiselela izingane amakhono ayinkimbinkimbi njengokubhala. Ukufaka umbala...

2 May 2024

Ikusasa Lilapha: Imboni Yezokuthumela Imikhumbi Iwuguqula Kanjani Umnotho Womhlaba

Umkhakha wezempi wasolwandle ungamandla ezomnotho weqiniso emhlabeni jikelele, osudlule wafinyelela emakethe yezigidigidi eziyi-150...

1 May 2024

Abashicileli kanye nezivumelwano ze-OpenAI zisayina ukuze zilawule ukuhamba kolwazi olucutshungulwa yi-Artificial Intelligence

NgoMsombuluko odlule, i-Financial Times imemezele isivumelwano ne-OpenAI. I-FT inikeza amalayisense ubuntatheli bayo obusezingeni lomhlaba…

30 April 2024