Sobes.tech
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/plain yerine application/json).
    • Boş istek gövdesi:
      • Gövdesiz istek gönderme.
  • 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.