Saltar al contenido principal

Protocolo paso a Producción

Ítem 10 del plan · Responsable: Líder funcional · Duración: 300 min

Guion de validación funcional de lo entregado. Mientras la verificación técnica comprueba que el despliegue quedó sano, este protocolo comprueba que cada funcionalidad hace lo que se prometió.

Es el criterio de aceptación de la entrega: su resultado se adjunta al cierre del RFC.

Alcance​

Se valida: las funcionalidades de los seis componentes del Manifiesto de entrega, sobre https://applicationcert.colombiaaprende.edu.co.

No se valida aquí: la infraestructura del ambiente, la autenticación CAS, el contenido pedagógico ni los subsistemas nativos de Moodle ajenos a la entrega.

La trazabilidad de cada funcionalidad a su requisito y a su diseño está en el Catálogo de features; cada fila de este protocolo enlaza a la ficha correspondiente.

Prerrequisitos​

Sin estos cuatro elementos el protocolo no es ejecutable. Conviene confirmarlos antes de abrir la ventana.

#PrerrequisitoQuién lo aporta
1Verificación técnica superada (ítem 8) y aplicación fuera de mantenimiento (ítem 9)Aplicaciones CA / Monitoreo
2Cuenta de estudiante matriculado en al menos un curso con seguimiento de finalización activo, actividades completables y una evaluación con calificación aprobatoriaMEN
3Cuenta de gestor o docente editor en ese mismo cursoMEN
4Servicio de IA externo accesible y configurado (ítems 2 y 7)MEN / operador del servicio
Sobre el curso de prueba

En Certificación no existe el curso piloto de los ambientes de desarrollo: los datos no viajan entre ambientes. El curso sobre el que se ejecuta este protocolo lo designa el MEN, y debe ser el mismo que recibió los bloques de gamificación en el paso 3.

Cómo registrar los resultados​

Cada caso se marca OK, NOK o N/A, con evidencia (captura o consulta) para los NOK.

Severidad del hallazgoAcción
Bloqueante — impide el uso normal del campusDisparar el plan de reversa
Mayor — la funcionalidad no cumple lo prometido, pero el campus operaRegistrar; decisión del responsable técnico
Menor — defecto visual o de detalleRegistrar y corregir en una entrega posterior

La decisión de revertir la toma el responsable técnico del cambio, no el ejecutante del protocolo.


Bloque 1 — Portada y navegación (30 min)​

Sin autenticar, y después como estudiante.

#CasoResultado esperadoFicha
1.1Abrir la portada del campusCarga con el diseño del tema cdigital—
1.2Carrusel de bannersRota automáticamente, responden flechas, puntos y el control de pausaCarrusel
1.3Carrusel con movimiento reducidoCon prefers-reduced-motion activo en el sistema, no rota soloCarrusel
1.4Explorar cursos por categoríasLas categorías se muestran como cards y se expanden mostrando subcategorías y cursosCategorías
1.5Buscar un cursoLos resultados usan la card de búsqueda del tema, no el listado nativoCard de búsqueda
1.6Miga de panAparece poblada en portada, área personal, mis cursos, catálogo de categorías y vista de cursoMiga de pan

Bloque 2 — Área personal (60 min)​

Como estudiante matriculado, en /my/.

#CasoResultado esperadoFicha
2.1Welcome HeroSaluda por el nombre del estudiante y ofrece continuar el último cursoWelcome Hero
2.2Stats RowCuatro métricas con valores coherentes con la matrícula real del estudianteStats Row
2.3Continúa donde quedasteEnlaza al curso más reciente y a la posición correcta según el formato del cursoContinue Card
2.4Sección Mis CursosMuestra los cursos del estudiante y las pestañas filtran (Todos / En curso / Completados)Mis Cursos
2.5Bloque "Cursos que necesitan atención" — caso positivoCon un estudiante con alertas de riesgo, lista hasta 3 cursos con su motivoCursos que necesitan atención
2.6Bloque "Cursos que necesitan atención" — caso negativoCon un estudiante sin alertas de riesgo, el bloque no emite contenido y Moodle lo oculta. No debe verse un bloque vacíoCursos que necesitan atención
2.7Widget "Usuarios en línea"Avatares apilados, chip con el resto y contadorUsuarios en línea
2.8Bloques retiradosNo aparecen Línea de tiempo, Calendario ni "Cursos a los que se ha accedido recientemente"Retirar bloques
2.9Mis cursos (/my/courses.php)La fila de filtros usa el lenguaje del tema y los filtros de agrupación, orden y vista funcionanCard de curso
2.10Favorito en la card de cursoMarcar y desmarcar favorito persiste al recargarCard de curso
2.11Campo "Profesor:"Se rellena con los docentes reales del cursoCard de curso

Bloque 3 — Vista de curso y Dashboard de aprendizaje (60 min)​

Como estudiante matriculado, en /course/view.php?id=<N>.

#CasoResultado esperadoFicha
3.1Fila héroe del cursoPortada, nombre, docente y barra de progreso coherente con el avance real—
3.2Banner "Tu desempeño académico"Presente, con métricas coherentesBanner de curso
3.3Modal "Ver mi avance"Abre y muestra sus 7 tarjetas con datos, no vacíasModal Ver mi avance
3.4Alertas académicasLas alertas mostradas corresponden a la situación real del estudianteAlertas académicas
3.5Fila "Contenido del curso" e insigniasSe muestra sobre el contenido, con el contador de insigniasContenido e insignias
3.6Drawer "Índice de curso"Abre y cierra, y su botón usa el diseño del temaÍndice de curso
3.7Marco de seccionesLas secciones se ven como acordeón con cabecera sombreada y chevronMarco de secciones
3.8Contenido de actividadEntrar a una tarea, una carpeta y un contenido interactivo: la cabecera no aparece duplicada y el ancho es consistenteMarco de actividad
3.9Curso con formato de pestañasSi el ambiente tiene cursos onetopic: las pestañas usan el subrayado del tema y el contenido de cada sección se ve completoPestañas onetopic
3.10Sin seguimiento de finalizaciónEn un curso con completación desactivada, las métricas se ocultan en vez de mostrar ceros o erroresModal Ver mi avance

Bloque 4 — Gamificación (75 min)​

Sobre el curso designado. Los casos 4.4 a 4.13 requieren recorrido de estudiante.

#CasoCómo ejecutarResultado esperado
4.1Niveles configuradosSELECT levels, levelsdata FROM mdl_block_xp_config;8 niveles, de "Gema Alba" a "Gema Prisma", incrementos de 500 XP
4.2Imagen del nivelComo estudiante, bloque XP en el cursoImagen de la Gema correspondiente visible
4.3Acumulación de XPVisitar el curso y actividades varias vecesXP acumulado mayor que cero
4.4Subida de nivelAcumular 500 XP o másAviso de subida al nivel siguiente
4.5#05 Explorador InicialCompletar una actividadInsignia otorgada en /badges/mybadges.php
4.6#06 Reto EntregadoEnviar una actividad evaluableInsignia otorgada
4.7#07 Avance en TerrenoCompletar el 50 % de los módulosInsignia otorgada
4.8#08 Zona SuperadaCompletar todas las actividades de un móduloInsignia otorgada
4.9#09 Impulso RenovadoAprobar la evaluación con calificación aprobatoriaInsignia otorgada
4.10#10 Misión CumplidaCompletar el cursoInsignia otorgada automáticamente
4.11#12 Exploración DigitalCompletar una actividad por móduloInsignia otorgada
4.12#01 Primer Despegue (encadenada)Completar la actividad de bienvenidaSe otorga la insignia de curso intermedia y, a través de ella, la global
4.13#02 Pionero del AprendizajeCompletar un cursoInsignia global otorgada
4.14#11 Aliado Inteligente inactivaSELECT status FROM mdl_badge WHERE name = 'Aliado Inteligente';status = 0 — está diferida, no debe otorgarse
4.15Colección de logros del cursoBloque de logros en la región lateralContador "N de M" y grid de obtenidas y bloqueadas
4.16Objetos coleccionables intactosConsultar los ítems de block_stashLos objetos existentes, sin cambios

Consulta de auditoría de insignias:

SELECT b.name, b.type, COUNT(bi.id) AS otorgadas
FROM mdl_badge b
LEFT JOIN mdl_badge_issued bi ON bi.badgeid = b.id
GROUP BY b.id
ORDER BY b.type, b.name;

Referencias: Gemas — Niveles XP · Insignias · Guía para gestores.

Bloque 5 — Tutor IA y servicios web (45 min)​

#CasoResultado esperadoFicha
5.1Drawer IA visibleEl botón flotante del tutor aparece como estudiante autenticadoDrawer IA
5.2ConversaciónEnviar un mensaje y recibir respuesta del servicio externoDrawer IA
5.3Control de frecuenciaEnviar dos mensajes seguidos por debajo del ratelimit configurado: el segundo se rechaza con avisoAjustes del tutor IA
5.4Drawer en contenido SCORMAbrir una actividad SCORM: el drawer sigue accesibleDrawer IA
5.5Servicio "Componente IA Externo"El servicio existe con sus funciones y su tokenWeb Services IA
5.6get_course_teachers por tokenDevuelve los docentes de los cursos solicitadoslocal_pccntr8203403_dashboard
5.7get_student_panel por tokenDevuelve el panel completo del estudiante para un userid y courseidConsumo del panel
5.8get_student_panel sin permisoCon una cuenta sin la capacidad, la llamada falla con error de capacidad y no filtra datosConsumo del panel
5.9get_activity_context por tokenDevuelve una fila por actividad del userid y courseid, con sección, estado, nota y fecha límiteContexto de actividades
5.10get_activity_context sin permisoCon una cuenta sin viewcontext en el curso, la llamada falla con nopermissions y no devuelve ninguna filaContexto de actividades

Bloque 6 — Regresión y transversales (30 min)​

#CasoResultado esperado
6.1Ingreso por CASEl estudiante entra al campus con su cuenta institucional
6.2Cierre de sesiónEl cierre de sesión funciona y no re-autentica de inmediato
6.3Rol docenteUn docente ve su curso y las herramientas de edición sin errores
6.4Rol administradorLa administración del sitio carga sin errores
6.5Página de perfil y preferenciasCargan con el diseño del tema y sin errores de consola
6.6Logs durante el recorridoRevisar el log de PHP al terminar: sin entradas nuevas de error generadas por el recorrido
6.7MóvilRepetir 2.1, 3.1 y 5.1 en un ancho de móvil: el menú lateral y los componentes responden

Acta de resultados​

Al terminar, consolidar en una tabla firmable que se adjunta al cierre del RFC:

BloqueCasosOKNOKN/AHallazgos bloqueantes
1 — Portada y navegación6
2 — Área personal11
3 — Vista de curso y Dashboard10
4 — Gamificación16
5 — Tutor IA y servicios web10
6 — Regresión y transversales7
Total60

Cada NOK se registra con: número de caso, resultado obtenido, evidencia, severidad y decisión.