FastAPI, Pruebas Furiosas: Necesidad de Velocidad

Transforma tu suite de pruebas lenta en rápida con SQLite por worker, MySQL para casos críticos, pytest-xdist y pytest-split, migración por fases y monitoreo de rendimiento.

13 sept 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Resumen rápido TLDR Tu suite de pruebas es lenta y los desarrolladores esperan. Con los cambios adecuados transformamos una suite de 28 minutos en una que tarda menos de 3 minutos. La receta mágica: usar SQLite en memoria o por archivo por trabajador para el 90 95 por ciento de las pruebas, conservar MySQL para el 5 por ciento que necesita comportamientos reales, pytest-xdist con worksteal, fixtures bien diseñadas y dividir trabajos por tiempo de ejecución, no por número de tests.

¿Por qué importa Esto no es sólo tiempo perdido. Es feedback lento, desarrolladores que omiten ejecutar tests locales, costes de CI inflados y despliegues más lentos. Optimizar las pruebas devuelve productividad, reduce costes y mejora la calidad del software.

Problemas comunes y lecciones aprendidas Intento 1 Usar MySQL en Docker para todo Resultado Más arranque de contenedores, migraciones lentas y colisiones de datos. Lección No todo necesita producción idéntica. Intento 2 Base de datos compartida Resultado Colisiones, orden dependiente y tests frágiles. Lección Estado compartido es el enemigo. Intento 3 Más hardware Resultado Complejidad, seguridad y mayor coste. Lección La solución ideal suele ser más simple que añadir maquinas.

La solución práctica Usar SQLite en memoria o en archivos por worker para la mayoría de pruebas acelera y aísla. Consideraciones importantes para no romper nada Agregar ?foreign_keys=1 al connection string para respetar claves foráneas Comprender diferencias de tipos y comportamiento AUTO_INCREMENT Probar migraciones y funciones MySQL complejas en una pequeña suite MySQL Conservar tests de concurrencia y aislamiento en la base real Probar JSON, collations y funciones específicas en MySQL

Implementación práctica Estructura de proyecto con tests unitarios, component y e2e. Fixtures: crear un engine SQLite por worker y un sessionmaker global configurable. Overriding del dependency get_db en FastAPI para usar las sesiones de prueba. Para e2e usar un engine MySQL solo cuando se ejecuten los tests marcados e2e.

Paralelización pytest-xdist con -n logical --dist worksteal permite que workers ociosos tomen tareas de los ocupados. Regla de oro No compartir estado entre tests usar rutas únicas para archivos limpiar globals y semilla determinista para datos ficticios.

Balanceo de trabajos pytest-split distribuye tests por tiempo de ejecución histórico, no por conteo. Flujo recomendado Generar .pytest-durations.json con store-durations ejecutar pytest --splits N --group i en la CI y combinar con worksteal dentro de cada job para el mejor equilibrio.

CI optimizada Ejecuta las pruebas rápidas por separado y los e2e contra MySQL como una segunda etapa. Resize de jobs, matrices y subida de artefactos aceleran retroalimentación. Si buscas infraestructura dedicada considera opciones de runners más rápidos para cargas intensivas y ahorro en costes a largo plazo.

Medición y disciplina Protocolos claros como la medición en 5 ejecuciones consecutivas con /usr/bin/time y documentar hardware y configuración evitan afirmaciones vagas. Mantén un control de regresiones de tiempo y memoria y falla builds si superan umbrales razonables.

Peligros a evitar Pruebas que funcionan en local y fallan en CI diferencias de versiones de base de datos, zona horaria o variables de entorno. Estado compartido entre tests y olvidar activar foreign keys en SQLite.

Plan de migración incremental Fase 1 medir todo Fase 2 arreglar fixtures Fase 3 migrar component tests a SQLite Fase 4 habilitar paralelización Fase 5 balanceo por tiempo con pytest-split Fase 6 monitorizar y pulir

Resultados esperados Tras aplicar estas prácticas es habitual reducir tiempos de CI de 25 35 minutos a 3 6 minutos, mejorar feedback local de varios minutos a menos de un minuto y bajar uso de memoria y coste de CI significativamente.

Cómo puede ayudar Q2BSTUDIO En Q2BSTUDIO somos especialistas en desarrollo de software a medida y aplicaciones a medida y acompañamos a equipos a optimizar pipelines de pruebas e infraestructuras. Ofrecemos servicios de desarrollo de aplicaciones y software a medida, integración de inteligencia artificial y arquitecturas en la nube. Si tu objetivo es acelerar pruebas, reducir costes y aplicar estrategias de testing robustas, nuestro equipo puede auditar tus tests, implementar fixtures idóneas y diseñar CI eficiente.

Servicios relacionados y palabras clave Ofrecemos soluciones de inteligencia artificial e ia para empresas para automatizar decisiones, agentes IA para flujos conversacionales y soluciones de servicios inteligencia de negocio y power bi para obtener métricas accionables. También cubrimos ciberseguridad y pentesting para garantizar que tu entorno de pruebas y despliegue sea seguro y ofrecemos migración y optimización de servicios cloud aws y azure.

Enlace a expertise adicional Si te interesa implantar pipelines más inteligentes y aplicar modelos de IA al ciclo de vida de desarrollo visita nuestra página de inteligencia artificial para empresas donde explicamos cómo combinamos IA, test automation y monitorización de rendimiento.

Resumen final Velocidad y calidad no son mutuamente excluyentes. Con SQLite para la mayoría de pruebas, MySQL para los casos necesarios, pytest-xdist, pytest-split y buenas prácticas de fixtures puedes transformar una suite lenta en una herramienta que acelera el desarrollo. Mide todo, avanza por fases y si necesitas acompañamiento técnico Q2BSTUDIO te ayuda a implementar estas mejoras y a ofrecer soluciones de software a medida, ciberseguridad, cloud y business intelligence adaptadas a tu negocio.

Contacto breve Si quieres que revisemos tu pipeline de pruebas o te guiemos en la migración contacta con nuestro equipo en Q2BSTUDIO y convierte tiempo perdido en valor real.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat