6.1 KiB
Reporte de Pruebas Manuales QA
Fecha: 2026-01-08 Tester: QA Team Ambiente: Desarrollo Local (localhost:4200 / localhost:5000)
Resumen Ejecutivo
| Categoría | Total | Pasaron | Fallaron | Corregidos |
|---|---|---|---|---|
| CRUD Estudiantes | 4 | 4 | 0 | 1 |
| Inscripciones | 5 | 5 | 0 | 0 |
| Compañeros | 2 | 2 | 0 | 0 |
| Total | 11 | 11 | 0 | 1 |
Capturas de Pantalla
| # | Archivo | Descripción |
|---|---|---|
| 01 | 01-inicio-cargando.png |
Página inicial cargando |
| 02 | 02-formulario-nuevo-estudiante.png |
Formulario de nuevo estudiante |
| 03 | 03-formulario-lleno.png |
Formulario con datos |
| 04 | 04-estudiante-creado.png |
Estudiante creado exitosamente |
| 05 | 05-DEFECTO-editar-estudiante-no-encontrado.png |
DEFECTO: Error al editar |
| 06 | 06-pagina-inscripcion.png |
Página de inscripción |
| 07 | 07-inscripcion-exitosa-regla-profesor.png |
Regla de profesor funcionando |
| 08 | 08-maximo-3-materias.png |
Límite de materias visible |
| 09 | 09-creditos-maximos-9-9.png |
9/9 créditos alcanzados |
| 10 | 10-dos-estudiantes.png |
Lista con dos estudiantes |
| 11 | 11-companeros-de-clase.png |
Vista de compañeros |
| 12 | 12-confirmar-eliminacion.png |
Diálogo de confirmación |
| 13 | 13-estudiante-eliminado.png |
Estudiante eliminado |
| 14 | 14-CORREGIDO-editar-estudiante-funciona.png |
CORREGIDO: Editar funciona |
Defectos Encontrados
DEFECTO #1: Error "Estudiante no encontrado" al editar
ID: DEF-001 Severidad: Alta Prioridad: P1 Estado: RESUELTO
Descripcion
Al hacer clic en el boton de editar (icono de lapiz) en la lista de estudiantes, aparece un snackbar con el mensaje "Estudiante no encontrado" en lugar de abrir el formulario de edicion.
Pasos para Reproducir
- Ir a http://localhost:4200/students
- Crear un nuevo estudiante
- En la tabla, hacer clic en el boton de editar (icono de lapiz)
- Resultado (antes): Aparecia mensaje "Estudiante no encontrado"
- Resultado (despues del fix): El formulario de edicion abre correctamente
Capturas de Pantalla
| Estado | Captura |
|---|---|
| Antes | ![]() |
| Despues | ![]() |
Causa Raiz Identificada
Se encontraron DOS problemas combinados:
-
Problema de navegacion: El boton de editar usaba
<button [routerLink]>pero en Angular elrouterLinkfunciona mejor con elementos<a>. -
Problema de timing con signals: El componente
StudentFormComponentusabangOnInitpara leer el parametro de rutaidviainput()signal, pero el valor no estaba disponible en ese momento del ciclo de vida.
Archivos Modificados
student-list.component.ts: Cambio<button>por<a>para el boton de editarstudent-form.component.ts: CambiongOnInitporeffect()para reaccionar cuando el input signal este disponible
Analisis de Soluciones - DEFECTO #1
Soluciones Propuestas
| Solucion | Descripcion | Ventajas | Desventajas |
|---|---|---|---|
| A | Verificar navegacion y parametros de ruta | Simple si el problema es routing | No resuelve si es backend |
| B | Revisar servicio de estudiantes | Identifica problemas en servicios | Requiere debugging profundo |
| C | Agregar logs de diagnostico | Ayuda a identificar donde falla | Es temporal |
| D | Usar modal en lugar de navegacion | Evita problemas de nav, mejor UX | Cambio arquitectonico grande |
SOLUCION IMPLEMENTADA
Se implemento una combinacion de A + investigacion profunda que revelo dos problemas:
Fix 1: Cambiar <button> por <a> en student-list.component.ts
// ANTES (no funcionaba)
<button [routerLink]="['/students', student.id, 'edit']">
<mat-icon>edit</mat-icon>
</button>
// DESPUES (funciona)
<a [routerLink]="['/students', student.id, 'edit']">
<mat-icon>edit</mat-icon>
</a>
Fix 2: Usar effect() en lugar de ngOnInit en student-form.component.ts
// ANTES (no funcionaba - el input signal no estaba listo en ngOnInit)
ngOnInit(): void {
const studentId = this.id();
if (studentId) {
this.loadStudent(parseInt(studentId, 10));
}
}
// DESPUES (funciona - effect reacciona cuando el signal tiene valor)
constructor() {
effect(() => {
const studentId = this.id();
if (studentId && !this.isEditing()) {
this.isEditing.set(true);
this.loadStudent(parseInt(studentId, 10));
}
});
}
Validacion del Fix
- El formulario de edicion carga correctamente con los datos del estudiante
- La actualizacion de datos funciona sin errores
- No aparece mas el snackbar "Estudiante no encontrado"
Funcionalidades Verificadas (OK)
Crear Estudiante
- Formulario con validación de campos requeridos
- Botón deshabilitado hasta completar campos
- Mensaje de éxito al crear
- Redirección a lista de estudiantes
Inscripción en Materias
- Lista de 10 materias con 5 profesores
- Regla de negocio: No repetir profesor (FUNCIONA)
- Regla de negocio: Máximo 3 materias (FUNCIONA)
- Indicadores visuales de disponibilidad
- Mensajes claros de restricciones
Ver Compañeros
- Lista de materias inscritas
- Nombres de compañeros visibles
- Mensaje cuando no hay compañeros
Eliminar Estudiante
- Diálogo de confirmación
- Mensaje de éxito al eliminar
- Actualización de lista
Recomendaciones
Mejoras de UX
- Agregar tooltips a los botones de acción
- Mostrar spinner durante operaciones async
- Agregar confirmación antes de cancelar inscripción
Mejoras Técnicas
- Implementar caché de estudiantes para evitar consultas repetidas
- Agregar paginación a la lista de estudiantes
- Implementar búsqueda/filtro de estudiantes
Mejoras de Calidad
- Agregar tests E2E con Playwright
- Implementar monitoreo de errores (Sentry)
- Agregar métricas de rendimiento
Reporte generado automáticamente durante pruebas manuales con Playwright MCP

