Sobes.tech
Middle

Donne un exemple de comment tu choisirais les cas de test pour une requête PUT.

sobes.tech IA

Réponse de l'IA

Lors de la sélection des cas de test pour une requête PUT, je me baserais sur les principes suivants:

  1. Scénarios positifs :

    • Mise à jour complète réussie d'une ressource existante avec des données valides.
    • Mise à jour partielle réussie d'une ressource existante (si l'API le supporte).
    • Mise à jour de la ressource en utilisant des valeurs limites pour les champs.
  2. Scénarios négatifs :

    • Ressource non trouvée par l'ID spécifié.
    • Format d'ID de ressource invalide.
    • Type de données invalide dans les champs de la requête.
    • Champs obligatoires manquants dans le corps de la requête.
    • Format incorrect du corps de la requête (par exemple, pas JSON).
    • Tentative de mise à jour de champs qui ne doivent pas être modifiés (par exemple, ID, date de création).
    • Droits d'accès insuffisants pour mettre à jour la ressource.
    • Mise à jour concurrente de la ressource (pour vérifier la gestion des conflits).
  3. Conditions limites :

    • Valeurs maximales autorisées pour les champs numériques.
    • Chaînes vides pour les champs de texte (si autorisé).
    • Caractères spéciaux dans les champs de texte.
    • Chaînes longues pour les champs de texte.
  4. Vérification des effets secondaires :

    • Changement d'autres ressources liées après la mise à jour.
    • Affichage correct des données mises à jour dans d'autres parties du système (par exemple, dans l'interface utilisateur).

Exemple de structure de cas de test (pour la ressource user avec les champs id, name, email) :

ID du Cas de Test Description URL de la Requête Corps de la Requête Code de Statut Attendu Comportement / Corps de la Réponse Attendu
PUT_USR_001 Mise à jour complète réussie /users/123 {"name": "Nouveau Nom", "email": "nouveau@exemple.com"} 200 Données utilisateur mises à jour retournées
PUT_USR_002 Utilisateur non trouvé /users/999 {"name": "Nouveau Nom"} 404 Message d'erreur indiquant que l'utilisateur n'a pas été trouvé
PUT_USR_003 Format d'email invalide /users/123 {"email": "email-invalide"} 400 Message d'erreur indiquant format d'email invalide
PUT_USR_004 Champ obligatoire manquant (si applicable) /users/123 {} 400 Message d'erreur indiquant champ manquant
PUT_USR_005 Valeur limite maximale pour un champ /users/123 {"name": "A" * 255} 200 Données utilisateur mises à jour avec nom long
PUT_USR_006 Tentative de mise à jour d'un champ non modifiable (id) /users/123 {"id": 456, "name": "Nouveau Nom"} 400/403 Message d'erreur indiquant requête interdite ou mauvaise

Bien sûr, l'ensemble spécifique de cas de test dépendra de la spécification de l'API, de la logique métier et de l'architecture du système.