Middle QA ga o'tishdagi #1 ko'nikma. CRUD, Status Codes, JSON, Tests β barchasi sodda misollar bilan.
Tasavvur qiling: Uzum saytida "Savatga qo'shish" tugmasini bosdingiz. Sahifa yangilanmadi, lekin savatga mahsulot qo'shildi. Qanday qilib?
Buning ortida β API bor. Tugma bosilganda sayt "Mahsulotni savatga qo'sh!" degan xabarni serverga yuboradi. Server qabul qiladi va "Bo'ldi!" degan javob qaytaradi.
API (Application Programming Interface) β ikki dasturning bir-biri bilan gaplashish tili. Frontend va Backend o'rtasidagi "ko'prik".
Oddiy qilib: API β ofitsant. Siz menyudan tanlaysiz (frontend), ofitsant oshpazga aytadi (API), oshpaz tayyorlaydi (backend), ovqatni siz uchun olib keladi.
Sayt yoki ilova 2 qismdan iborat: Frontend (ko'rinadigan) va Backend (yashirin).
Siz - foydalanuvchi. Brauzer orqali kirasiz.
Sayt ko'rinishi. HTML, CSS, JavaScript. React, Vue.
Server. Mantiq va biznes qoidalar. Node.js, Python, Java.
Ma'lumotlar bazasi. Foydalanuvchilar saqlanadi.
API β Frontend va Backend o'rtasidagi ko'prik.
POST /login{"token": "abc123"}Hammasi 200 millisekundda!
REST API (Representational State Transfer) β API yozish uslubi. Eng mashhur va sodda.
Asosiy g'oya: Har bir resurs uchun aniq URL va HTTP method ishlatish.
REST API'da 4 ta asosiy "harakat" bor. Ularni CRUD deb ataymiz: Create, Read, Update, Delete.
Misol: Mahsulot katalogi sahifasini ochganingizda β Frontend GET request yuboradi.
Misol: "Mahsulot qo'shish" formasini yuborganingizda β POST request.
Misol: Profil ma'lumotingizni o'zgartirganingizda β PUT request.
Misol: "Savatdan o'chirish" tugmasi β DELETE request.
Server javob qaytarganda, har doim 3 raqamli kod beradi.
2xx = Yaxshi (OK). 4xx = Sizning xatongiz. 5xx = Server xatosi.
Har method qaysi vazifaga to'g'ri keladi?
1-qadam: Holatni bosing. 2-qadam: Qaysi guruh ekanini tanlang.
Endi nazariyani biladigan bo'ldik. Postman β API testing uchun eng mashhur asbob.
Postman β API yuborish va javobni ko'rish uchun asbob. Bepul, oddiy va kuchli.
Oddiy qilib: "API uchun brauzer". Brauzer'da URL yozasiz - sayt ochiladi. Postman'da URL yozasiz - JSON keladi.
Bu testlar avtomatik bajariladi.
JavaScript kod qo'rqitishi mumkin, lekin Postman shablonlar beradi. 3-4 ta test yozsangiz, hammasi tushunarli bo'ladi.
Maydonlarni to'ldiring va Postman ko'rinishida natijani ko'ring:
1-qadam: Pastdagi qadamni bosing. 2-qadam: To'g'ri tartibni tanlang.
Dushanba, 9:30. Click jamoasida siz Middle QA. PO sizga keldi: "Yangi API tayyor β P2P pul o'tkazish. Test qiling."
API: POST /api/transfers Β· Body: { "from_id": 1, "to_id": 2, "amount": 100000 }
Sizdagi vaqt: 1 soat. Qaysi testlarni bajarasiz?
Postman bepul. Real API'lar bor: JSONPlaceholder, Reqres.in. Quyida 3 ta vazifa.
Mac, Windows, Linux uchun bepul. Brauzer versiyasi ham mavjud.
π Postman'ni yuklab olishGET /api/users, POST /api/users, PUT /api/users/2, DELETE /api/users/2. 4 ta request screenshot qiling.Postman Collection (export qilib JSON) β portfoliongizdagi eng kuchli dalil. Intervyu'da: "Mana mening API testing tajribam" β deb ko'rsatasiz!
API testing β Middle QA intervyusining MUHIM mavzusi. 7 ta professional javob.
π‘ Har savol ustiga bosing β javobni ko'rasiz.
Javob: "API β ikki dasturning bir-biri bilan gaplashish tili. Frontend va Backend o'rtasidagi ko'prik."
Nega test qilamiz?
Pro javob: "Men har feature uchun API testlarni avval bajaraman, keyin UI testlarni β Shift Left yondashuvi."
Javob: "REST API'da 4 ta asosiy HTTP method (CRUD):"
GET /productsPOST /productsPUT /products/1DELETE /products/1PATCH: Qisman yangilash uchun (faqat 1-2 maydon). PUT to'liq, PATCH qisman.
Javob: "HTTP Status Code'lar 5 guruhga bo'linadi:"
Eng tez-tez: 200 OK, 201 Created, 400 Bad Request, 401 Unauthorized, 404 Not Found, 500 Server Error
Javob: "Postman β API testing uchun eng mashhur asbob. Mening kundalik workflow'im:"
Pro javob: "Collection'ni Git'ga commit qilaman. Newman bilan CI/CD'da avtomatlashtirib turaman."
Javob: "Har API uchun 5 ta narsa tekshiraman:"
Test scenariolari: Happy path (200), Validation errors (400), Authorization (401), Not found (404), Boundary values
Javob: "JSON β API'larda eng mashhur ma'lumot formati. Asosiy turlari:"
"text" (qo'shtirnoqlar ichida)123 yoki 12.5true yoki false[1, 2, 3]{"name": "iPhone"}Misol: {"id": 1, "name": "iPhone", "price": 12000000, "in_stock": true}
Javob:
API'da:
Authorization: Bearer abc123X-API-Key: xyz789Status code'lar: 401 = Authentication yo'q. 403 = Authorization yo'q (lekin login bor).
Bu darsdan eslab qolishingiz kerak bo'lgan eng muhim g'oyalar