socialgekon.com
  • Tärkein
  • Innovaatio
  • Vinkkejä Ja Työkaluja
  • Työkalut Ja Oppaat
  • Ux-Suunnittelu
Taustaa

REST Varma vs. JMeter: REST-testaustyökalujen vertailu

Automaattinen testaus on kriittinen osa testausprosessia. ohjelmistojen laadunvalvonta . Mutta REST (API) -sovellusliittymien testaaminen voi olla hankalaa. Monet niistä, jotka käyttävät manuaalista REST API -testausta, unohtavat yksityiskohdat ja kaipaavat tapoja säästää aikaa.

Kaikilla onnistuneesti testatuilla REST API -palveluilla on seuraavat alueet:

  • Testaus, onko API-palvelu REST-standardien mukainen
  • API-palvelukoodien testi
  • Vahvistamalla API-palvelun vastaussisältö
  • API-palvelun suorituskyvyn vertailu

Työkalut REST-testaukseen



Tätä varten tarvitset oikeat työkalut. Apache JMeter ja REST Assured ovat kaksi suosittua REST-testaustyökalua REST API -palvelujen testaamiseen. Voit oppia lisää siitä, miten voit käyttää niitä käytännössä tässä Y tässä .

Tässä artikkelissa opit näiden kahden työkalun edut ja haitat sekä sen, missä ne sopivat parhaiten olemassa oleviin REST API -projekteihisi.

Asennuksen helppous

Edellytys on: JMeter ja REST Assured edellyttävät Java-sovellusta, joten Java-tietokoneeseen on oltava asennettuna, jotta JMeter tai REST Assured voidaan suorittaa.

Apache JMeterin asentaminen on hyvin yksinkertaista: siirry kohtaan lataussivu , valitse ZIP tai TAR, lataa tiedosto, pura se ja olet valmis menemään.

Siirry kansioon, josta olet purkanut tiedoston, alikansioon bin ja suorita jmeter.bat (tai vastaavaa käyttöjärjestelmällesi, jos se ei ole Windows). Katso tarkempia tietoja Apache JMeterin määrittämisestä tästä sivu .

REST Assuredin asentaminen on hieman erilainen kokemus. REST Assured ei ole itsenäinen työkalu. Se on Java-kirjasto. Jos haluat käyttää sitä, sinun on määritettävä uusi Java-projekti ja sisällytettävä se projektisi kirjastoksi. Tietysti on tukea monille käännöstyökaluille, joten voit vain osoittaa riippuvuusratkaisijasi johonkin julkiseen arkistoon (Maven). Löydät tarkempia tietoja REST Assured -ohjelman määrittämisestä [täältä] (https://semaphoreci.com/community/tutorials/testing-rest-endpoints-using-rest-assured.

Dokumentointi

Apache JMeter dokumentointi se löytyy viralliselta JMeter-verkkosivustolta. Tarjoaa melko kattavan dokumentaation alusta asti monimutkaisiin toimintoihin, kuten kuuntelijat. JMeterin virallisilta verkkosivuilta löydät myös linkkejä erittäin rikkaisiin resursseihin, kuten opetusvideoihin. Jos haluat lukea vähemmän ja katsella enemmän, tämä on ehdottomasti bonus sinulle.

dokumentointi REST Assuredista, kuten itse työkalu / kirjasto, löytyy Github-arkistosta. Siinä on laaja luettelo online-dokumentaatiossa luetelluista ominaisuuksista, joissa on erittäin yksityiskohtaiset selitykset siitä, miten saavuttaa jotain. Kaikki dokumentaatio on kuitenkin loistava verkkosivu, ei helpoin tapa tutkia työkalua.

REST-testien automaattinen luominen ja ylläpito

Apache JMeter, erillisenä sovelluksena, jossa on graafinen käyttöliittymä (GUI), antaa sinun luoda testisi graafisesta käyttöliittymästä. Tästä voi olla hyötyä varsinkin JMeteristä tuotujen entiteettien hierarkian vuoksi - kaikki testissä luomasi näytetään puumaisessa esityksessä JMeter-käyttöliittymässä.

Testin luomiseksi ei tarvitse olla koodaustaitoja. GUI ei kuitenkaan rajoita mitään testaussuunnittelun mahdollisuuksia. Jos haluat silti lisätä mukautettua aikataulua / kulkua, BeanShell-komponentit antavat sinun tehdä sen.

JMeter GUI -näyttökuva

Kun tallennat JMeter-projektisi, kaikki luomasi tallennetaan suureen XML-tiedostoon (laajennuksella .jmx). Yleensä jopa pienen muutoksen saamiseksi johonkin testeistä joudut (todennäköisesti) avaamaan projektin uudelleen käyttöliittymässä muutoksen tekemiseksi.

Jos sinun on tehtävä yhteistyötä muiden kanssa samalla JMeter-projektitiedostolla, tätä suurta XML-tiedostoa ei ole helppo ylläpitää millä tahansa lähdeohjauksen hallintajärjestelmällä (kuten Git, SVN, Perforce jne.).

REST Assured toisaalta vaatii Java-koodaustaitoja testien luomiseen. Testien luomiseen ei ole helppokäyttöistä käyttöliittymää. REST Assured -sovelluksen avulla voit kuitenkin kirjoittaa testit Gherkin-kielellä (Given-When-Then-syntaksilla), joten vaikka tarvitset Java-koodaustaitoja, testit ovat melko luettavissa.

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)));

Koska REST Assured on kirjasto ja testit on kirjoitettu Java-kielellä, voit järjestää testit erillisiksi Java-tiedostoiksi, joten kun sinun on vaihdettava testiä, sinun on avattava vain yksi tiedosto. Et tarvitse graafista käyttöliittymää, joten voit muokata testiä helposti jopa SSH-päätelaitteen kautta. Yhteistyö muiden kanssa on melko yksinkertaista, koska Java-tiedostoja on helppo ylläpitää millä tahansa SCM: llä.

REST-testityypit

JMeter on tunnettu suorituskyvyn testaustyökaluna verkkopalvelujen ja -sovellusten testaamiseen. Siinä on hyvät vaihtoehdot heti, kuten raportit, joissa on erityyppisiä kaavioita, joiden avulla voit näyttää suorituskykytestitiedot.

JMeter Response Times -näyttökuva

Toisaalta, se ei ole myöskään JMeterin pääkäyttökenaario. Voit luoda toiminnallisia testejä REST-sovellusliittymälle JMeterin avulla, mukaan lukien vastauksen väittäminen.

REST Assuredin ensisijainen käyttöskenaario on REST API -palvelujen toiminnallinen testaus. Siinä on jopa oma vastausvahvistusmekanisminsa (Gherkinin syntaksit). Koska REST Assured on Java-kirjasto, se voidaan helposti integroida yksikkötesteihin.

Vertailuarvojen osalta REST Assured ei tue valmiita vertailuarvoja. Jos kuitenkin haluat käyttää sitä suorituskyvyn testaamiseen, sinun on kehitettävä oma mukautettu kehys suorituskyvyn testaamiseen REST Assured -palvelussa.

Testataan suoritusta

JMeter-testeihin voidaan vedota kahdella tavalla.

Napsauta käyttöliittymästä Suorita-painiketta:

Näyttökuva JMeterin Suorita-painikkeesta

Komentoriviltä:

jmeter -n -t your_script.jmx

JMeterin virallinen suositus ei ole suorittaa suoritustestejä käyttöliittymällä, koska testit suoritetaan hitaammin (pyyntöjen määrää sekunnissa) verrattuna niiden suorittamiseen komentoriviltä.

REST Assured puolestaan ​​edellyttää erillistä testijuoksijaa, esimerkiksi jUnit tai TestNG (tai millä tahansa muulla tavalla Java-koodin suorittamiseksi).

Eclipsestä TestNG: n avulla:

REST Assured Eclipse -näyttökuva

Komentoriviltä esimerkiksi Ant-rakennustyökalu:

ant run-tests

Raporttityypit

Apache JMeterillä on pääasiallisen tarkoituksensa vuoksi suuri määrä raporttityyppejä, jotka voit luoda testien tuloksista. Koska suorituskykytestejä voidaan suorittaa JMeteristä, suorituskykymittarit näytetään yleensä seuraavanlaisten kaavioiden avulla:

JMeter Performance Report

Voit oppia lisää JMeter-raporteista ja niiden tyypeistä, joista voit luoda tässä .

REST Assured ei luo raportteja, joten se on sinun ja valitsemasi testauskehyksen tehtävä. Integroituna joihinkin yksikkötestauskehyksiin saat kuitenkin hyödyllisiä raportteja HTML-, teksti- tai XML-muodossa.

Ilmoita REST Assured HTML

Jenkins-integraatio

Testattavien tuotteiden jatkuvan integroinnin osalta on erittäin tärkeää integroida testausautomaatiokehyksesi CI-työkaluihin sekä testien suorittamista että tulosten raportointia varten.

JMeterin automaattiset testit voidaan integroida helposti Jenkinsin kanssa laajennuksen suorituskyky joiden avulla voit määrittää Post-build-toiminnot ja saada mukavan hallintapaneelisivun Jenkins-työsivulta.

JMeter Jenkins -näyttökuva

REST Assured voidaan myös helposti integroida Jenkinsin kanssa, koska Jenkinsillä on laajennuksia melkein kaikille testikehyksille; Esimerkiksi hän laajennus TestNG mikä taas voi luoda vankan trendikaavion testituloksille.

REST Assured Jenkins -kuvakaappaus

Yhteisön toiminta

Tämä on luokka, jota ei voida helposti mitata. Yhteisön toiminta riippuu useista tekijöistä, kuten työkalun vanhentumisesta tai osallistujien lukumäärästä.

Apache JMeterillä on nykyään suurempi yhteisö. Tämä johtuu pääasiassa siitä, että JMeter tuotiin markkinoille kauan sitten ja sitä pidetään alan standardina verkkopalvelujen ja -sovellusten suorituskyvyn testauksessa. JMeter julkaisee viralliset julkaisut 5-6 kuukauden välein . hänen GitHub-arkisto on erittäin aktiivinen, uusia vahvistuksia päivittäin. JMeter käyttää Bugzillaa ongelmanseuraajana ja sillä on luettelo avoimista asioista joita vaihdetaan usein. Haulla on yli 23000 tulosta JMeterille Pino ylivuoto . JMeterillä on sosiaalisen verkostoitumisen sivustoilla virallinen tili Viserrys . Facebookissa ja LinkedInissä ei ole virallista tiliä JMeterille, mutta on olemassa kaksi ryhmää, joista suurin on tämä facebook-ryhmä ja tämä LinkedIn-ryhmä .

REST Assured on saavuttamassa päävaiheen ja siitä on tullut ensimmäinen valinta, monilähdeinen suositus REST API -palvelun toiminnallisen testauksen automatisoinnissa. REST Assured on lähettänyt viestiä viralliset tiedotteet kerran kuussa kuukaudessa kahden viime vuoden ajan. GitHub-arkisto Sillä on paljon avustajia ja se on vähän vähemmän aktiivinen kuin JMeter, mutta se on myös erittäin aktiivinen. REST Assured seuraa ongelmia GitHub-arkistossa, joten kaikki on yhdessä paikassa. Sisään Pino ylivuoto , REST Assured -tuloksia on yli 2000, joten voimme sanoa, että se on huomattavasti alhaisempi verrattuna JMeter-hakutuloksiin. Mitä tulee sosiaalisen median ryhmiin, vain LinkedIn-ryhmä tuli huomattavasti vähemmän jäseniä kuin JMeter. REST Assured -yhteisö ei välttämättä ole yhtä suuri kuin JMeter-yhteisö, mutta se on hyvin aktiivinen.

Yhteenveto

Sekä JMeterillä että REST Assuredilla on etunsa toisiinsa nähden. Mutta projektista riippuen, jossa työskentelet, yksi on parempi kuin toinen REST API -testiautomaatiollesi. Molemmat ovat erittäin vankkoja, niillä on hyödyllisiä testausvaihtoehtoja, niillä on hyvät raportointimahdollisuudet ja ne voidaan helposti integroida mukautettuihin testauskehyksiin.

Tässä on yhteenveto kaikista tässä artikkelissa tutkituista vertailukriteereistä näille kahdelle suositulle REST-testaustyökalulle:

Apache JMeter Vakuutan
Edellyttää koodaustaitoja Ei Kyllä (Java)
Koko asiak Joo Joo
Toiminnallinen testaus Kyllä (mutta liiallinen) Joo
Suorituskykytesti Joo Ei (pakkauksesta)
Soveltuu SCM: lle (Git, P4 ...) Ei Joo
Testiraportit Joo Ei
Integrointi CI-työkaluihin Joo Joo
Integrointi yksikötesteihin Ei Joo
Testaa rinnakkaisuus Joo Joo
Yhteisön toiminta Joo Joo

Kuinka käyttää Instagram-mainoksia valokuvaustilisi kasvattamiseen

Lähettäminen

Kuinka käyttää Instagram-mainoksia valokuvaustilisi kasvattamiseen
TensorFlow'n käytön aloittaminen: koneoppimisopetus

TensorFlow'n käytön aloittaminen: koneoppimisopetus

Teknologia

Suosittu Viestiä
Kuinka olla hämmästyttävä finanssikonsultti
Kuinka olla hämmästyttävä finanssikonsultti
TensorFlow'n käytön aloittaminen: koneoppimisopetus
TensorFlow'n käytön aloittaminen: koneoppimisopetus
Lightroom-opetusohjelma: Kuinka muokata kuin ammattilainen Lightroomissa iPhonelle
Lightroom-opetusohjelma: Kuinka muokata kuin ammattilainen Lightroomissa iPhonelle
Kuinka tehdä vesileima valokuviesi ja miksi sinun pitäisi tehdä tämä
Kuinka tehdä vesileima valokuviesi ja miksi sinun pitäisi tehdä tämä
Yritysverouudistus ja arvostuksen tulevaisuus
Yritysverouudistus ja arvostuksen tulevaisuus
 
3D-tulostus: Pitäisikö suunnittelijoiden ja kehittäjien ottaa huomioon?
3D-tulostus: Pitäisikö suunnittelijoiden ja kehittäjien ottaa huomioon?
Ennakoiva suunnittelu: Kuinka luoda maagisia käyttökokemuksia
Ennakoiva suunnittelu: Kuinka luoda maagisia käyttökokemuksia
Mini-opetusohjelma - Työskentely Figma-painikkeen komponenttien kanssa
Mini-opetusohjelma - Työskentely Figma-painikkeen komponenttien kanssa
ApeeScape käynnistää harjoittelun koulutus- ja EdTech-markkinoiden palvelemiseksi Elite Talent Network -verkollaan
ApeeScape käynnistää harjoittelun koulutus- ja EdTech-markkinoiden palvelemiseksi Elite Talent Network -verkollaan
Hotjar: UX- ja muuntovihjeitä
Hotjar: UX- ja muuntovihjeitä
Luokat
VarastointiiOS-vinkkejäSuunnitteluprosessiKaukosäätimen NousuWeb-KäyttöliittymäOngelmien karttoittaminenSijoittajat Ja RahoitusLähettäminenTietojenkäsittely Ja TietokannatIhmiset Ja Joukkueet

© 2023 | Kaikki Oikeudet Pidätetään

socialgekon.com