Programmatūras Testēšana

Vienību testēšanas apmācība iesācējiem

2021. gada 30. oktobris

Vienības pārbaude ir testēšanas veids, kas tiek veikts pēc iespējas mazākam programmas modulim, lai nodrošinātu, ka tas ir piemērots lietošanai. Vienība koda sadaļas formā tiek pārbaudīta, lai noskaidrotu, vai to var izmantot kopā ar citām koda daļām (piemēram, funkcijām, metodēm un mainīgajiem).

Vienību testēšana ir programmatūras testēšanas process, kurā atsevišķi tiek pārbaudīti atsevišķi bloki vai vienības, kuru vienīgais mērķis ir vienību testēšana, lai izolētu rakstīto kodu, lai pārbaudītu un pārbaudītu, vai iekārta darbojas, kā paredzēts.

Vienību testēšanas svarīgais mērķis ir nodrošināt testu komplektu vienai programmatūras vienībai vai komponentei, piemēram, funkcijai. Pārbaudes parasti sastāv no standarta konsekvences testu sērijas katram komponentam, ko (vēlams) rakstījis izstrādātājs, kurš ir strādājis vai ir tuvu projektam.

Vienība ir mazākā pārbaudāmā datora programmatūras daļa. Lai palīdzētu procesam, izstrādātāji izmanto tādus rīkus kā vienību testēšanas ietvari, draiveri, stubs, izspēles/viltus objekti.

Ja vienības tests neizdodas, tas tiek uzskatīts par kļūdu vai modificētu kodu pašā testā.

Vienības pārbaude

Satura rādītājs

Pārbaudes līmeņi:

Vienības pārbaude acīmredzami ir pirmā pārbaude, kas jāveic, un pēc tam ir jāintegrē visi moduļi vai bloki, un tad integrācijas testēšana ir jāveic. Izstrādātājam ir jāveic sistēmas testēšana, lai pilnībā integrētā sistēmā novērtētu sistēmas atbilstību un funkcionalitātes prasības. Visbeidzot, pieņemšanas pārbaude pārbauda, ​​vai programma atbilst klienta specifikācijām un līgumiem. Tādā veidā izstrādātājs iegūst perfektu kodu.

Kāpēc vienību pārbaude ir svarīga?

Ātrāks un efektīvāks testēšanas veids:

Vienības testēšana ir koda rakstīšanas process, tā testēšana un pēc tam automātiski veiktas citas pārbaudes. Tas ir ātrāks veids, kā pārbaudīt programmas loģiku, jo vienību testu veikšana aizņem mazāk laika nekā manuāli testi vai integrētie testi, ko veic kvalitātes nodrošināšanas komanda.

Kvalitātes kontrole:

Standartizācijas testu kolekcija nodrošina, ka turpmākās izmaiņas nepasliktina kvalitāti. Viens vai vairāki vienību testi dokumentē paredzamo vienības koda darbību un tā ieviešanu. Lai disciplinētu savu vienību testu izstrādi, programmētājiem jāievieš vienību testu sērija.

Padara kodu pārvaldāmu un ērtāk rediģējamu:

Iespēja rakstīt vienību testus liek izstrādāt sistēmas ar augstu kohēziju, un labākos vienību testus nodrošinās izstrādātāji, kas ir ļoti tuvu projektam. Kodu var būt neiespējami vai grūti pārbaudīt, ja tas ir slikti uzrakstīts, liekot izstrādātājiem labāk strukturēt funkcijas un objektus. Vienību testi padara sistēmu vieglāk pārvaldāmu.

Dabiskāk, lai noteiktu problēmu:

Vēl viens būtisks vienības testēšanas mērķis ir sniegt ieskatu izstrādes procesa izmaiņu, piemēram, lietotāja saskarnes izmaiņu vai jaunu funkciju ieviešanas, ietekmē. Pamatojoties uz testa gadījumu neveiksmēm, vienības pārbaudes ietvars palīdz arī apturēt saistītos testus.

Vienības pārbaudes priekšrocības:

  • Pat vispieredzējušākie izstrādātāji piekrīt, ka ir laba ideja praktizēt vienību testēšanu. Vienības pārbaude ļauj programmētājiem vēlāk pārrēķināt kodu un likt modulim darboties.
  • Viena no nozīmīgākajām vienību testēšanas priekšrocībām ir tā, ka izstrādātājs var izmantot testēšanas rīkus un ietvarus.
  • Vienību testēšana padara koda atsvaidzināšanu drošāku un ērtāku, jo tā ievieš testus, kas nodrošina, ka refaktorēšana norit nevainojami vai bez pārtraukumiem.
  • Vienību testēšana nodrošina arī programmatūru, kuru ir vieglāk uzturēt visā programmatūras dzīves ciklā un kuru ir mazāk pakļauti kļūdām, pievienojot jaunas funkcijas vai atjauninājumus.
  • Vienības testēšana sniedz skaidru un kodolīgu produkta vai pakalpojuma dizaina un specifikāciju aprakstu izpildes veidā. Izmantojot vienību testus dizaina specifikācijām, mēs labāk izprotam, ko pārbaudīt un ko izmantot testēšanai.
  • Vienības pārbaudes aizņem nesamērīgi daudz laika, salīdzinot ar pārbaudīto kodu. Piemēram, ja vienības testa rakstīšanas izmaksas ir 2 minūtes, bet tā izpildes izmaksas ir praktiski nulle vai koda manuālas testēšanas cena ir 1 minūte, pārtrauciet līdzsvara punktu, ja izstrādātājs palaiž testu. divreiz. Vienību testu izmantošana visas koda bāzes manuālās pārbaudes vietā nozīmē, ka izstrādātājs samazina projekta kopējās izmaksas.
  • Slikti uzrakstīts kods var būt neiespējams vai grūti testējams, un tāpēc vienību testēšana var likt izstrādātājiem labāk strukturēt funkcijas un objektus. Vienības pārbaude padara kodu tik perfektu, cik vien tas var būt. Izstrādātājs vispirms uzraksta vienības testu, konstatē, ka tas neizdodas, pēc tam raksta otru testu, lai to izturētu, un cikls atkārtojas, līdz tiek nodrošināta paredzētā funkcionalitāte.

Vienības pārbaudes trūkumi:

  • Vienības testēšanas galvenais trūkums ir tas, ka nav iespējams pārbaudīt visus izpildes ceļus un tas nevar absorbēt nekādas būtiskas sistēmas kļūdas vai integrācijas kļūdas.
  • Vienības testu rakstīšana var būt sarežģīta, un process var būt laikietilpīgs.
  • Cilvēka kļūdas vienību pārbaudēs var ietekmēt visu sistēmu.
  • Tas nav pilnīgs pierādījums, kā saka daudzi; kad moduļi ir integrēti, var rasties jaunas kļūdas, kuras vienības testēšanā neatklāj.

Vienību testēšanas metodes:

    Melnās kastes tehnika: Melnā kaste Tehnika ir vienību testēšanas metode, kurā SUT (testējamā programmatūra) ir lietojumprogrammas funkcionalitāte, neiepazīstoties ar ieviešanu, iekšējo struktūru vai kodu. Melnās kastes tehnika koncentrējas uz ievadi un izvadi, nevis uz iekšējo kodu vai zināšanām.Baltās kastes tehnika:In Baltā kaste Tehnika, testētājs apzinās koda iekšējos elementus, šīs metodes struktūru, iekšējo struktūru un koda darbību, nevis funkcionalitāti. Vēlams, lai testētājam būtu izcilas programmēšanas prasmes, jo moduļa iekšējā perspektīva un programmēšanas prasmes tiek pārbaudītas.Pelēkās kastes tehnika: Pelēkā kaste Tehnikai ir daļējas zināšanas par kodu. Šis tests uzlabo nepareizu koda struktūru vai lietojumprogrammas nepareizu darbību. Tas ir gan melnā, gan baltā kastes tehnikas sajaukums. Tas ir spēcīgs veids, kā pārbaudīt ierīci.

Vienības pārbaudes rīki:

  • Nunit : Viena no xunit saimes saimēm Nunit ir atvērtā pirmkoda vienību testēšana, kas paredzēta . TĪKLS un Mono framework tas ir visvairāk izmantotais rīks vienības testa korpusa rakstīšanai.
  • Jmockit : JMockit ir vēl viena atvērtā pirmkoda programmatūras bibliotēka. Tas ietver API ņirgāšanās, viltošanas un integrācijas testēšanai, kā arī koda pārklājuma rīku. Bibliotēka ir jāizmanto kopā ar testēšanas sistēmu, piemēram, JUnit vai Nunit.
  • Junīts: Tāpat kā Nunit, tā ir atvērtā koda vienību testēšana, bet paredzēta Java. Tas ir arī no Xunit ģimenes. Izmanto izstrādātājiem, lai rakstītu atkārtojamus testus. Tam ir spēcīgs pamats vienību testēšanai.
  • Tipmock : TypeMock var izsmiet gandrīz jebko, izmantojot saskarnes. Turklāt ir iespējams izsmiet statiskās metodes un klases, kuras nevar izsmiet ar standarta atvērtā koda rīkiem. Tiek īstenoti sakārtošanas, darbības, apstiprināšanas un testēšanas modeļi, un no tiem tiek izgatavoti izolatori.
  • Embunit : Embedded Unit Test Framework Embunit ir jauna sistēma iegultajām sistēmām. Tas ir izstrādāts kā testa ietvars programmatūras lietojumprogrammām, kas rakstītas C valodā /C++ un atbalsta visas tīkla valodas. Šis ietvars kalpo tam pašam mērķim kā JUnit Java, taču ar citu mērķi: kalpot kā atvērtā koda, starpplatformu testēšanas ietvars.

Vienības testēšanas padomi:

  • Ja vienības tests neizdodas, apsveriet, vai tā ir kļūda vai modificēts kods pašā testā. Pieņemšanas pārbaudes uzlabošana ir ļoti svarīga, ja izstrādātājs pieņemšanas testa laikā konstatē kļūdu, taču lielākā daļa defektu ir jāatklāj, veicot aprīkojuma testus.
  • Iesācējam līdz vienību testēšanai ir jāmeklē pretraksti un tie jānovērš, un tas padarīs kodu efektīvu un atkārtoti lietojamu.
  • Raksti gudri; Kā minimums, kods, kas koncentrējas uz sistēmas uzvedību, ir ideāls kods.
  • Efektīvai pārbaudei izmantojiet viltotus vai viltus objektus. Faktiskās sistēmas izmantošana ir riskanta, jo tā apdraud datus.
  • Nepārbaudiet lietotāja interfeisa komponentus, ja vien momentuzņēmums nepārbauda.

Saistītās tēmas

Integrācijas pārbaude Sistēmas testēšana Pieņemšanas pārbaude