Ano ang Pagsubok ng Yunit? Lahat ng Kailangan Mong Malaman Tungkol sa Pagsubok ng Yunit

Tinutulungan ka ng artikulong ito na malaman kung ano ang pagsubok sa yunit at kung bakit mahalagang isasaayos ang software na napapailalim sa pagsusuri ng yunit bago ang iba pang mga uri ng pagsubok.

Ang pangunahing layunin ng anumang proyekto sa software ay upang makakuha ng isang de-kalidad na output habang binabawasan ang gastos at ang oras na kinakailangan para sa pagkumpleto ng proyekto. Upang makamit ang mga kumpanya ay napapailalim sa produkto ng software sa pangunahing apat na antas ng pagsubok. Ang pagsubok sa unit ay ang unang antas ng pagsubok sa Pagsubok ng Software. Sa buong artikulong ito, susuriin namin kung anong detalye ang pagsubok ng yunit. Kung bago ka sa pagsubok ng software, tiyaking basahin mo rin ang .



Tingnan natin ang mga paksang sakop sa artikulong ito:



Mga Antas ng Pagsubok ng Software

ay isang yugto sa loob ng ikot ng pag-unlad ng software kung saan ang software na kritikal sa negosyo ay na-verify para sa kawastuhan, kalidad, at pagganap.

Mayroong apat na pangunahing antas sa loob ng pagsubok ng software, bawat pagsusuri sa pag-andar ng software mula sa isang natatanging punto ng paningin sa loob ng proseso ng pag-unlad. Ang apat na antas ng pagsubok ng software ay tulad ng ipinakita sa imahe sa ibaba.



Mga Antas ng Pagsubok ng Software - Ano ang Pagsubok ng Unit? - Edureka

Ipinapaliwanag ng artikulong ito ang pagsusuri ng yunit, ang unang antas ng pagsusuri ng software nang detalyado.

Ano ang Unit Testing?

Ang pagsubok sa unit ay isang paraan ng pagsubok ng pinakamaliit na piraso ng code na tinukoy bilang a yunit na maaaring lohikal na ihiwalay sa isang system. Pangunahin itong nakatuon sa pagganap na kawastuhan ng mga standalone module.



Ang isang yunit ay maaaring maging halos anumang nais mo - isang tukoy na piraso ng pag-andar, isang programa, o isang partikular na pamamaraan sa loob ng application. Mas maliit ang yunit, mas mabuti ito. Ang mas maliit na mga pagsubok ay karaniwang nagbibigay sa iyo ng isang mas butil na pagtingin sa iyong produksyon, gumaganap ang code. Gayundin, ang iyong mga pagsubok ay maaaring tumakbo nang mas mabilis kung ang mga ito ay maliit. Kaya, ito rin ay micro-level ng pagsubok ng software.

Paano Mo Gawin ang Pagsubok ng Yunit?

Ang layunin ng pagsubok ng yunit upang paghiwalayin ang bawat bahagi ng programa at subukan na ang mga indibidwal na bahagi ay gumagana nang tama at tulad ng nilalayon. Habang gumaganap ng mga pagsubok sa yunit, ang mga pagpapaandar ng code ng aplikasyon ay naisagawa sa isang pagsubok na kapaligiran na may sample na pag-input. Pagkatapos ang output na nakuha ay inihambing sa inaasahang output para sa input na iyon. Kung tumutugma sila sa mga pass ng pagsubok. Kung hindi ay isang pagkabigo. Ang mga pagsubok sa unit ay mahusay para sa pagkumpirma ng kawastuhan ng code. Tingnan natin ang isang sample na algorithm na naglalarawan ng konsepto.

Tulad ng nakikita mo, ang pagsasagawa ng unit test ay medyo simple. Isusulat mo ang bahagi ng code at isailalim ito sa pagsubok. Kung pumasa ang pagsubok pagkatapos ay idagdag mo ito sa iyong test suite at subukan ang susunod na bahagi ng code. Iba pa, gumawa ka ng mga kinakailangang pagbabago at muling subukan ito. Ulitin ang proseso hanggang sa masubukan ang lahat ng mga yunit ng software.Ang ganitong uri ng pangunahing pagsubok ay nag-aalok ng maraming mga kalamangan tulad ngmaaga ang paghahanap ng mga bug ng software, pinapasimple ang pagsasama, nagbibigay ng mapagkukunan ng , at marami pang iba.

Ano ang mga Pakinabang ng Pagsubok ng Yunit?

Ang pagsasagawa ng mga pagsubok sa regression, nakikinabang sa mga kumpanya sa maraming paraan tulad ng:

Gumagawa ng Cile Agile

Pinapabilis ng pagsubok ng unit ang proseso ng pag-coding. Kapag nagdagdag ka ng mga bagong tampok sa iyong application, kung minsan maaari mong baguhin ang disenyo at code ng iyong produkto ng software. Gayunpaman, ang pagbabago ng nasubukan nang code ay nagkakahalaga ng labis na pera at pagsisikap. Ngunit sa mga pagsubok sa yunit, maaari mo lamang subukan ang bagong idinagdag na piraso ng code sa halip na subukan ang buong programa. Gayundin, ang mga pagsubok sa yunit ay nagpapabuti sa kalidad ng iyong code.

Mga Tulong Mahanap Maaga ang Software Bugs

Tulad ng mga pagsubok sa yunit ay isinasagawa ng mga developer na sumusubok sa indibidwal na code bago isama, ang mga isyu ay maaaring matagpuan nang maaga sa proseso ng pagsubok ng software. Maaari silang malutas noon at doon nang hindi nakakaapekto sa iba pang mga piraso ng code. Ang bentahe ng pagtuklas ng mga error nang maaga ay maaari mong i-minimize ang mga panganib sa pag-unlad, at maiwasan ang paggastos ng masyadong maraming pera at oras.

Nagbibigay ng Dokumentasyon

Sa pagsubok, ang dokumentasyon ng code ay madalas na napapabayaan dahil nangangailangan ito ng maraming oras. Ngunit ang pagsubok ng yunit ay ginagawang medyo madali ang dokumentasyon sa pamamagitan ng paghikayat ng mas mahusay na mga kasanayan sa pag-coding at pag-iiwan din ng mga piraso ng code na naglalarawan sa ginagawa ng iyong produkto.

Mas Madali ang Pag-debug

Pinapasimple ng pagsubok ng unit ang proseso ng pag-debug. Kapag nabigo ang isang pagsubok, ang mga pinakabagong pagbabago lamang sa code ang kailangang i-debug. Sa mas mataas na antas ng mga pagbabago sa pagsubok na ginawa sa loob ng maraming araw o linggo o buwan ay kailangang i-scan.

Binabawasan ang Mga Gastos sa Pagsubok

Dahil ang mga bug ay natagpuan nang maaga, ang gastos ng mga pag-aayos ng bug aynabawasan hanggang sa ilang sukat. Mas malaki ang gastos kung ang isang bug ay matatagpuan sa mga susunod na yugto ng pag-unlad. Kailangan mong baguhin ang buong code ng iyong proyekto. Nakakapagod talaga iyon at pag-aksaya ng pera. Kaya't ang pagsasagawa ng pagsubok sa yunit ay nakakatipid din ng mahalagang oras at pera.

Ayan na! Inaasahan kong kumbinsido ka kung bakit mahalaga ang pagsubok sa unit. Sa paglipat pa, suriin natin ang isang simpleng demo kung paano sumulat ng mga pagsubok sa yunit.

Demo: Pagsulat ng isang Sampol na Pagsubok ng Yunit

Hinihingi ng pagsubok sa unit na ang isang mahusay na pagsubok ay dapat:

  • Madaling magsulat
  • Nababasa
  • Maaasahan
  • Mas mabilis at Mahusay

Mga kinakailangan para sa demo:

  • Java Development Kit (JDK)
  • Isang IDE (Sa demo na ito Eclipse ay ginagamit)
  • Framework ng pagsubok sa unit (Sa demo na ito ay ginagamit ang TestNG)

Magsimula tayo sa demo. Kaya, sa demo na ito, mayroon akong dalawang mga file:

  • Isang klase sa Math na may pagpapaandar upang subukan
  • Isang klase ng Pagsubok na may mga pamamaraan upang magsagawa ng pagsubok

Tingnan ang code sa ibaba upang maunawaan ang kaso ng pagsubok. Ito ay isang klase sa Math na may dalawang pamamaraan: magdagdag, magparami.

pampublikong pangwakas na klase sa Matematika {public static int add (int una, int pangalawa) {return first + second} public static int multiply (int multiplicand, int multiplier) {return multiplicand * multiplier}}

Susunod na mayroon kaming isang klase ng Pagsubok na may mga pamamaraan upang subukan ang pagpapaandar ng magdagdag () pagpapaandar at magparami () pagpapaandar

pag-convert ng string sa petsa sa java
i-import ang org.testng.annotations. Subukan ang pag-import ng static na org.testng.Assert.assertEquals pampublikong klase na MathTests {@Test sa publiko na walang bisa add_TwoPlusTwo_ReturnsFour () {panghuling int inaasahan = -4 huling int aktwal na = Math.add (-2, -3) assertEquals (aktwal, inaasahan)} @Test publiko na walang bisa ng maramihang_twonumber_retursvalue () {huling int inaasahang = -4 panghuling int aktwal = Math.multiply (2,2) assertEquals (aktwal, inaasahan)}}

Pagsubok sa Yunit: Sinusuri ang pag-andar ng pag-andar ng pagdaragdag

Komento ang magparami () pagpapaandar sa klase sa Math at multiple_twonumber_retursvalue () pagpapaandar sa klase ng Pagsubok. Pagkatapos italaga ang halaga para sa inaasahan variable at tawagan ang magparami () gumana na may sample na input (isaalang-alang ang parehong positibo at negatibong mga kaso). Kapag nagpatakbo ka ng pagsubok, ang inaasahan ang halaga ay inihambing sa kasalukuyang halaga Kung ibinabalik ng pagsubok ang mga inilaan na resulta, nangangahulugan ito na magdagdag () gumagana nang perpekto. Nag-attach ako ng isang screenshot ng mga resulta sa pagsubok kapag ang inaasahan ang halaga ay -5 at ipinasa ang mga parameter sa magdagdag () pagpapaandar ay -2 at -3.

Simple di ba? Sinubukan namin ang isang yunit o bahagi ng buong programa. Maaari mong gawin ang parehong sa magparami () pagpapaandar Ang layunin ng demo na ito ay upang maunawaan mo kung ano ang ibig sabihin ng isang yunit sa pagsubok ng yunit. Kaya, ang pangunahing layunin dito ay upang mapatunayan ang panloob na disenyo at panloob na lohika, panloob na mga landas ng proyekto ng software sa maliliit na tipak. Ang framework framework ng pagsubok na ginamit ko sa demo na ito ay ang TestNG. Mayroong iba't ibang mga balangkas ng pagsubok sa yunit para sa iba't ibang mga wika ng programa.

Pinakamahusay na Mga Framework ng Pagsubok ng Yunit

Ang ilan sa mga tanyag na balangkas ng pagsubok sa yunit ay:

  • JUnit: Ito ay isang open-source framework para sa isang pagsubok na hinihimok na kapaligiran sa pag-unlad, na partikular na idinisenyo para sa .
  • NUnit: Ito ay isa sa pinakatanyag na mga framework ng pagsubok sa yunit para sa C #.
  • TestNG: Idinisenyo para sa wika ng programa, ito ay kahawig ng JUnit at NUnit ngunit nag-aalok ng ilang mga bagong pagpapaandar na ginagawang mas malakas at mas madaling gamitin.
  • HtmlUnit: Ito ay isa sa pinakatanyag na mga balangkas para sa . Ginagamit ito para sa pagsubok ng mga aplikasyon sa web na ginagamit sa loob ng mga balangkas tulad ng JUnit at TestNG.
  • Unitest: May inspirasyon ng balangkas ng JUnit, sinusuportahan ng balangkas na ito ang pagsubok na awtomatiko at kumikilos nang nakapag-iisa sa mga pagsubok mula sa kapaligiran sa pag-uulat. Ito ay isa sa pinakatanyag na mga framework ng pagsubok sa yunit para sa .

Bukod sa mga ito, maraming iba pang mga balangkas. Sa pamamagitan nito, naabot namin ang dulo ng blog. Inaasahan kong ang mga bagay na natutunan mo dito ngayon ay makakatulong sa iyo habang nagtungo ka sa iyong paglalakbay sa pagsubok ng software.

Kung nahanap mo ito may kaugnayan sa artikulo, tingnan ang live-online ni Edureka, isang pinagkakatiwalaang kumpanya sa pag-aaral sa online na may isang network na higit sa 250,000 nasiyahan na mga nag-aaral na kumalat sa buong mundo.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng artikulong ito at babalikan ka namin.