Ingeniería y calidad

Calidad automatizada de extensiones de Moodle

Esta API normaliza el análisis estático de extensiones de Moodle. Una cadena de integración distinta consume sus resultados y coordina la instalación, las pruebas, la actualización y el empaquetado.

El problema

Para evaluar la calidad de una extensión hay que combinar herramientas con configuraciones y salidas distintas. Integrarlas una a una dificulta repetir el análisis, comparar resultados y aplicar un control de calidad común.

Hay que comprobar la compatibilidad de una extensión antes de incorporarla al campus.

Los cambios en las API, la base de datos, los permisos o los eventos pueden afectar al producto completo. La cadena de integración consume los resultados de la API de análisis y coordina las pruebas y el empaquetado para detectar errores antes de completar la entrega.

Decisión principal

Convertir los criterios del equipo en controles de aceptación comprobables.

Cada control debe tener una razón, una versión y una salida comprensible. Los controles configurados como condiciones de aceptación bloquean los cambios que incumplen los criterios objetivos comprobados y dejan a la revisión humana las decisiones de diseño que no pueden reducirse a una regla estable.

Criterios de diseño

  1. 01

    La API ejecuta y normaliza el análisis estático; no instala ni ejecuta las extensiones analizadas.

  2. 02

    Normalizo los resultados y conservo la salida original de cada herramienta.

  3. 03

    Una cadena independiente consume esos resultados y coordina las pruebas de instalación, actualización y desinstalación. Mientras no exista un entorno efímero y aislado para código no fiable, esas pruebas se limitan a paquetes cuya procedencia se haya verificado y cuya ejecución haya sido aprobada expresamente.

Límites del producto

La automatización cubre solo los defectos que puede comprobar.

Las pruebas automatizadas y el análisis estático reducen el riesgo, pero no sustituyen la revisión de la arquitectura, la seguridad contextual, la experiencia de usuario ni el comportamiento con datos y carga representativos.

Capacidades del sistema

  • 01Estilo y convenciones Moodle
  • 02Tipos y complejidad
  • 03Duplicación
  • 04Salida JSON para automatización

Criterio de validación

La API y la cadena de integración aportan evidencias distintas.

La API ejecuta analizadores y normaliza sus resultados; las pruebas funcionales y de integración deben demostrar ese comportamiento. No instala ni ejecuta extensiones. La cadena independiente debe validar la instalación, la actualización y la desinstalación con las versiones de Moodle y PHP declaradas. También debe comprobar los permisos, las tareas programadas y el paquete distribuido. Hasta disponer de un entorno efímero y aislado para código no fiable, esas pruebas se limitan a paquetes cuya procedencia se haya verificado y cuya ejecución haya sido aprobada expresamente.

Qué analiza hoy la API

  • API implementada
  • Catálogo con el nombre y el alcance de cada analizador
  • Pruebas funcionales y de integración pendientes de publicar

Qué falta validar o aislar

Decisiones pendientes en el control automatizado de calidad de extensiones de Moodle.

La ampliación de los controles exige acordar las versiones compatibles, los umbrales de cobertura, el tratamiento de las excepciones y los criterios para revisar los falsos positivos.

  • Perfiles de reglas por versión
  • Tiempo máximo por análisis
  • Falsos positivos
  • Ejecución aislada de código no fiable

Contextos en los que encaja

Cuándo hace falta filtrar antes de aceptar una entrega

El filtro automatizado resulta especialmente útil cuando las entregas superan la capacidad de revisión manual, pero también puede estar justificado con poco volumen si el impacto, los permisos o el riesgo exigen controles reproducibles.

01

Organización con varios proveedores

Cada uno con su forma de trabajar, y una revisión que depende de quién la haga ese día.

02

Equipo interno que entrega a menudo

En un equipo interno que entrega a menudo, la revisión humana puede convertirse en un cuello de botella y acabar reducida a un vistazo.

03

Catálogo de extensiones heredado

Decenas instaladas a lo largo de los años, sin saber cuáles sobrevivirán al siguiente salto de versión.

04

Antes de una actualización mayor

Cuando hay que decidir qué se actualiza, qué se rehace y qué se retira.

Reparto de responsabilidades

Qué decide la API y qué queda en la cadena de integración

Automatizar la calidad tiene sentido solo si las reglas se pueden discutir.

  1. 01

    Cada regla declara su origen

    Separo las reglas del estándar oficial, las políticas de compatibilidad, los criterios propios del proyecto y las heurísticas. Así una discrepancia puede discutirse a partir de su fuente y su alcance.

  2. 02

    Lo automático filtra, no decide

    El análisis produce incumplimientos comprobables e indicios. Los controles deterministas pueden bloquear cambios; las heurísticas y los resultados susceptibles de falso positivo requieren confirmación. Sustituir la revisión humana por este filtro produce falsa seguridad.

  3. 03

    Compatibilidad como comprobación explícita

    El análisis puede detectar usos conocidos de interfaces internas y otros indicios de incompatibilidad. La revisión humana y las pruebas sobre versiones compatibles siguen siendo necesarias.

  4. 04

    Salida normalizada

    Los hallazgos llegan en un formato común, con fichero y línea, para que se integren en la revisión y no en un informe que nadie abre.

A escala

Qué cambia con el número de entregas

  1. Pocas entregas al año

    Con pocas entregas, una revisión manual puede costar menos que implantar y mantener la automatización. El impacto de la extensión, los datos y permisos que maneja y las versiones que debe soportar siguen determinando qué análisis y pruebas reproducibles hacen falta.

  2. Entregas frecuentes

    Con entregas frecuentes, automatizar puede liberar tiempo de revisión para las decisiones que necesitan criterio.

  3. Varios proveedores a la vez

    Aquí lo importante deja de ser la velocidad y pasa a ser medir a todos con el mismo listón.

Alcance actual de la API y la integración

Criterios de ingeniería convertidos en controles repetibles

He normalizado la salida de herramientas distintas para que el equipo pueda aplicar los mismos criterios, conservar el hallazgo original y automatizar controles objetivos.

  • 01Liderazgo técnico
  • 02Calidad automatizada
  • 03CI/CD y seguridad
  • 04Criterio técnico compartido
Consultar Marco de evaluación de integraciones EdTech