Middle
PUT so'rovi uchun test holatlarini qanday tanlashni misol qilib keltiring.
sobes.tech AI
AIdan javob
PUT so'rovi uchun test holatlarini tanlashda, turli jihatlarga e'tibor qaratib, quyidagi yondashuvlarni qo'llardim:
-
To'g'ri ma'lumotlar:
- To'g'ri va to'liq ma'lumotlar bilan yozuvni yaratish / o'zgartirish.
- Faqat ba'zi maydonlarni o'zgartirish, qolganlari o'zgarmasdan qoladi.
- Barcha maydonlarni yangi, to'g'ri qiymatlar bilan o'zgartirish.
- Raqamli maydonlar uchun chegaraviy qiymatlarni ishlatish (minimal, maksimal).
- Tavsifga ruxsat etilgan turli ma'lumot formatlarini ishlatish (masalan, sana, vaqt).
-
Noto'g'ri ma'lumotlar:
- Maydon turi noto'g'ri bo'lgan ma'lumotlarni yuborish (masalan, satr o'rniga raqam).
- Satr uzunligi yoki raqam diapazoni cheklovlarini buzadigan ma'lumotlarni yuborish.
- Maydonning yagona bo'lishini buzadigan ma'lumotlarni yuborish (agar mavjud bo'lsa).
- Noto'g'ri formatdagi ma'lumotlarni yuborish (noto'g'ri sana, email).
- Majburiy maydonlarning mavjud emasligi.
- Bo'sh satrlar yoki null qiymatlarni yuborish, agar maydonlar bo'sh bo'lishi mumkin bo'lmasa.
-
Resurs mavjudligi:
- Mavjud resursga PUT so'rovi.
- Mavjud bo'lmagan resursga PUT so'rovi (kutilgan javob 404).
-
Avtorizatsiya va autentifikatsiya:
- Resursni o'zgartirish huquqiga ega bo'lgan foydalanuvchi bilan to'g'ri ma'lumotlar bilan PUT so'rovi.
- Noto'g'ri yoki yo'q ma'lumotlar bilan PUT so'rovi (kutilgan 401 No' authorization yoki 403 Forbidden).
- Bu resursni o'zgartirish huquqi bo'lmagan foydalanuvchidan PUT so'rovi (kutilgan 403 Forbidden).
-
Sinhronlashtirish va raqobat:
- Bir vaqtning o'zida bir xil resursga PUT so'rovlari (masalan, etag bilan).
-
Xatoliklarni boshqarish:
- Server tomonida xatolik keltirib chiqarishi kerak bo'lgan PUT so'rovi (masalan, ichki nosozlik sababli).
Test holatlari jadvali misoli:
| ID | Test holatining tavsifi | Old shartlar | Test ma'lumotlari (so'rovning qismi) | Kutilyotgan natija | HTTP kodi |
|---|---|---|---|---|---|
| PUT-001 | Mavjud resursni to'g'ri ma'lumotlar bilan o'zgartirish | ID=123 bo'lgan resurs mavjud | { "name": "Yangi nom", "value": 100 } |
Resurs muvaffaqiyatli yangilandi, ma'lumotlar so'rovga mos keladi | 200 |
| PUT-002 | Mavjud resursni qisman yangilash bilan o'zgartirish | ID=123 bo'lgan resurs mavjud | { "name": "Faqat nom o'zgartirildi" } |
Resurs muvaffaqiyatli yangilandi, faqat name maydoni o'zgartirildi | 200 |
| PUT-003 | Mavjud bo'lmagan resursni o'zgartirishga urinish | ID=999 bo'lgan resurs mavjud emas | { "name": "Mavjud bo'lmagan yangilash" } |
Resurs topilmadi | 404 |
| PUT-004 | Noto'g'ri ma'lumot turi bilan resursni o'zgartirish | ID=123 bo'lgan resurs mavjud | { "value": "raqam emas" } |
Ma'lumotlarni validatsiya qilish xatosi | 400 |
| PUT-005 | Autentifikatsiya qilmasdan resursni o'zgartirish | ID=123 bo'lgan resurs mavjud, so'rov tokensiz | { "name": "Ruxsatsiz o'zgartirish" } |
Ruxsatsiz | 401 |
Har bir test holati atomik bo'lishi va PUT so'rovining aniq bir jihatini tekshirish uchun bo'lishi kerak.