Pruebas y calidad
Dos capas. Una se ejecuta en cada commit; otra es manual antes de cada release. Ambas son open source y visibles en GitHub.
Resumen
| Capa | Herramientas | Cuándo se ejecuta | Dónde encontrar |
|---|---|---|---|
| Pruebas unitarias | Vitest | Cada push / PR vía GitHub Actions CI | packages/**/src/**/*.test.ts — 15+ archivos: generación SQL, parseo EXPLAIN, schema diff, cifrado round-trip, mapeo Oracle→DM |
| Listas manuales | Checkboxes Markdown + Evidencia (captura / log SQL) | Auto-prueba en PR + smoke pre-release, plantillas se rellenan automáticamente en PRs / issues | docs/qa/ — 30+ listas, ~6000 líneas |
Capa 1 — Pruebas unitarias
Cada commit dispara CI:
pnpm typecheckpnpm testpnpm lint
PRs en rojo no se pueden fusionar en main.
Cubre: lógica pura — generación DDL multi-dialecto, parseo EXPLAIN, schema diff, traducción Oracle→DM, cifrado de configuración, cobertura i18n, reglas del linter SQL.
No cubre: renderizado de componentes Vue, interacción con BD real, atajos cross-OS, auto-update — eso va a Capa 2.
Ver: packages/ui/src/*.test.ts · GitHub Actions
Capa 2 — Listas manuales
Todas las listas son Markdown, se requiere Evidencia — un ✅ debe estar respaldado por captura / log SQL / grabación. Flujo:
- Abrir un PR → GitHub auto-popula secciones
Manual test+Reviewer verification; autor marca durante auto-prueba con evidencia. El reviewer debe hacer pull y re-correr ≥2 ítems aleatorios antes de aprobar - Antes de release → 🚦 Release Smoke issue; la plantilla pre-rellena el smoke. Marcar todo verde o vincular fallos a issues antes de ship
Organización
RELEASE_SMOKE.md— smoke pre-release ~15 mindriver-matrix.md— matriz de 22 dialectosfeatures/— 13 listas por funcióndatabases/— 16 listas profundas por dialecto
Cada lista por dialecto cubre
Connection · Database/schema · Tables · Indexes · Views · Constraints · Functions / Stored procs · Triggers · Sequences · Users · Roles · Grants · DML/Query · Transactions · Quirks específicos · Cross-platform · Known limitations.
Plantillas que dejan rastro
PULL_REQUEST_TEMPLATE.md— Manual test + Reviewer verification + Evidence50_release_smoke.yml— issue de smoke por releaseCODEOWNERS— rutas críticas auto-asignan a owner
Lo que no fingimos
- Sin pruebas UI automatizadas todavía (Playwright en ROADMAP Q4)
- Las pruebas manuales dependen de disciplina — Evidence + reviewer countersign elevan el coste de marcar sin probar
- Cobertura de BD real depende del entorno del tester — listas sugieren docker-compose pero correrlo es decisión del tester
¿Quieres ayudar?
- Reportar bug: Bug Report
- Enviar PR: sigue la plantilla estándar; sección Manual test es obligatoria
- Añadir pruebas unitarias: ver
CONTRIBUTING.md - Añadir listas manuales: ver
docs/qa/databases/README.md
Calidad por release? Release Smoke issues · Estado CI? GitHub Actions · Hoja de ruta? ROADMAP