Configuración de control de calidad automatizado y barreras de seguridad¶
Descripción general¶
Cada fragmento de código generado por 4Geeks AI Factory pasa a través de una Puerta de Calidad automatizada antes de que un desarrollador humano lo revise. Esta puerta realiza escaneos instantáneos de vulnerabilidades y pruebas unitarias impulsadas por IA, lo que garantiza que la velocidad nunca comprometa la seguridad.
En este tutorial, aprenderá:
- Cómo funciona el Quality Gate
- Qué análisis de seguridad se realizan
- Cómo se generan automáticamente las pruebas unitarias
- Cómo configurar reglas de control de calidad para su proyecto
- Cómo interpretar los resultados de Quality Gate
El oleoducto Quality Gate¶
AI-Generated Code
│
▼
┌─────────────────────────────────┐
│ QUALITY GATE │
│ │
│ 1. Static Code Analysis │
│ 2. Vulnerability Scanning │
│ 3. AI-Generated Unit Tests │
│ 4. Code Style Validation │
│ 5. Performance Analysis │
│ 6. Dependency Audit │
│ │
│ ┌─────────┐ ┌─────────┐ │
│ │ PASS │───►│ FAIL │ │
│ └─────────┘ └─────────┘ │
└────────┬───────────────┬───────┘
│ │
▼ ▼
Human Review Auto-Fix & Retry
(Senior Arch) (up to 2 attempts)
Paso 1: comprender los escaneos¶
1. Análisis de código estático¶
- Lo que verifica: calidad del código, complejidad, mantenibilidad
- Herramientas utilizadas: ESLint, Pylint, SonarQube (depende del idioma)
- Reglas aplicadas: los estándares de codificación de su proyecto + las mejores prácticas de la industria
- Resultado: Nivel de calidad (A-F) con sugerencias de mejora específicas
2. Escaneo de vulnerabilidades¶
- Lo que verifica: OWASP Top 10, vulnerabilidades CWE, riesgos de inyección
- Herramientas utilizadas: Snyk, Semgrep, CodeQL
- Cobertura: inyección SQL, XSS, CSRF, fallas de autenticación, dependencias inseguras
- Resultado: informe de vulnerabilidad clasificado por gravedad (crítico, alto, medio, bajo)
3. Pruebas unitarias generadas por IA¶
- Qué hace: Genera automáticamente pruebas unitarias para código nuevo
- Objetivo de cobertura: Cobertura de código mínima del 80 % para código nuevo
- Marco de prueba: Jest (JavaScript/TypeScript), pytest (Python), JUnit (Java)
- Salida: archivos de prueba con afirmaciones, casos extremos y escenarios de error
4. Validación del estilo del código¶
- Lo que verifica: formato, convenciones de nomenclatura, organización de archivos
- Herramientas utilizadas: Prettier, Black, gofmt (depende del idioma)
- Reglas: la guía de estilo configurada de tu proyecto
- Salida: Código con formato automático o informe de infracción de estilo
5. Análisis de rendimiento¶
- Lo que verifica: complejidad del tiempo, uso de memoria, consultas N+1
- Detección: bucles ineficientes, recursividad ilimitada, índices faltantes
- Salida: Advertencias de rendimiento con sugerencias de optimización
6. Auditoría de dependencia¶
- Qué comprueba: vulnerabilidades conocidas en las dependencias.
- Base de datos: NVD, base de datos de asesoramiento de GitHub, base de datos de vulnerabilidad Snyk
- Salida: Lista de dependencias vulnerables con recomendaciones de actualización
Paso 2: Configurar reglas de control de calidad¶
Acceder a la configuración de control de calidad¶
- Vaya a la Configuración de fábrica de AI de su proyecto.
- Vaya a Configuración de Quality Gate
Configurar reglas de escaneo¶
| Configuración | Opciones | Predeterminado |
|---|---|---|
| Nivel de calidad mínimo | A, B, C, D, F | B |
| Bloqueo de vulnerabilidades críticas | Sí/No | Sí |
| Bloquear vulnerabilidades altas | Sí/No | Sí |
| Cobertura mínima de prueba | 0-100% | 80% |
| Infracciones de estilo de corrección automática | Sí/No | Sí |
| Máximo de intentos de reintento | 1-5 | 2 |
Reglas personalizadas¶
Agregue reglas específicas del proyecto:
custom_rules:
# Require JSDoc comments on all public functions
- rule: require-jsdoc
severity: warning
pattern: "export (function|class)"
# No console.log in production code
- rule: no-console-log
severity: error
pattern: "console\\.log"
exclude:
- "**/*.test.*"
- "**/debug/**"
# Maximum function length
- rule: max-function-length
severity: warning
max_lines: 50
Paso 3: Interpretar los resultados de Quality Gate¶
Pasando la puerta¶
✅ Quality Gate PASSED
Quality Score: A (95/100)
Vulnerabilities: 0 Critical, 0 High, 1 Medium, 2 Low
Test Coverage: 87% (target: 80%)
Style Issues: 0 (auto-fixed: 3)
Performance: No issues detected
Dependencies: All up to date
→ Ready for Human Review
Puerta fallida¶
❌ Quality Gate FAILED
Quality Score: C (72/100)
Vulnerabilities: 1 High (SQL injection risk in line 42)
Test Coverage: 65% (target: 80%)
Style Issues: 12 (auto-fixed: 8, remaining: 4)
Performance: 1 warning (N+1 query in getUserOrders)
Dependencies: 2 vulnerable packages found
→ Auto-fixing (attempt 1 of 2)
Después de la reparación automática¶
✅ Quality Gate PASSED (after auto-fix)
Quality Score: B (85/100) — improved from C
Vulnerabilities: 0 Critical, 0 High — SQL injection fixed
Test Coverage: 82% — improved from 65%
Style Issues: 0 — all auto-fixed
Performance: 1 warning remains (manual review needed)
Dependencies: 2 packages updated
→ Ready for Human Review
Paso 4: Manejar las fallas del control de calidad¶
Cuando la puerta falla después de todos los reintentos:
- El código está marcado para revisión manual
- Su arquitecto senior recibe un informe detallado
- El arquitecto soluciona los problemas restantes
- El código se vuelve a enviar a través de la puerta
- Una vez aprobado, se crea el PR
Razones comunes de falla¶
| Fracaso | Causa típica | Resolución |
|---|---|---|
| Baja cobertura de pruebas | Lógica de ramificación compleja | Arquitecto agrega pruebas de casos extremos |
| Alta vulnerabilidad | Manejo de entrada inseguro | Arquitecto implementa sanitización |
| Violaciones de estilo | Patrones no estándar | Corrección automática o formateo manual |
| Problemas de rendimiento | Algoritmos ineficientes | Arquitecto optimiza el código |
| Vulnerabilidades de dependencia | Paquetes obsoletos | Arquitecto actualiza dependencias |
Mejores prácticas¶
Establecer umbrales apropiados¶
- Inicio estricto: los umbrales más altos detectan más problemas de manera temprana
- Ajuste según el proyecto: los sistemas críticos necesitan reglas más estrictas
- Equilibrio entre velocidad y calidad: Demasiado estricto = entrega más lenta
- Revisión mensual: ajuste los umbrales según los patrones de falla
Enfoque de seguridad primero¶
- Nunca deshabilites el análisis de vulnerabilidades
- Bloquear siempre las vulnerabilidades críticas y altas
- Revisar vulnerabilidades medianas semanalmente
- Mantener las auditorías de dependencia automatizadas
Calidad de la prueba¶
- Centrarse en una cobertura significativa: 80 % del código importante > 100 % de todo
- Incluir casos extremos: entradas nulas, valores límite, rutas de error
- Puntos de integración de prueba: llamadas API, consultas de bases de datos, servicios externos
- Revisar pruebas generadas automáticamente: asegúrese de que prueben el comportamiento real, no solo las rutas de código
¿Qué sigue?¶
- Obtenga más información sobre Monitoreo del uso del token
- Explora Comprensión de la fábrica de IA
- Lea sobre Private AI Gateway
¿Necesitas ayuda?¶
- Documentación: docs.4geeks.io
- Discordia: Discordia
- Soporte: disponible a través del panel de la consola
Aún con dudas? Pregunta en Discord o explore tutoriales