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:
-
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.
-
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).
-
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.
-
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.