Middle
Da un ejemplo de cómo seleccionarías casos de prueba para una solicitud PUT.
sobes.tech AI
Respuesta de la IA
Al seleccionar casos de prueba para una solicitud PUT, me guiaría por los siguientes principios:
-
Escenarios positivos:
- Actualización completa exitosa de un recurso existente con datos válidos.
- Actualización parcial exitosa de un recurso existente (si la API lo soporta).
- Actualización del recurso usando valores límite para los campos.
-
Escenarios negativos:
- Recurso no encontrado por el ID especificado.
- Formato de ID de recurso no válido.
- Tipo de datos no válido en los campos de la solicitud.
- Falta de campos obligatorios en el cuerpo de la solicitud.
- Formato incorrecto del cuerpo de la solicitud (por ejemplo, no JSON).
- Intento de actualizar campos que no deben ser modificados (por ejemplo, ID, fecha de creación).
- Derechos de acceso insuficientes para actualizar el recurso.
- Actualización concurrente del recurso (para verificar el manejo de conflictos).
-
Condiciones límite:
- Valores máximos permitidos para campos numéricos.
- Cadenas vacías para campos de texto (si está permitido).
- Caracteres especiales en campos de texto.
- Cadenas largas para campos de texto.
-
Verificación de efectos secundarios:
- Cambio en otros recursos relacionados después de la actualización.
- Correcta visualización de los datos actualizados en otras partes del sistema (por ejemplo, en la interfaz de usuario).
Ejemplo de estructura de casos de prueba (para el recurso user con campos id, name, email):
| ID del Caso de Prueba | Descripción | URL de la Solicitud | Cuerpo de la Solicitud | Código de Estado Esperado | Respuesta Esperada / Comportamiento |
|---|---|---|---|---|---|
| PUT_USR_001 | Actualización completa exitosa | /users/123 |
{"name": "Nuevo Nombre", "email": "nuevo@ejemplo.com"} |
200 | Datos del usuario actualizados devueltos |
| PUT_USR_002 | Usuario no encontrado | /users/999 |
{"name": "Nuevo Nombre"} |
404 | Mensaje de error indicando que el usuario no fue encontrado |
| PUT_USR_003 | Formato de email inválido | /users/123 |
{"email": "email-invalido"} |
400 | Mensaje de error indicando formato de email inválido |
| PUT_USR_004 | Falta campo obligatorio (si aplica) | /users/123 |
{} |
400 | Mensaje de error indicando campo faltante |
| PUT_USR_005 | Valor límite máximo para un campo | /users/123 |
{"name": "A" * 255} |
200 | Datos del usuario actualizados con nombre largo |
| PUT_USR_006 | Intento de actualizar campo no actualizable (id) | /users/123 |
{"id": 456, "name": "Nuevo Nombre"} |
400/403 | Mensaje de error indicando solicitud prohibida o incorrecta |
Por supuesto, el conjunto específico de casos de prueba dependerá de la especificación de la API, la lógica de negocio y la arquitectura del sistema.