Kas yra vieneto testavimas? Viskas, ką reikia žinoti apie įrenginio testavimą



Šis straipsnis padės jums sužinoti, kas yra vieneto testavimas ir kodėl svarbu, prieš pradedant kitų tipų bandymus, programinės įrangos kūrimas priklauso nuo vieneto bandymų.

Pagrindinis bet kurio programinės įrangos projekto tikslas yra gauti aukštos kokybės produkciją, tuo pačiu sumažinant projekto užbaigimo išlaidas ir laiką. Norėdami pasiekti, kad įmonės programinės įrangos produktą daugiausia išbandytų keturiais lygiais. Vieneto testavimas yra pirmasis programinės įrangos testavimo lygis. Šiame straipsnyje mes išsamiai išnagrinėsime, kas yra vieneto testas. Jei dar nesinaudojote programinės įrangos testavimu, būtinai perskaitykite .

Pažvelkime į šiame straipsnyje aprašytas temas:





Programinės įrangos testavimo lygiai

yra programinės įrangos kūrimo ciklo etapas, kurio metu patikrinama verslui svarbios programinės įrangos teisingumas, kokybė ir našumas.

kaip įgyvendinti krūvą

Yra keturi pagrindiniai programinės įrangos testavimo lygiai: kiekvienas iš jų tikrina programinės įrangos funkcionalumą iš unikalaus taško, esančio kūrimo procese. Keturi programinės įrangos testavimo lygiai yra tokie, kaip parodyta paveikslėlyje žemiau.



Programinės įrangos testavimo lygiai - kas yra vieneto testavimas? - Edureka

Šiame straipsnyje išsamiai paaiškinamas vieneto testavimas, pirmasis programinės įrangos testavimo lygis.

Kas yra vieneto testavimas?

Vieneto testavimas yra mažiausio kodo, vadinamo a., Testavimo būdas vienetas kurį galima logiškai izoliuoti sistemoje. Daugiausia dėmesio skiriama atskirų modulių funkciniam teisingumui.



Vienetas gali būti beveik viskas, ko norite - konkretus funkcionalumas, programa ar konkretus programos metodas. Mažesnis vienetas, tuo geriau. Mažesni testai paprastai suteikia daug detalesnį jūsų produkcijos vaizdą, kodas veikia. Be to, jūsų testai gali būti vykdomi greičiau, jei jie yra maži. Taigi, tai yra ir programinės įrangos testavimo mikrolygis.

Kaip atliekate įrenginio testavimą?

Vieneto bandymo tikslas yra atskirti kiekvieną programos dalį ir patikrinti, ar atskiros dalys veikia teisingai ir kaip numatyta. Atliekant vieneto testus, programos kodo funkcijos vykdomos bandymo aplinkoje su įvesties pavyzdžiu. Tada gautas rezultatas lyginamas su laukiamais to įėjimo rezultatais. Jei jie atitinka testo reikalavimus. Jei ne, tai nesėkmė. Vieneto testai puikiai patvirtina kodo teisingumą. Pažvelkime į algoritmo pavyzdį, kuris iliustruoja koncepciją.

Kaip matote, atlikti vieneto testą yra gana paprasta. Jūs parašote dalį kodo ir jį išbandote. Jei testas bus išlaikytas, įtraukite jį į savo testų rinkinį ir išbandykite kitą kodo dalį. Kita vertus, atliksite reikiamus pakeitimus ir dar kartą išbandysite. Pakartokite procesą, kol bus išbandyti visi programinės įrangos vienetai.Šio tipo pagrindiniai bandymai suteikia daug privalumų, tokių kaipanksti rasti programinės įrangos klaidų, supaprastinti integraciją ir suteikti jos šaltinį ir daugelis kitų.

Kokia yra vieneto testavimo nauda?

Regresijos testų atlikimas naudingas įmonėms įvairiais būdais, pavyzdžiui:

Padaro kodavimą judriu

Vieneto bandymai pagreitina kodavimo procesą. Kai prie savo programos pridedate naujų funkcijų, kartais gali tekti keisti programinės įrangos produkto dizainą ir kodą. Tačiau pakeisti jau patikrintą kodą kainuoja per daug pinigų ir pastangų. Bet atlikdami vieneto testus, galite tiesiog išbandyti naujai pridėtą kodą, o ne išbandyti visą programą. Be to, vieneto testai pagerina jūsų kodo kokybę.

Padeda anksti rasti programinės įrangos klaidas

Kadangi vieneto testus atlieka kūrėjai, kurie prieš integravimą išbando individualų kodą, problemų galima rasti labai ankstyvoje programinės įrangos testavimo procese. Jie gali būti išspręsti tada ir ten, nedarant įtakos kitiems kodo elementams. Ankstyvo klaidų nustatymo pranašumas yra tas, kad galite sumažinti vystymosi riziką ir išvengti per daug pinigų ir laiko praleidimo.

Pateikia dokumentaciją

Testuojant kodo dokumentacija dažnai nepaisoma, nes tai reikalauja daug laiko. Bet vieneto testavimas šiek tiek palengvina dokumentavimą, skatindamas geresnę kodavimo praktiką ir palikdamas kodo dalis, apibūdinančias jūsų produkto veikimą.

Derinti lengviau

Vieneto testavimas supaprastina derinimo procesą. Kai bandymas nepavyksta, reikia derinti tik naujausius kodo pakeitimus. Esant aukštesniam testavimo lygiui, reikia nuskaityti pakeitimus, padarytus per kelias dienas, savaites ar mėnesius.

Sumažina bandymų išlaidas

kaip konvertuoti eilutę į datą

Kadangi klaidos randamos anksti, klaidų taisymo kaina yratam tikru mastu sumažėjo. Tai kainuotų daug brangiau, jei vėlesnėse kūrimo stadijose būtų rasta klaida. Turėsite modifikuoti visą savo projekto kodą. Tai skamba tikrai varginantis ir pinigų švaistymas. Taigi atlikdami vieneto testavimą taip pat sutaupote brangaus laiko ir pinigų.

Prašom! Tikiuosi, kad esate įsitikinęs, kodėl vieneto testavimas yra svarbus. Žengdami toliau, patikrinkime paprastą demonstracinę versiją, kaip parašyti vieneto testus.

Demonstracija: mėginio vieneto testo rašymas

Vieneto bandymai reikalauja, kad geras testas būtų:

  • Lengva rašyti
  • Skaitytina
  • Patikimas
  • Greičiau ir efektyviau

Reikalavimai demonstracijai:

  • „Java“ kūrimo rinkinys (JDK)
  • IDE (šioje demonstracijoje naudojamas „Eclipse“)
  • Vieneto testavimo sistema (šioje demonstracijoje naudojama „TestNG“)

Pradėkime nuo demonstracinės versijos. Taigi, šioje demonstracinėje versijoje turiu du failus:

  • Matematikos klasė su funkcija, kurią reikia išbandyti
  • Testo klasė su metodais testavimui atlikti

Pažvelkite į žemiau pateiktą kodą, kad suprastumėte bandomąjį atvejį. Tai matematikos klasė, kurioje naudojami du metodai: pridėti, dauginti.

viešoji galutinė klasė Matematika {public static int add (int first, int second) {return first + second} public static int multiply (int multiplicand, int multiplier) {return multiplicand * multiplier}}

Toliau turime „Test“ klasę su metodais, leidžiančiais patikrinti „Windows“ funkcionalumą papildyti() funkcija ir padauginti () funkcija.

importuoti org.testng.annotations.Test importuoti statinį org.testng.Assert.assertEquals viešosios klasės „MathTests“ {@Test public void add_TwoPlusTwo_ReturnsFour () {final int várható = -4 final int actual = Math.add (-2, -3) assertEquals (tikrasis, laukiamas)} @Test public void multiple_twonumbers_retursvalue () {final int numatytas = -4 final int tikrasis = Math.multiply (2,2) assertEquals (tikrasis, numatomas)}}

Vieneto testas: tikrinama pridėjimo funkcijos funkcionalumas

Komentuokite padauginti () funkcija matematikos klasėje ir multiple_twonumbers_retursvalue () funkcija Test klasėje. Tada priskirkite reikšmę tikimasi kintamasis ir iškvieskite padauginti () funkcija su imties įvestimi (įvertinkite ir teigiamus, ir neigiamus atvejus). Kai atliksite testą, tikimasi vertė lyginama su srovė vertė. Jei bandymas duoda norimus rezultatus, tai reiškia papildyti() funkcija veikia puikiai. Pridedu bandymų rezultatų ekrano kopiją, kai tikimasi vertė yra -5, o parametrai perduodami papildyti() yra -2 ir -3.

Paprasta, tiesa? Mes išbandėme vienetą arba visos programos dalį. Tą patį galite padaryti su padauginti () funkcija. Šios demonstracijos tikslas buvo priversti suprasti, ką reiškia vienetas bandant vienetą. Taigi pagrindinis tikslas yra patikrinti vidinį programinės įrangos projekto dizainą ir vidinę logiką, vidinius kelius mažais gabalėliais. Vieneto testavimo sistema, kurią naudojau šioje demonstracinėje versijoje, yra TestNG. Yra įvairių kitų programavimo kalbų vieneto testavimo pagrindų.

Geriausios vienetų testavimo sistemos

Kai kurios populiarios vienetų testavimo sistemos yra šios:

  • „JUnit“: tai yra atviro kodo sistema, skirta bandymams pagrįstai kūrimo aplinkai, specialiai sukurta .
  • „NUnit“: Tai yra viena iš populiariausių „C #“ vienetų testavimo sistemų.
  • TestNG: sukurta programavimo kalba, ji primena „JUnit“ ir „NUnit“, tačiau siūlo keletą naujų funkcijų, kurios daro ją galingesnę ir lengviau naudojamą.
  • „HtmlUnit“: tai yra viena iš populiariausių „ . Jis naudojamas žiniatinklio programų, naudojamų tokiose sistemose kaip „JUnit“ ir „TestNG“, testavimui.
  • „Unitest“: įkvėpta „JUnit“ sistemos, ši sistema palaiko bandymų automatizavimą ir veikia nepriklausomai nuo ataskaitų teikimo aplinkos testų. Tai yra viena iš populiariausių vieneto testavimo sistemų .

Be šių, yra daugybė kitų sistemų. Tai pasiekėme tinklaraščio pabaigą. Tikimės, kad šiandien čia išmokti dalykai jums padės išvykstant į programinės įrangos testavimo kelionę.

Jei tai radai straipsnis aktualus, patikrinkite tiesiogiai internete sukūrė „Edureka“ - patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą.

Turite mums klausimą? Prašau tai paminėti šio straipsnio komentarų skyriuje ir mes su jumis susisieksime.