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