Articles

Test Driven Development ke eng, mekhoa le melemo

Test Driven Development (TDD) ke mokhoa oa nts'etsopele ea software moo linyeoe tsa liteko li hlahisoang ho hlakisa le ho netefatsa seo khoutu e tla se etsa.

Hoo e batlang e le linyeoe tsa tlhahlobo bakeng sa karolo ka 'ngoe li bōptjoa le ho lekoa pele software e lokolloa, 'me haeba tlhahlobo e hlōleha, khoutu e ncha e ngotsoe (kapa e ngotsoe bocha kapa e patiloe) ho fetisa tlhahlobo le ho etsa hore khoutu e be bonolo ebile e se na likokoana-hloko.

Test Driven Development (TDD) e qala ka ho rala le ho nts'etsapele liteko bakeng sa karolo e ngoe le e ngoe e nyane ts'ebelisong. Moralo oa TDD o laela bahlahisi ho ngola khoutu e ncha ha feela tlhahlobo e ikemetseng e hlolehile. Mokhoa ona o qoba phetiso ea khoutu. Mojule oa TDD o felletseng ke nts'etsopele e tsamaisoang ke liteko.

Test Driven Development (TDD) e simolohile e le karolo ea paradigm e kholoanyane ea moralo oa software e tsejoang ka hore ke Extreme Programming (XP), eo e leng karolo ea mokhoa oa nts'etsopele ea software ea Agile.

Khopolo e bonolo ea TDD ke ho ngola le ho lokisa liteko tse hlōlehileng pele u ngola khoutu e ncha (pele ho nts'etsopele). Sena se thusa ho qoba ho pheta-pheta ha khoutu ha re ntse re ngola palo e nyane ea khoutu ka nako ho feta liteko. (Liteko ha se letho haese maemo a hlokahalang ao re tlamehang ho a leka ho a khotsofatsa).

Nts'etsopele e tsamaellanang le liteko ke ts'ebetso ea ho nts'etsapele le ho etsa liteko tse ikemetseng pele ho nts'etsopele ea 'nete ea kopo. Kahoo, TDD e boetse e bitsoa Test First Development.

Mekhahlelo ea mokhoa oa TDD

Pele khoutu efe kapa efe e ncha e ngoloa, moqapi o tlameha ho qala tlhahlobo ea yuniti e sa atleheng. Ebe, moqapi - kapa banyalani, kapa mokhopi - o theha khoutu e lekaneng ho khotsofatsa tlhoko eo. Hang ha tlhahlobo e feta, moetsi oa lenaneo a ka fetola morero, a ntlafatsa ntle le ho fetola boitšoaro.

Le hoja TDD e shebane le tšebelisano-'moho ea li-program tsa unit-level, ho na le mekhoa e meng e tsebahalang, e kang kamohelo e tsamaisoang ke liteko (ATDD) kapa ntlafatso e tsamaisoang ke boitšoaro (BDD), e shebaneng le liteko tse ka utloisisoang ke bareki.


Mekhoa ena e kenyelletsa ho aha mehlala ea lefats'e ea 'nete e le liteko tsa tšebelisano lipakeng tsa basebetsi ba boenjiniere le moreki pele o kenya likhoutu, ebe o etsa liteko ka mor'a ho kenya likhoutu ho bonts'a hore khoutu e kentsoe ts'ebetsong. Ho ba le liteko tse tsejoang esale pele ho ntlafatsa boleng ba lekhetlo la pele. ATDD le BDD li hloka hore baetsi, bahlahlobi le lehlakore la khoebo ba sebetse 'moho ho nahana le ho buisana ka software le liphello tsa eona pele khoutu e etsoa.

Melemo ea TDD

Nts'etsopele e tsamaisoang ke liteko e ka hlahisa lits'ebetso tsa boleng bo holimo ka nako e nyane ho feta kamoo ho ka khonehang ka mekhoa ea khale. Ts'ebetsong e atlehileng ea TDD e hloka hore bahlahisi le bahlahlobi ba lebelle ka nepo hore na ts'ebeliso le ts'ebetso ea eona li tla sebelisoa joang lefatšeng la 'nete.

Leselinyana la litaba tse ncha
Se ke oa fetoa ke litaba tsa bohlokoa ka ho fetisisa tsa boqapi. Ingolise ho li amohela ka lengolo-tsoibila.

TDD e theha setsi sa tlhahlobo ea regression e le phello e ka fokotsang tlhahlobo ea matsoho ea batho, ho fumana mathata pejana, ho lebisa ho tharollo e potlakileng. Sebopeho sa mokhoa oa TDD se tiisa ho fana ka tšireletso le boleng bo phahameng ka lekhetlo la pele ho feta mekhoa ea khale ea li-code cycles> test> fix> retest. Hobane tlhahlobo e etsoa qalong ea potoloho ea moralo, nako le chelete tse sebelisoang ho lokisa liphoso hamorao lia fokotseha.

Melemo e lebelletsoeng:

  • ho fokotseha ho hoholo ha litekanyetso tsa sekoli, ka litšenyehelo tsa keketseho e itekanetseng boitekong ba pele ba ntlafatso
  • litšenyehelo tse holimo li feta ho fokotsoa ke phokotso ea boiteko methating ea ho qetela ea merero
  • TDD e lebisa ho litšoaneleho tse ntle tsa moralo khoutu, 'me, ka kakaretso, tekanyo e phahameng ea "ka hare" kapa boleng ba tekheniki, mohlala ka ho ntlafatsa metrics ea ho kopanya le ho kopanya.

Melemo ea TDD

TDD e hloka tsebo e ngata hore e atlehe, haholo boemong ba yuniti. Litsamaiso tse ngata tsa lefa ha lia hahoa ho nahanoa ka tlhahlobo ea yuniti, e leng se etsang hore ho se khonehe ho arola likarolo tsa tlhahlobo.

Hape, baetsi ba mananeo ba bangata ha ba na tsebo ea ho itšehla thajana le ho theha khoutu e hloekileng. Litho tsohle tsa sehlopha li tlameha ho theha le ho boloka liteko tsa yuniti kapa li tla felloa ke nako kapele. 'Me mokhatlo o shebileng TDD o tla tlameha ho tsetela nako, o fokotsehe hanyane hona joale hore o tsamaee kapele hamorao.

Qetellong, joaloka mokhoa leha e le ofe, liphello tsa ho qetela tsa TDD li ntle feela joaloka liteko tse ileng tsa sebelisoa, hore na li entsoe ka nepo hakae, le hore na li etsisa maemo ao basebelisi ba sehlahisoa sa ho qetela ba kopanang le tsona hakae.

Liphoso tse tloaelehileng:

  • ho lebala ho etsa diteko kgafetsa
  • ngola liteko tse ngata haholo ka nako e le 'ngoe
  • ngola diteko tse kgolo kapa tse fetelletseng
  • ho ngola liteko tse sa reng letho, joalo ka ho tlohela lipolelo
  • ngola liteko bakeng sa khoutu e sa reng letho
  • ho nkeloa ka mokhoa o itseng: ke bahlahisi ba fokolang feela sehlopheng se sebetsang ba sebelisang TDD
  • tlhokomelo e fosahetseng ea suite ea liteko, hangata e lebisang setsing sa tlhahlobo se nkang nako e telele haholo
  • test suite e lahliloe (ke hore ha se hangata kapa ha ho mohla e mathang) - ka linako tse ling ka lebaka la tlhokomelo e fokolang, ka linako tse ling ka lebaka la phallo ea sehlopha

Filosofi ea TDD

TDD e lumella moqapi hore a nke mehato ea lesea ha a ngola software. Teko e ngotsoe pele e lekola ts'ebetso mme e netefatsa hore kopo e loketse tlhahlobo. Teko ka palo e nyane ea khoutu e etsoa ho tšoara liphoso tse hlahang khoutu e lekiloeng. Ebe tshebetso e kenngwa tshebetsong. Sena se bitsoa "red green refactor" moo bofubelu bo bolelang ho hlōleha 'me botala bo bontša ho feta. Joale mehato ena e phetoa. Sepheo sa pele sa moqapi oa lenaneo ke ho tsepamisa maikutlo mosebetsing o teng le ho o hlōla.

Mekhahlelo e fapaneng e amehang potolohong ea nts'etsopele e tsamaisoang ke liteko ke:
  • Eketsa Teko: Karolo e 'ngoe le e' ngoe e ncha ho TDD e qala ka tlhahlobo e tlamehang ho hloleha ha e ntse e beoa pele karolo efe kapa efe e kengoa tšebetsong. Tlhokahalo ea ho ngola tlhahlobo pele o kenya tšebetsong tšobotsi ke kutloisiso e hlakileng ea se hlokoang ke mohlahlami. Sena se finyelloa ka lipale tsa basebelisi le linyeoe tsa tšebeliso. Kahoo moqapi o utloisisa tlhokahalo pele a ngola khoutu ea lenaneo.
  • Etsa liteko tsohle 'me u hlahlobe hore na khoutu e ncha e hlōleha: sena se tiisa hore mochini oa teko o sebetsa ka nepo le hore tlhahlobo e ncha ha e hlolehe ntle le khoutu leha e le efe e ncha. Mohato ona o boetse o netefatsa tlhahlobo mme o felisa monyetla oa hore tlhahlobo e ncha e tla lula e feta.
  • Ngola Khoutu: Mohato o latelang o latelang ke ho ngola khoutu e hlakolang tlhahlobo. Khoutu e ncha ha e ea phethahala empa hamorao e fetotsoe ho latela litlhoko. E etselitsoe liteko feela 'me ha e na likarolo tse ling.
  • Etsa Liteko tse Ikemetseng: Haeba nyeoe e 'ngoe le e' ngoe e hlahisoang e feta tlhahlobo habonolo, ho bolela hore khoutu e kopana le litlhaloso tsohle tse hlokahalang. Joale mohato oa ho qetela oa potoloho o ka qalisoa.
  • Refactoring code: Sena se tšoana le ho tlosa phetisetso. Refactoring ha e senye ts'ebetso efe kapa efe e teng, 'me e thusa ho tlosa phetiso lipakeng tsa tlhahiso le khoutu ea tlhahlobo. Khoutu e se e hloekisitsoe joalo ka ha ho kopiloe.
  • Pheta: Potoloho e pheta-pheta joalo ka maemong a fetileng ka tlhahlobo e ncha. Tlhokahalo ea bohlokoa ke hore boholo ba mohato bo nyane, ka liphetoho tse ka bang 1-10 lipakeng tsa tlhahlobo e 'ngoe le e 'ngoe. Haeba khoutu e ncha e hloleha tekong e ncha, moetsi oa lenaneo o lokela ho etsa debugging ho feta. Khokahano e tsoelang pele e fana ka li-checkpoints tse khutlisetsoang morao.

Ercole Palmeri

Leselinyana la litaba tse ncha
Se ke oa fetoa ke litaba tsa bohlokoa ka ho fetisisa tsa boqapi. Ingolise ho li amohela ka lengolo-tsoibila.

Lihlooho tsa morao tjena

Bokamoso bo Mona: Kamoo Indasteri ea Thomello e Felisang Moruo oa Lefatše

Lekala la likepe ke matla a 'nete a moruo a lefats'e, a tsamaileng ho ea 'marakeng oa limilione tse likete tse 150...

1 May 2024

Bahatisi le OpenAI ba saena litumellano tsa ho laola phallo ea tlhahisoleseling e sebetsitsoeng ke Artificial Intelligence

Mantaha o fetileng, Financial Times e phatlalalitse selekane le OpenAI. FT e fana ka tumello ea bongoli ba eona ba maemo a lefats'e…

30 April 2024

Litefiso tsa Marang-rang: Mona ke kamoo Litšebeletso tsa Phallo li U Etsang Hore U Lefe ka ho sa Feleng

Batho ba limilione ba lefella litšebeletso tsa ho phallela, ba lefa litefiso tsa khoeli le khoeli tsa ho ngolisa. Ke maikutlo a tloaelehileng hore u…

29 April 2024

Veeam e fana ka ts'ehetso e felletseng ea thekollo, ho tloha ts'ireletso ho isa ho karabelo le ho hlaphoheloa

Coveware ke Veeam e tla tsoelapele ho fana ka litšebeletso tsa karabelo ea liketsahalo tsa bosholu ba cyber. Coveware e tla fana ka bokhoni ba forensics le tokiso…

23 April 2024