Automatiseeritud testimine on testimisprotsessi kriitiline komponent. tarkvara kvaliteedi kontroll . Kuid REST (API) testimine võib olla keeruline. Paljud neist, kes kasutavad REST API käsitsi testimist, jätavad detailid tähelepanuta ja jätavad kasutamata aja kokkuhoiu võimalused.
Kõigil edukalt testitud REST API teenustel on järgmised valdkonnad:
Selleks vajate õigeid tööriistu. Apache JMeter ja REST Assured on kaks populaarset REST-i testimisvahendit REST API-teenuste testimiseks. Sellest, kuidas saate neid praktikas kasutada, saate lisateavet siin Y siin .
Selles artiklis saate teada nende kahe tööriista plussid ja miinused ning selle, kus need sobivad kõige paremini teie olemasolevate REST API projektidega.
Eelduseks on: JMeter ja REST Assured vajavad Java-d, seega peab JMeteri või REST Assuredi käivitamiseks teie arvutisse olema installitud Java.
Apache JMeteri installimine on väga lihtne: minge aadressile allalaadimisleht , valige ZIP või TAR, laadige fail alla, pakkige see lahti ja olete valmis minema.
Minge kausta, kus olete faili lahti pakkinud, alamkausta bin
ja käivitage jmeter.bat
(või sarnane teie operatsioonisüsteemile, kui see pole Windows). Täpsemat teavet Apache JMeteri konfigureerimise kohta leiate sellest lehele .
REST Assuredi installimine on natuke teistsugune kogemus. REST Assured pole eraldiseisev tööriist. See on Java raamatukogu. Selle kasutamiseks peate seadistama uue Java-projekti ja lisama selle projekti teegiks. Muidugi on tugi paljudele kompileerimistööriistadele, nii et saate oma sõltuvuse lahendaja suunata lihtsalt mõnda avalikku hoidlasse (Maven). Täpsema teabe REST Assuredi konfigureerimise kohta leiate [siit] (https://semaphoreci.com/community/tutorials/testing-rest-endpoints-using-rest-assured.
kuidas sooritada aws lahenduste arhitekti eksam
Apache JMeter dokumentatsioon selle leiate JMeteri ametlikust veebisaidilt. Pakub üsna põhjalikku dokumentatsiooni algusest kuni keerukate funktsioonideni, näiteks kuulajateni. JMeteri ametlikul veebisaidil leiate ka linke väga rikkalikele ressurssidele, näiteks õppevideotele. Kui teile meeldib vähem lugeda ja rohkem vaadata, on see teile kindlasti boonus.
The dokumentatsioon alates REST Assuredist, nagu tööriist / teek ise, leiate Githubi hoidlast. Sellel on veebidokumentatsioonis loetletud suur funktsioonide loetelu koos väga üksikasjalike selgitustega, kuidas midagi saavutada. Kuid kogu dokumentatsioon on suurepärane veebileht, mitte lihtsaim viis tööriista uurimiseks.
Apache JMeter kui graafilise kasutajaliidesega (GUI) eraldiseisev rakendus võimaldab teil luua oma testid GUI-st. See võib olla kasulik eelkõige JMeterist sisse viidud üksuste hierarhia tõttu - kõik, mida loote oma testi raames, kuvatakse JMeteri graafilise kasutajaliidese puulaadses esituses.
Testi loomiseks ei pea olema mingeid kodeerimisoskusi. Kuid GUI ei piira ühtegi testi planeerimise võimalust. Kui soovite siiski lisada mõne kohandatud ajakava / voo, võimaldavad BeanShelli komponendid seda teha.
JMeteri projekti salvestamisel salvestatakse kõik teie loodud failid suurde XML-faili (laiendiga .jmx
). Üldiselt peate isegi mõne testi muutmiseks väikese tõenäosusega (tõenäoliselt) muudatuse tegemiseks projekti GUI-s uuesti avama.
Kui peate samal JMeteri projektifailil teistega koostööd tegema, pole seda suurt XML-faili lihtne hooldada ühegi lähtekontrolli haldamise (SCM) süsteemi (näiteks Git, SVN, Perforce jne) abil.
REST Assured aga nõuab testide loomiseks Java kodeerimisoskust. Testide loomiseks pole hõlpsasti kasutatavat GUI-d. Kuid REST Assured võimaldab teste kirjutada Gherkini keelt kasutades (süntaks antud-millal-siis), nii et isegi kui vajate Java-kodeerimisoskust, on testid üsna loetavad.
given(http://via.placeholder.com/2000x200?text=image+placeholder). config(RestAssured.config(http://via.placeholder.com/2000x200?text=image+placeholder).jsonConfig(jsonConfig(http://via.placeholder.com/2000x200?text=image+placeholder).numberReturnType(BIG_DECIMAL))). when(http://via.placeholder.com/2000x200?text=image+placeholder). get(“/price”). then(http://via.placeholder.com/2000x200?text=image+placeholder). body(“price”, is(new BigDecimal(12.12)));
Kuna REST Assured on teek ja testid on tegelikult kirjutatud Java-s, saate testid korraldada eraldi Java-failidena, nii et kui peate testi muutma, peate avama ainult ühe faili. Teil pole vaja GUI-d, nii et saate testi hõlpsalt redigeerida isegi SSH-terminali kaudu. Teistega koostöö on üsna lihtne, kuna Java-faile on mis tahes SCM-i abil lihtne hooldada.
JMeter on tuntud kui jõudlustestimise tööriist veebiteenuste ja -rakenduste testimiseks. Sellel on karbist head valikud, näiteks erinevat tüüpi diagrammidega aruanded, mida saate kasutada toimivuskatse mõõdikute kuvamiseks.
Teiselt poolt pole see ka JMeteri peamine kasutusstsenaarium. JMeteriga saate luua REST API funktsionaalsed testid, sealhulgas vastuse kinnitamise.
REST Assuredi esmane kasutusstsenaarium on REST API teenuste funktsionaalne testimine. Sellel on isegi oma vastuse kinnitamise mehhanism (Gherkini süntaks). Kuna REST Assured on Java-teek, saab seda hõlpsasti integreerida ühikutestidega.
Võrdlusuuringute osas ei toeta REST Assured paketiväliseid võrdlusaluseid. Kui soovite seda siiski jõudlustestimiseks kasutada, peate välja töötama oma kohandatud raamistiku REST Assuredi jõudlustestimiseks.
JMeteri teste saab kasutada kahel viisil.
Kasutajaliidesest klõpsates nuppu Käivita:
Käsurealt:
jmeter -n -t your_script.jmx
JMeteri ametlik soovitus on mitte käivitada toimivuskatseid graafilise kasutajaliidese abil, kuna testid töötavad aeglasemalt (taotluste arvu kohta sekundis), võrreldes nende käivitamisega käsurealt.
REST Assured nõuab seevastu eraldi testijooksjat, näiteks jUnit või TestNG (või muul viisil Java-koodi käivitamiseks).
Programmi TestNG abil Eclipse'ist:
Käsurealt, kasutades näiteks Ant ehitamise tööriista:
ant run-tests
Apache JMeteril on oma põhieesmärgi tõttu suur hulk aruandeid, mille saate luua oma testide tulemuste põhjal. Kuna jõudlusteste saate käivitada JMeterist, kuvatakse toimivusmõõdikud tavaliselt järgmiste graafikute abil:
Lisateavet JMeteri aruannete ja aruannete tüüpide kohta saate luua siin .
REST Assured ei loo ühtegi aruannet, seega on see teie ja teie valitud testimisraamistiku otsustada. Mõne üksuse testimise raamistikuga integreerituna saate siiski kasulikke aruandeid HTML-, teksti- või XML-vormingus.
Kui tegemist on testitavate toodete pideva integreerimisega, on nii testide käivitamiseks kui ka tulemuste aruandmiseks väga oluline integreerida oma testiautomaatika raamistik CI tööriistadega.
JMeteri automatiseeritud teste saab Jenkinsiga hõlpsasti integreerida pistikprogrammi jõudlus mis võimaldavad teil konfigureerida Post-buildi toiminguid ja saada Jenkinsi töölehelt kena juhtpaneeli lehe.
REST Assured saab hõlpsasti integreerida ka Jenkinsiga, kuna Jenkinsil on pistikprogrammid peaaegu kõigi testraamistike jaoks; Näiteks tema plugin TestNG mis jällegi võib luua testi tulemuste jaoks tugeva trendikaardi.
See on kategooria, mida ei saa lihtsalt mõõta. Kogukonna tegevus sõltub mitmest tegurist, näiteks tööriista aegumisest või kaastöötajate arvust.
Apache JMeteril on tänapäeval suurem kogukond. Selle põhjuseks on peamiselt asjaolu, et JMeter toodi turule juba ammu ning seda peetakse veebiteenuste ja -rakenduste jõudluskontrolli osas tööstuse standardiks. JMeter avaldab ametlikud väljaanded iga 5-6 kuu tagant . tema GitHubi hoidla on väga aktiivne, iga päev uute kinnitustega. JMeter kasutab Bugzillat probleemide jälgijana ja tal on avatud küsimuste loetelu mida muudetakse sageli. Otsingus on JMeterile üle 23000 tulemuse StackOverflow . JMeteril on suhtlusvõrgustike saitidel ametlik konto Twitter . Facebookis ja LinkedInis pole JMeteri ametlikku kontot, kuid on kaks rühma, millest suurim on see facebooki grupp ja see LinkedIn grupp .
REST Assured on jõudmas peamisse etappi ja sellest on saanud REST API teenuse funktsionaalse testimise automatiseerimise esimene valik, mitme allikaga soovitus. REST Assured on postitanud ametlikud väljaanded kord 6 kuu jooksul viimase kahe aasta jooksul. The GitHubi hoidla Sellel on palju kaastöötajaid ja see on veidi vähem aktiivne kui JMeter, kuid on ka väga aktiivne. REST Assured jälgib probleeme GitHubi hoidlas, nii et kõik on ühes kohas. Sisse StackOverflow , on REST Assured'il üle 2000 otsingutulemuse, seega võime öelda, et see on JMeteri otsingutulemitega võrreldes oluliselt madalam. Mis puutub sotsiaalmeedia gruppidesse, siis ainult LinkedIn grupp tuli JMeteriga võrreldes oluliselt vähem liikmeid. REST Assured kogukond ei pruugi olla nii suur kui JMeteri kogukond, kuid see on väga aktiivne.
Nii JMeteril kui ka REST Assuredil on üksteise ees oma eelised. Kuid sõltuvalt projektist, millega te töötate, on üks teie REST API testimisautomaatika jaoks parem. Mõlemad on väga tugevad, neil on kasulikud testimisvõimalused, head aruandlusvõimalused ja neid saab hõlpsasti integreerida kohandatud testimisraamistikega.
Siin on kokkuvõte kõigist nende kahe populaarse REST-testimisvahendi selles artiklis uuritud võrdluskriteeriumidest:
Apache JMeter | PUHKUS kindel | |
---|---|---|
Nõuab kodeerimisoskust | Ei | Jah (Java) |
Täielik dok | Jah | Jah |
Funktsionaalne testimine | Jah (kuid liigne) | Jah |
Toimivuse test | Jah | Ei (karbist väljas) |
Sobib SCM-i jaoks (Git, P4 ...) | Ei | Jah |
Katsearuanded | Jah | Ei |
Integreerimine CI tööriistadega | Jah | Jah |
Integreerimine ühikutestidega | Ei | Jah |
Katse paralleelsus | Jah | Jah |
Kogukonna tegevus | Jah | Jah |