Middle
Bir PUT isteği için test vakalarını nasıl seçeceğine dair bir örnek verebilir misin?
sobes.tech yapay zeka
AI'dan gelen yanıt
Aşağıdakilere dayanarak test vakalarını seçerdim:
-
Başarılı güncelleme:
- Tüm alanları geçerli değerlerle güncellemek.
- Bir veya birkaç alanı güncelleyip diğerlerini değiştirmemek.
- Sınır değerleriyle alanları güncellemek (uygunsa).
-
Başarısız güncelleme (negatif testler):
- Geçersiz veriler:
- Alanlar için yanlış veri formatı (örneğin, sayı yerine dize).
- Maksimum uzunluğu aşan veya izin verilen aralığın dışında kalan değerler.
- İstek gövdesinde zorunlu alanların olmaması.
- Mevcut olmayan kaynak:
- Sistem içinde olmayan bir ID ile PUT isteği.
- Veri çakışması:
- Bir başka kullanıcı tarafından değiştirilmiş bir kaynağı güncelleme girişimi (sürüm kontrolü veya kilitleme mekanizması kullanılıyorsa).
- Yetki eksikliği:
- Gerekli izinler olmadan kaynağı güncelleme girişimi.
- Doğrulama hataları:
- İş mantığı veya veritabanı kısıtlamalarının ihlali (örneğin, benzersiz değerin yinelenmesi).
- Yanlış Content-Type:
- Beklenenden farklı bir Content-Type ile istek gönderme (örneğin,
text/plainyerineapplication/json).
- Beklenenden farklı bir Content-Type ile istek gönderme (örneğin,
- Boş istek gövdesi:
- Gövdesiz istek gönderme.
- Geçersiz veriler:
-
Sınır koşulları:
- En az alanla kaynağı güncelleme (mümkünse).
- En fazla alanla kaynağı güncelleme.
- Ek alanların gövdeye iletilmesi durumunda davranışın kontrolü.
Test vakası yapısına örnek:
| Durum | Açıklama | Beklenen sonuç |
|---|---|---|
| Başarılı güncelleme | Tüm alanlar doğru değerlerle güncellenir. | 200 OK / 204 No Content (API'ye bağlı) |
| Mevcut olmayan ID | Mevcut olmayan bir ID ile kaynağı güncelleme girişimi. | 404 Not Found |
| Geçersiz veri formatı | Sayısal alanı dize ile güncelleme girişimi. | 400 Bad Request |
| Zorunlu alan eksikliği | Zorunlu olarak işaretlenmiş alanın gövdeye eklenmemesi. | 400 Bad Request |
| Yetki eksikliği | Yetkisiz kullanıcının kaynağı güncelleme girişimi. | 403 Forbidden |
Otomasyon için RestAssured (Java), Requests (Python) veya Supertest (Node.js) gibi çerçeveler ve test verisi üretim araçları kullanırdım.