Middle
¿Puedes dar un ejemplo de cómo seleccionarías casos de prueba para una solicitud PUT?
sobes.tech AI
Respuesta de la IA
Para la selección de casos de prueba para la solicitud PUT, aplicaría los siguientes enfoques, centrándome en diferentes aspectos:
-
Datos válidos:
- Creación / modificación de un registro con datos correctos y completos.
- Modificación solo de algunas campos, dejando los demás sin cambios.
- Modificación de todos los campos a nuevos valores válidos.
- Uso de valores límite para campos numéricos (mínimo, máximo).
- Uso de diferentes formatos de datos permitidos por la especificación (por ejemplo, fecha, hora).
-
Datos no válidos:
- Envío de datos con un tipo de campo incorrecto (por ejemplo, cadena en lugar de número).
- Envío de datos que violan restricciones de longitud de cadena o rango numérico.
- Envío de datos que violan la unicidad del campo (si aplica).
- Envío de datos con formato incorrecto (fecha no válida, email).
- Falta de campos obligatorios.
- Envío de cadenas vacías o null para campos que no deben estar vacíos.
-
Existencia del recurso:
- Solicitud PUT a un recurso existente.
- Solicitud PUT a un recurso que no existe (se espera respuesta 404).
-
Autorización y autenticación:
- Solicitud PUT con credenciales correctas de un usuario autorizado para modificar el recurso.
- Solicitud PUT con credenciales incorrectas o ausentes (se espera 401 No autorizado o 403 Prohibido).
- Solicitud PUT de un usuario sin permisos necesarios para modificar el recurso (se espera 403 Prohibido).
-
Sincronización y concurrencia:
- Solicitudes PUT simultáneas al mismo recurso (por ejemplo, usando etag).
-
Manejo de errores:
- Solicitud PUT que debe causar un error en el servidor (por ejemplo, por fallo interno).
Ejemplo de tabla con casos de prueba:
| ID | Descripción del caso de prueba | Precondiciones | Datos de prueba (parte de la solicitud) | Resultado esperado | Código HTTP |
|---|---|---|---|---|---|
| PUT-001 | Modificación de un recurso existente con datos válidos | Recurso con ID=123 existe | { "name": "New Name", "value": 100 } |
Recurso actualizado con éxito, datos coinciden con la solicitud | 200 |
| PUT-002 | Modificación de un recurso existente con actualización parcial | Recurso con ID=123 existe | { "name": "Solo cambio de nombre" } |
Recurso actualizado con éxito, solo el campo name cambiado | 200 |
| PUT-003 | Intento de modificar un recurso que no existe | Recurso con ID=999 no existe | { "name": "Actualización no existente" } |
Recurso no encontrado | 404 |
| PUT-004 | Modificación de recurso con tipo de dato no válido | Recurso con ID=123 existe | { "value": "no_es_un_numero" } |
Error de validación de datos | 400 |
| PUT-005 | Modificación de recurso sin autenticación | Recurso con ID=123 existe, solicitud sin token | { "name": "Cambio no autorizado" } |
No autorizado | 401 |
Cada caso de prueba debe ser atómico y verificar un aspecto específico de la funcionalidad de la solicitud PUT.