Middle
PUT sorğusu üçün test hallarını necə seçəcəyinizə nümunə göstərə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Aşa aşağıdakıları əsas götürərək test hallarını seçərdim:
-
Uğurlu yeniləmə:
- Bütün sahələri düzgün dəyərlərlə yeniləmək.
- Bir və ya bir neçə sahəni yeniləyib digər sahələri dəyişməmək.
- Sahələri sərhəd dəyərləri ilə yeniləmək (əgər tətbiq olunursa).
-
Uğursuz yeniləmə (mənfi testlər):
- Yanlış məlumatlar:
- Sahələr üçün düzgün olmayan məlumat formatı (məsələn, ədədlə yerinə sətir).
- Maksimum uzunluğu aşan və ya icazə verilən diapazondan kənar dəyərlər.
- Tələbin gövdəsində vacib sahələrin olmaması.
- Mövcud olmayan resurs:
- Sistemdə olmayan ID ilə PUT sorğusu.
- Məlumatların ziddiyyəti:
- Başqa istifadəçi tərəfindən dəyişdirilmiş resursu yeniləməyə cəhd (əgər versiya idarəetmə və ya kilidləmə mexanizmi istifadə olunursa).
- İcazə çatışmazlığı:
- Uyğun icazələr olmadan resursu yeniləməyə cəhd.
- Doğrulama xətaları:
- Biznes məntiqi və ya verilənlər bazası məhdudiyyətlərinin pozulması (məsələn, unikal dəyərin təkrarlanması).
- Yanlış Content-Type:
- Sorğunu gözlənilən Content-Type-dən fərqli ilə göndərmək (məsələn,
text/plainəvəzinəapplication/json).
- Sorğunu gözlənilən Content-Type-dən fərqli ilə göndərmək (məsələn,
- Boş sorğu gövdəsi:
- Gövdəsiz sorğu göndərmək.
- Yanlış məlumatlar:
-
Sərhəd şərtləri:
- Minimum sahələr dəsti ilə resursu yeniləmək (əgər icazə verilirsə).
- Maksimum sahələr dəsti ilə resursu yeniləmək.
- Əlavə və ya gözlənilməyən sahələri göndərərkən davranışını yoxlamaq.
Test hallarının nümunə strukturu:
| Hal | Təsviri | Gözlənilən nəticə |
|---|---|---|
| Uğurlu yeniləmə | Bütün sahələri düzgün dəyərlərlə yeniləmək. | 200 OK / 204 No Content (API-dən asılıdır) |
| Mövcud olmayan ID | Mövcud olmayan ID ilə resursu yeniləməyə cəhd. | 404 Not Found |
| Yanlış məlumat formatı | Rəqəmli sahəni sətir ilə yeniləməyə cəhd. | 400 Bad Request |
| Zəruri sahə yoxdu | Sorğu gövdəsində zəruri kimi işarələnmiş sahənin olmaması. | 400 Bad Request |
| İcazə çatışmazlığı | İstifadəçi icazəsiz resursu yeniləməyə cəhd edir. | 403 Forbidden |
Avtomatlaşdırma üçün, RestAssured (Java), Requests (Python) və ya Supertest (Node.js) kimi çərçivələr və test məlumatlarının yaradılması üçün alətlərdən istifadə edərdim.