Middle
Donnez un exemple de comment vous choisiriez les cas de test pour une requête PUT.
sobes.tech IA
Réponse de l'IA
Pour la sélection des cas de test pour la requête PUT, j'appliquerais les approches suivantes, en me concentrant sur différents aspects:
-
Données valides :
- Création / modification d'un enregistrement avec des données correctes et complètes.
- Modification uniquement de certains champs, les autres restant inchangés.
- Modification de tous les champs avec de nouvelles valeurs valides.
- Utilisation de valeurs limites pour les champs numériques (minimum, maximum).
- Utilisation de différents formats de données autorisés par la spécification (par exemple, date, heure).
-
Données non valides :
- Envoi de données avec un type de champ incorrect (par exemple, chaîne au lieu de nombre).
- Envoi de données violant les restrictions de longueur de chaîne ou de plage de nombres.
- Envoi de données violant l'unicité du champ (si applicable).
- Envoi de données avec un format incorrect (date invalide, email).
- Manque de champs obligatoires.
- Envoi de chaînes vides ou null pour des champs qui ne doivent pas être vides.
-
Existence de la ressource :
- Requête PUT à une ressource existante.
- Requête PUT à une ressource qui n'existe pas (réponse attendue 404).
-
Autorisation et authentification :
- Requête PUT avec des identifiants corrects d'un utilisateur autorisé à modifier la ressource.
- Requête PUT avec des identifiants incorrects ou absents (attendu 401 Non autorisé ou 403 Interdit).
- Requête PUT d'un utilisateur sans les droits nécessaires pour modifier cette ressource (attendu 403 Interdit).
-
Synchronisation et concurrence :
- Requêtes PUT simultanées sur la même ressource (par exemple, en utilisant etag).
-
Gestion des erreurs :
- Requête PUT qui doit provoquer une erreur côté serveur (par exemple, en raison d'une défaillance interne).
Exemple de tableau avec des cas de test :
| ID | Description du cas de test | Prérequis | Données de test (partie de la requête) | Résultat attendu | Code HTTP |
|---|---|---|---|---|---|
| PUT-001 | Modification d'une ressource existante avec des données valides | Ressource avec ID=123 existe | { "name": "Nouveau Nom", "value": 100 } |
Ressource mise à jour avec succès, les données correspondent à la requête | 200 |
| PUT-002 | Modification d'une ressource existante avec mise à jour partielle | Ressource avec ID=123 existe | { "name": "Nom uniquement changé" } |
Ressource mise à jour avec succès, seul le champ name modifié | 200 |
| PUT-003 | Tentative de modification d'une ressource inexistante | Ressource avec ID=999 n'existe pas | { "name": "Mise à jour non existante" } |
Ressource non trouvée | 404 |
| PUT-004 | Modification d'une ressource avec un type de donnée non valide | Ressource avec ID=123 existe | { "value": "pas_un_nombre" } |
Erreur de validation des données | 400 |
| PUT-005 | Modification d'une ressource sans authentification | Ressource avec ID=123 existe, requête sans jeton | { "name": "Changement non autorisé" } |
Non autorisé | 401 |
Chaque cas de test doit être atomique et vérifier un aspect spécifique de la fonctionnalité de la requête PUT.