Mis on testrakmed? (Näited)
⚡ Nutikas kokkuvõte
Tarkvara testimise testimisraamistik ühendab tüved, draiverid, testiandmed ja täitmisvahendid, et meeskonnad valideeriksid mooduleid enne iga sõltuvuse tekkimist, muutes blokeeritud testitsüklid korduvaks, automatiseeritud verifitseerimiseks, mis annab tulemused ilma käsitsi pingutuseta.
Testi rakmed tarkvara testimises
Testi rakmed tarkvara testimises on tünnide, draiverite ja muude abivahendite kogum, mis on vajalik testi täitmise automatiseerimiseks. Testrakmed teostavad teste testiteegi abil ja genereerivad testiaruandeid. Testrakmed sisaldavad kogu teavet, mis on vajalik testi koostamiseks ja käitamiseks, nagu testjuhtumid, sihtjuurutusport (TDP), testitav lähtefail, tünnid jne.
Lihtsamalt öeldes mähib rakmed kontrollitava komponendi kontrollitavasse keskkonda. Puuduvad naabermoodulid asendatakse väikeste näidisprogrammidega, sisendid pärinevad fikseeritud andmestikust ja iga tulemus kirjutatakse logisse, selle asemel et seda ekraanilt lugeda. Järgnevad osad selgitavad, miks meeskonnad selle ehitavad, millest see koosneb, kuidas see töötab ja kuhu see sobib.
Miks kasutada testrakmeid?
Testitsükli ootamise vältimiseks on olemas rakmed. Kuna need simuleerivad kõike, mis pole veel valmis, siis... tarkvara testimine Meeskond saab käitumise kontrollimist alustada esimeses sprindis, mitte pärast lõplikku integratsiooni. Allolev diagramm näitab, kus asetseb ühenduslüli testskriptide ja testitava rakenduse vahel.
- Automatiseerige testimisprotsess
- Käivitage testjuhtumite testkomplektid
- Looge seotud testiaruanded
- Silumise tugi
- Iga testi testitulemuste salvestamiseks
- Aitab arendajatel mõõta koodi katvust koodi tasemel
- Suurendage süsteemi tootlikkust automatiseerimise kaudu
- Tõsta tarkvarakomponentide ja rakenduste kvaliteeti
- Et tulla toime keeruka olukorraga, mida testijatel on raske simuleerida
Need eelised on kõige olulisemad lühikeste väljalasketsüklite puhul. Kui koodi saadetakse mitu korda nädalas, maksab integreerimisetapini säilinud defekt ettevõttele palju rohkem. tracpalju parem kui see, mis tabatakse kirjutamise päeval kännu otsa. See tasu saabub aga alles siis, kui rakmed on õigetest osadest kokku pandud.
Testimisrakmestiku põhikomponendid
Rakmestik ei ole üksik programm, vaid osade kogum, millest igaüks eemaldab ühe takistuse, mis muidu takistaks testi järelevalveta toimimist.
- Testi skriptid: Automatiseeritud juhised, mis kirjeldavad samme ja oodatavat tulemust, kirjalikult vastavalt testiskript konventsioonid.
- Testi käivitamise mootor: Käivitaja, mis loeb skripte järjekorras, lahendab sõltuvused ja käivitab järjestikuse või paralleelse täitmise.
- Testiandmete hoidla: Skriptist väljaspool CSV-s, JSON-is, XML-is või seemnetega andmebaasis hoitavad sisendväärtused, mida sageli täidavad testandmete genereerimise tööriistad.
- Autojuhid: Testitava komponendi käivitavad näivkutse moodulid, kui tegelik ülemine kiht, näiteks kasutajaliides, on lõpetamata.
- Tüved: Dummy nimetas mooduleid, mis tagastasid valmisvastuseid, näiteks makseteenus vastas „Makse õnnestus” ilma pangaga ühendust võtmata.
- Väljundi valideerija: Väiteloogika, mis võrdleb tegelikku väljundit oodatava väärtusega ja märgib iga juhtumi edukaks või ebaõnnestunuks.
- Logimise ja aruandluse kiht: Ajatemplite, ekraanipiltide, konsooli väljundi ja käivituskokkuvõtte abil saab iga tõrke tuvastada. trachiljemalt teostatav.
Eemaldage üks osa ja rakmed lakkavad olemast automaatsed, sest siis tuleb iga sõidu ajal midagi käsitsi lisada.
Kuidas testimisrakmed töötavad?
Rakmed kordavad iga kord sama silmust. Selle silmuse tundmine annab sulle täpselt teada, kus sinu enda rakmed asuvad. automaatika testimine varad ühendatakse ja milline samm ebaõnnestub, kui käivitus punaseks muutub.
- Valmistage keskkond ette: See moodul lahendab keskkonna konfiguratsiooni, avab ühendused ja laadib kinnitusdetailid, nii et iga käivitus algab samast teadaolevast olekust.
- Laadige testiskriptid: Skriptid, parameetrid ja oodatavad tulemused loetakse repositooriumist. Käitamise ajal ei sisestata midagi, mis teebki teise käivitamise esimesega võrreldavaks.
- Asenda puuduvad moodulid: Draiverid asendavad helistajaid, keda veel ei eksisteeri, ja tüved asendavad teenuseid, mille kutsumine on lõpetamata, ebastabiilne või mille puhul on helistamine kulukas.
- Käivitage testitav rakendus: Täitmismootor käivitab skripti kirjeldatud töövoo, olgu selleks meetodikutse, API päring või brauseri interaktsioon.
- Jäädvusta tegelik väljund: Tagastusväärtused, vastuste kasulik koormus, andmebaasi read, logiread ja ekraani olek salvestatakse kõik nende loomisel.
- Võrdle oodatavate tulemustega: Väljundvalideerija kontrollib iga jäädvustatud väärtust. Igasugune mittevastavus märgib juhtumi ebaõnnestunuks ja salvestab nii oodatud kui ka vaadeldud väärtuse.
- Logi ja anna aru: Rakmed kirjutavad ajatempli trackäivitamise e ja genereerib läbimise/läbikukkumise aruande, mida arendaja saab lugeda ilma midagi uuesti käivitamata.
- Lagundada: Ajutised andmed, ühendused ja tüve olek kustutatakse, seega järgmine juhtum ei saa sellelt jääke pärida.
💡 Näpunäide: Värskenda oma tüvesid iga kord, kui tegelik moodul muutub. Tüvi, mis vastab endiselt eelmise kvartali vormingus, annab rohelise tulemuse, kuigi reaalajas integratsioon on juba katki.
Töönäide muudab tsükli konkreetseks. Oletame, et kassaleht on valmis, aga maksevärav mitte. Draiver saadab päringu, mille liides tavaliselt saadaks, tüvi vastab esmalt teatega „Makse õnnestus“ ja seejärel ajalõpuga ning validaator kinnitab ühel juhul tellimuse ja teisel juhul proovib uuesti. Mõlemad teed kontrollitakse enne, kui maksevärava meeskond kirjutab koodirea.
Testirakmeid kasutatakse kahes kontekstis
Samal mehhanismil on kaks erinevat eesmärki ja sõnavara muutub veidi olenevalt sellest, kummas te parasjagu olete.
- Automatiseerimise testimine: See sisaldab testskriptid, nende skriptide käitamiseks ja analüüsimiseks tulemuste kogumiseks vajalikud parameetrid
- Integratsiooni testimine: Seda kasutatakse kahe koodi või mooduli koostamiseks, mis omavahel suhtlevad, et kontrollida, kas kombineeritud käitumine on ootuspärane või mitte.
Vaatleme sisselogimismoodulit ja profiilimoodulit, mis peavad vahetama kasutajatunnust. Integratsiooni kontekstis simuleerib draiver edukat sisselogimist ja annab tunnuse profiililoogikale, seega andmekaartping, loakontrolli ja ekraani renderdamist saab kõik enne tegeliku autentimisteenuse lõppu kontrollida. Automatiseerimise kontekstis lisatakse sama juhtumite paar komplekti ja käivitatakse igal versioonil uuesti ilma, et keegi seda uuesti puutuks.
Testimisrakmete tüübid
Kuna tarkvara on üles ehitatud kihtidena, on rakmed tavaliselt spetsialiseerunud kihile, mida need kontrollivad. Neli tüüpi hõlmavad peaaegu iga projekti.
A üksuse testimisjuhtmestik harjutab kõige väiksemaid koodijuppe, näiteks ühte funktsiooni või meetodit, kusjuures iga sõltuvus asendatakse tüvega. See on kiireim käivitada ja odavaim hooldada, mistõttu üksuse testimine Komplektid on tavaliselt esimesed, mille meeskond kokku paneb. Tüüpiline kasutusala on maksukalkulatsiooni testimine ilma arveldusmoodulit puutumata.
An integratsiooni testimise rakmed kontrollib, kas kaks või enam moodulit teevad korrektselt koostööd, ning see on kiht, kus ilmnevad andmete mittevastavused ja ebaõnnestunud kõned. See on jaotises kirjeldatud rakmed integratsiooni testimine ülaltoodud kontekstis, näiteks kontrollides, kas tellimusteenus edastab makseteenusele õige kasuliku koormuse.
A süsteemi testimisjuhtmestik juhib täielikku otsast lõpuni voogu liidese, teenuse ja andmebaasi vahel, nii et süsteemi testimine saab kinnitada, et ärireeglid kehtivad, kui kõik kihid on olemas. regressioonitesti rakmed seejärel käivitab pärast iga muudatust kogunenud komplekti uuesti, mis teebki selle regressioonitest praktiline, kui iga ühendamise korral tuleb korrata mitusada stsenaariumi.
Testige rakmete tööriistu
Kõik need tüübid luuakse tavaliselt olemasoleva tööriista põhjal, mitte nullist. Kaks klassikalist valikut jäävad ühikutaseme raamistikeks:
- Junit: Kasutamise ajal kasutatud tööriist Java
- Nuniit: Kasutamiseks kasutatud tööriist .Net raamistik
Lisaks neile kahele lisavad enamik meeskondi tööriistu, mis laiendavad rakendust brauserile, API kihile või koormusprofiilile. Allolev tabel kaardistab iga valiku levinumad rollid.
| Vahend | Kõige paremini sobib | Roll rakmete sees |
|---|---|---|
| JUnit | Java üksuste ja integratsioonikomplektide | Tarvikute draiverid, kinnitusdetailid ja väited |
| NUnit | C# ja VB.NET kood .NET platvormil | Sama roll nagu JUnit .NET-keelte jaoks |
| Selenium | Brauseripõhised otsast lõpuni voogud | Toimib kasutajaliidese kihi draiverina |
| TestNG | Suur Java sviidid, mis vajavad kruntimistping ja paralleelsed jooksud | Toimib testide käivitamise mootorina |
| PyTest | Python teenused ja API taseme kontrollid | Mängukava toimib ka nii tsensuuri kui ka andmepakkujana |
| Apache JMeter | Koormuse, pinge ja jõudluse stsenaariumid | Genereerib testitava rakenduse vastu sünteetilist liiklust |
| Postman | REST API ühendustract-kinnitus | Pakub võltsservereid, mis asendavad lõpetamata lõpp-punkte |
Olenemata sellest, millise kombinatsiooni valite, tasub juhtmestik end ära alles siis, kui see järelevalveta töötab, seega ühendage see pidev integratsioon töö varakult. Laiem valikute kataloog on loetletud jaotises Guru99 testimisvahendid kokkuvõte. Üks erinevus tekitab endiselt segadust ja enne millegi valimist tasub see selgeks teha.
Testi rakmed vs katseraamistik
Harkis ja automatiseerimisraamistikku käsitletakse sageli sama asjana, kuid nad vastavad erinevatele küsimustele: harkis on see, mis testi käivitab, samas kui raamistik on struktuur, mille sees testid kavandatakse. Allolev tabel seab need kõrvuti.
| Testi rakmed | Testi automatiseerimise raamistikku |
|---|---|
| Testrakmed koosnevad draiveritest ja tünnidest, mis on väikesed näivprogrammid, mis suhtlevad testitava tarkvaraga | See on protsesside, protseduuride ja kõhulihaste kogum.trackontseptsioon ja keskkond, kus automatiseeritud teste kavandatakse ja rakendatakse |
| Te ei saa Test Harnessis skripti salvestada ja taasesitada | Testija saab selles raamistikus käsitsi salvestada ja taasesitada skripti |
| Testrakmed sisaldavad kogu teavet, mis on vajalik testi koostamiseks ja käitamiseks, nagu testjuhtumid, sihtjuurutusport (TDP), testitav lähtefail, tünnid jne. | Testi automatiseerimise raamistik sisaldab sellist teavet nagu testiteek, testimisriistad, automatiseeritud testimistavad, testimisplatvorm jne. |
| Testrakmed on liigitatud Automatiseerimise testimine Integratsiooni testimine |
Automatiseerimise raamistik näited Andmepõhine testimine Märksõnapõhine testimine Modulaarsuspõhine testimine Hübriidi testimine Mudelipõhine testimine Code juhitud testimine Käitumispõhine testimine |


