Ugrás a fő tartalomra

Postman API tesztelési folyamat

Postman API tesztelési folyamat





A Postman tesztelési lehetőségei nemcsak a manuális API tesztelést fedik le, hanem lehetőséget adnak automatizált tesztek írására és futtatására is. A Postman JavaScript-alapú tesztszkript motorja lehetővé teszi az API-k állapotának, válaszainak és adatszerkezetének részletes ellenőrzését.

A Postman több API-hívás létrehozására is képes, mint például a SOAP, a REST és a HTTP.

A Postman lehetővé teszi a tesztkészletek egyszerű karbantartását gyűjtemények segítségével. Felhasználók API-hívások gyűjteményét hozhatja létre, amelyeknek különböző kérései és alprogramjai lehetnek és ezeket mappákba rendezheti.

A Postman segítségével több környezetet is létrehozhatunk. Így egyetlen gyűjtemény többféle konfigurációval használható

A Postman lehetőséget ad környezetek és gyűjtemények importálására/exportálására, lehetővé teszi a fájlok egyszerű megosztását.

A Postman oldalsáv gyűjteményekből (tesztek karbantartására használatos, mappákat, almappákat, kéréseket tartalmaz), előzményekből (az összes múltbeli API-kérést rögzíti) és API-kból áll.





🧪 1. Tesztkörnyezet Felállítása

A. Tesztadatok és változók definiálása

A Postman-ben használhatunk globális, környezeti és helyi változókat a kérések dinamikussá tételéhez.
Példa - Környezeti változó beállítása:

---javascript

pm.environment.set("userId", "12345");

Példa - Változó lekérése:

---javascript

let userId = pm.environment.get("userId"); console.log("User ID:", userId);



📝 2. Tesztesetek Definiálása

A Postman teszteket a Tests fülön adhatjuk meg minden egyes kérésnél. A tesztek szkriptek formájában kerülnek megadásra, és JavaScript nyelven írhatók.

A. Alapvető Tesztstruktúra

---javascript

pm.test("Státuszkód 200", function () { pm.response.to.have.status(200); });

Ez a teszt azt ellenőrzi, hogy a válasz státuszkódja 200-e.




📝 3. Tesztelési Lépcsők és Tipikus Teszt Esetek

🔍 A. Általános Tesztelési Stratégia

  1. Státuszkód ellenőrzése
  2. Válasz tartalom típusának ellenőrzése
  3. Válasz adatok tartalmának és struktúrájának ellenőrzése
  4. Szekvenciális tesztesetek (egymásra épülő kéréslánc)


🧪 B. Tesztesetek és Példák

1. Státuszkód Ellenőrzése

---javascript

pm.test("Státuszkód 200 - OK", function () { pm.response.to.have.status(200); });

2. Válasz Típusának Ellenőrzése

---javascript

pm.test("Válasz típusa JSON", function () { pm.response.to.be.json; });

3. Válasz Tartalom Ellenőrzése

---javascript

pm.test("Név mező ellenőrzése", function () { var jsonData = pm.response.json(); pm.expect(jsonData.name).to.eql("John Doe"); });

4. Válasz Szerkezetének Ellenőrzése

---javascript

pm.test("Válasz szerkezet helyes", function () { var jsonData = pm.response.json(); pm.expect(jsonData).to.have.property("id"); pm.expect(jsonData).to.have.property("name"); pm.expect(jsonData).to.have.property("email"); });

5. Dinamikus Változók Tesztelése

Az egyik kérésből nyert adatot egy másik kérésben felhasználjuk.

---javascript

var jsonData = pm.response.json(); pm.environment.set("userId", jsonData.id); pm.test("Felhasználó ID mentése", function () { pm.expect(pm.environment.get("userId")).not.to.be.undefined; });



🔗 4. Tesztsorozat Lépésről Lépésre

A. POST - Új Felhasználó Létrehozása

  • Tesztkód:
    ---javascript

    pm.test("POST válasz státusz 201", function () { pm.response.to.have.status(201); }); var jsonData = pm.response.json(); pm.environment.set("userId", jsonData.id);
  • Ellenőrzés:
    • Válasz státuszkód: 201
    • JSON válasz:
      ---json

      { "id": "12345", "name": "John Doe", "email": "john.doe@example.com" }

B. GET - Felhasználó Lekérdezése

  • Tesztkód:
    ---javascript

    pm.test("GET válasz státusz 200", function () { pm.response.to.have.status(200); }); var jsonData = pm.response.json(); pm.test("Felhasználó neve ellenőrzése", function () { pm.expect(jsonData.name).to.eql("John Doe"); });
  • Ellenőrzés:
    • Státuszkód: 200
    • Név: "John Doe"

C. PUT - Felhasználó Módosítása

  • Tesztkód:
    ---javascript

    pm.test("PUT válasz státusz 200", function () { pm.response.to.have.status(200); }); var jsonData = pm.response.json(); pm.test("Felhasználó neve módosítva", function () { pm.expect(jsonData.name).to.eql("John Smith"); });
  • Ellenőrzés:
    • Státuszkód: 200
    • Név: "John Smith"

D. DELETE - Felhasználó Törlése

  • Tesztkód:
    ---javascript

    pm.test("DELETE válasz státusz 204", function () { pm.response.to.have.status(204); });
  • Ellenőrzés:
    • Státuszkód: 204

📝 5. Teszt Eredmények Értelmezése

TesztlépésTesztállapotStátuszkódVárható Eredmény
POST - Új Felhasználó Létrehozása✔️ Sikeres201Új felhasználó létrejött
GET - Felhasználó Lekérdezése✔️ Sikeres200Helyes felhasználó adat
PUT - Felhasználó Módosítása✔️ Sikeres200Módosított felhasználó adat
DELETE - Felhasználó Törlése✔️ Sikeres204Nincs tartalom, sikeres törlés

🔥 6. Tesztelési Tippek és Best Practices

  • Változók Használata: Környezeti változók dinamikus URL-ekhez és adatokhoz.
  • Adat Validálása: Mindig ellenőrizd a válasz struktúráját és típusát.
  • Teszt Szekvenciák: A kérések között függőségeket kezelj környezeti változókkal.
  • Hibakeresés: Használd a Postman Console-t (View -> Show Postman Console).
  • Automatizálás: Használj Newman CLI-t automatizált tesztfuttatáshoz és CI/CD folyamatokba integráláshoz.

 








Megjegyzések