Vastausten validointi assertioneilla
Lisää assertioita palvelimen vastausten tarkistamiseksi ja varmista oikeellisuus kuormitustestauksen aikana.
Vastausten validointi assertioneilla on ilmainen Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-kurssilla on yhteensä 4 oppituntia.
Mitä assertiot ovat?
Tervetuloa! Suorituskykytestauksessa ei riitä, että tiedätte, onko sovelluksen toiminta nopeaa. Teidän on myös varmistettava, että se palauttaa oikeat vastaukset.
Tässä assertiot tulevat avuksi. Ne ovat testisuunnitelmaan lisättäviä tarkistuksia, joilla palvelimelta saatua todellista vastausta verrataan odotettuun tulokseen.
- Oikeellisuuden varmistaminen: Varmistakaa, että palvelin lähettää oikeat tiedot.
- Virheiden havaitseminen: Tunnistakaa odottamattomat virheilmoitukset tai puuttuva sisältö.
- Suorituskyvyn tarkistaminen: Tarkistakaa, täyttävätkö vastausajat tai vastausten koot määritetyt ehdot.
Miksi assertiot ovat tärkeitä
Kuvitelkaa suorittavanne kuormitustestiä tuhansilla käyttäjillä. Jos sovellus alkaa kuormituksen aikana lähettää virheellisiä tietoja tai virhesivuja, pelkkä vastausajan mittaaminen ei kerro koko totuutta.
Assertioiden avulla voitte:
- Tunnistaa toiminnalliset ongelmat: Sovelluksen pitäisi toimia odotetusti myös kuormituksen alaisena.
- Varmistaa tietojen eheyden: Varmistakaa, että haetut tai lähetetyt tiedot ovat täydellisiä ja täsmällisiä.
- Asettaa suorituskykyrajat: Hylätkää testi, jos vastaukset ovat liian hitaita tai suuria.
Ne muuttavat yksinkertaisen kuormitustestin kattavammaksi suorituskyvyn validoinniksi.
Assertioiden lisääminen JMeterissä
Assertion lisääminen JMeterissä on suoraviivaista. Voitte lisätä sen Samplerin, Transaction Controllerin tai jopa suoraan Test Planin tai Thread Groupin alielementiksi.
Lisätkää assertion seuraavasti:
- Napsauttakaa hiiren oikealla painikkeella elementtiä, johon haluatte kohdistaa assertionin (esimerkiksi HTTP Request).
- Siirtäkää osoitin kohtaan Add > Assertions.
- Valitkaa lisättävän assertionin tyyppi (esimerkiksi Response Assertion).
Assertiot kohdistuvat tämän jälkeen elementtiin, jonka alielementtejä ne ovat (tai sen alielementteihin, jos ne on lisätty ylemmälle tasolle).
Response Assertion: monipuolinen perustyökalu
Response Assertion on yksi yleisimmin käytetyistä assertion-tyypeistä. Sen avulla voitte tarkistaa tiettyjä tekstikuvioita, säännöllisiä lausekkeita tai kokonaisia merkkijonoja palvelimen vastauksen eri osista.
Voitte määrittää sen tarkistamaan:
- Response Body: Sivun tai rajapinnan pääsisällön.
- Response Headers: HTTP-otsakkeet, kuten 'Content-Type'.
- Response Code: HTTP-tilakoodin (esimerkiksi 200 tai 404).
- Response Message: HTTP-tilaviestin (esimerkiksi 'OK' tai 'Not Found').
Voitte myös valita vertailutavan: 'Contains', 'Matches', 'Equals' tai 'Substring'.
Response Assertion -esimerkki
Oletetaan, että lähetätte HTTP-pyynnön kirjautumissivulle ja odotatte onnistuneen kirjautumisen jälkeen seuraavalla sivulla tekstiä "Welcome, User!".
Voisitte määrittää Response Assertionin esimerkiksi näin:
- Apply to: Main sample only
- Response Field to Test: Text Response
- Pattern Matching Rules: Contains
- Patterns to Test:
Welcome, User!
Jos vastausrunk o sisältää tämän tekstin, assertion hyväksytään. Muussa tapauksessa se hylätään, mikä voi viitata ongelmaan.
Patterns to Test:
Welcome, User!Duration Assertion: aikarajat
Vaikka vastausaika on keskeinen suorituskykymittari, joskus on tarpeen asettaa tiukat rajat. Duration Assertion mahdollistaa tämän.
Se tarkistaa, onko näytteen vastausaika enintään määritetty enimmäiskesto millisekunteina.
- Miksi sitä käytetään? Kriittisten tapahtumien SLA-sopimusten mukaisten vaatimusten varmistamiseen.
- Määritys: Syöttäkää suurin sallittu kesto millisekunteina.
Jos pyyntö kestää määritettyä kestoa kauemmin, assertion hylätään ja suorituskyvyn pullonkaula korostuu.
Size Assertion: tietojen täydellisyys
Size Assertion auttaa tarkistamaan palvelimen vastauksen koon. Tästä voi olla hyötyä seuraavissa tilanteissa:
- Puuttuvien vastausten havaitseminen: Jos vastaus on odottamattoman pieni, se voi viitata virheeseen tai katkenneisiin tietoihin.
- Liian suurten vastausten tarkistaminen: Jos vastaus on liian suuri, se voi viitata tehottomaan tiedonsiirtoon.
Voitte määrittää koon tavuina ja valita vertailuoperaattorin, kuten 'Equals', 'Greater Than', 'Less Than', 'Not Equals', 'Greater Than or Equals' tai 'Less Than or Equals'.
JSON Assertion: API-vastauksille
Monet nykyaikaiset sovellukset käyttävät JSON-muotoa (JavaScript Object Notation) API-viestintään. JMeterin JSON Assertion mahdollistaa JSON-vastauksen tiettyjen arvojen validoinnin JSONPath-lausekkeiden avulla.
Voitte esimerkiksi tarkistaa, onko käyttäjän 'status' JSON-vastauksessa 'active':
- JSONPath Expression:
$.user.status - Expected Value:
active
Tämä on paljon täsmällisempää kuin Response Assertionin käyttäminen säännöllisten lausekkeiden kanssa monimutkaisen JSON-rakenteen tarkistamiseen.
Example JSON:
{
"user": {
"id": 123,
"name": "Alice",
"status": "active"
}
}
JSONPath to get status:
$.user.statusXML Assertion: XML-vastauksille
Jos sovelluksen viestintä perustuu XML:ään, XML Assertion on sopiva työkalu. Sen avulla voitte validoida XML-vastauksia XPath-lausekkeilla.
JSONPathin tavoin XPath auttaa siirtymään XML-asiakirjassa ja valitsemaan siitä tiettyjä solmuja tai arvoja.
Voitte esimerkiksi tarkistaa tuotteen 'price'-arvon:
- XPath Expression:
//item/price/text() - Expected Value:
19.99
Näin varmistetaan, että XML-rakenne ja sen tiedot ovat odotetun mukaisia.
Example XML:
<catalog>
<item>
<name>Book</name>
<price>19.99</price>
</item>
</catalog>
XPath to get price:
//item/price/text()Assertion-haaste
Testaatte verkkokaupan APIa. Mitä assertioita käyttäisitte seuraavissa tilanteissa?
Kertaus: validoikaa vastauksenne
Olette oppineet, kuinka tärkeitä assertiot ovat sovelluksen vastausten oikeellisuuden varmistamisessa suorituskykytestauksen aikana. Niiden avulla voitte tehdä muutakin kuin mitata nopeutta.
- Response Assertion: Tarkistaa tekstit ja kuviot vastausten eri kentistä.
- Duration Assertion: Varmistaa vastausaikojen pysymisen määritetyissä rajoissa.
- Size Assertion: Validoi palvelimen vastauksen koon.
- JSON Assertion: Käyttää JSONPathia JSON-vastausten arvojen validointiin.
- XML Assertion: Käyttää XPathia XML-vastausten arvojen validointiin.
Käyttämällä assertioita tehokkaasti rakennatte luotettavampia ja vankempia suorituskykytestejä!
Opi Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6) tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Vastausten validointi assertioneilla” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-oppimispolun 3 oppituntia, myös oppitunnin “Vastausten validointi assertioneilla”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Vastausten validointi assertioneilla”?
Lisää assertioita palvelimen vastausten tarkistamiseksi ja varmista oikeellisuus kuormitustestauksen aikana. Harjoittelet Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Vastausten validointi assertioneilla”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-oppitunnilla?
Kyllä. Jokainen Kuormitustestaus ja suorituskyvyn vertailumittaus (JMeter ja k6)-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Logiikka- ja silmukkakontrollerit
- Vastausten validointi assertioneilla
- Ajastimet realistiseen tahditukseen
- Hajautettu testaus etäpalvelimilla