Ir al contenido

La IA destruye tu mejor excusa para no hacer Unit Testing en Odoo

El testing ya no es un problema de tiempo; hoy es un problema de cultura
24 de mayo de 2026 por
Germana Oliveira

Si llevas tiempo en esta industria, conoces la dinámica: todos sabemos que el testing automatizado es fundamental para tener una Arquitectura Eficiente, pero a la hora de la verdad, siempre "falta tiempo". Seamos honestos: escribir el boilerplate para armar un `TransactionCase` en Odoo o mockear datos desde cero, es tedioso.

Pero, la Inteligencia Artificial eliminó la fricción operativa. Si no estás haciendo testing ahora, es porque no quieres subir el estándar de tu equipo. A continuación, te comparto un paso a paso que te ayudará a operacionalizar el uso de IA en el desarrollo y cerrar la brecha de calidad técnica.

Cero Boilerplate, 100% Arquitectura

No estamos hablando de instalar una herramienta mágica. Hablamos de integrar Prompt Engineering directo en tu flujo de trabajo (usando el LLM o IDE con IA de tu preferencia). El objetivo es maximizar tu productividad: usar tu cerebro para validar la lógica de negocio, no para tipear variables estáticas.

El Prompt (Copy-Paste)

> Actúa como un experto Odoo Developer especializado en QA (para versiones 17.0 a 19.0). Lee el siguiente modelo/lógica en Python y genera un `Odoo TestCase` completo. 

> Reglas críticas: 

> 1. Usa `odoo.tests.common.TransactionCase`.

> 2. En el método `setUp`, crea todos los datos necesarios (partners, productos, etc.) usando el ORM, sin datos estáticos.

> 3. Crea test methods descriptivos que expliquen exactamente qué se prueba (ej: `test_invoice_amount_calculation_success`).

> 4. Asegura que el código use el módulo `Form` de Odoo si es necesario validar lógica de UI o triggers de Vistas.

> 5. Cero hardcoding de IDs.

¿Por qué la regla #2 y #5 son innegociables? Un error clásico al iniciar en testing es usar hardcoding de IDs (`partner_id = 5`) o depender de Demo Data (`self.env.ref('base.res_partner_1')`). Esto hace que el test pase en tu máquina local, pero explote en tu CI/CD cuando corra sobre una base de datos limpia. Cada test debe ser una isla autosuficiente, fabricando su propio contexto desde cero utilizando `.create()` del ORM.


El Nuevo Workflow:

  1. Selección: Vas al archivo `.py` de tu lógica core y seleccionas la función crítica.
  2. Generación: Disparas el prompt en tu asistente.
  3. Validación (Tu verdadero trabajo): Revisas críticamente que los *asserts* que generó la IA realmente cubran los casos de borde del negocio (el "Bosque"). Aquí es donde demuestras tu Seniority.
  4. Ejecución: Corres `odoo-bin -i tu_modulo --test-enable` localmente.

Tiempo invertido: Menos de 5 minutos.

La Matriz de Adopción (Tus KPIs)

Como Líder, tu trabajo no es solo programar, es asegurar que el sistema funcione a escala. ¿Cómo sabes si esta cultura está permeando en tu equipo?

Mide este resultado semanal:

  • Herramienta: IA Asistente de Código.
  • Meta Innegociable: 100% de los nuevos features suben con su respectivo archivo en la carpeta `tests/`.

Empezar a ser un estratega significa: construir sistemas (y pruebas automatizadas) que garanticen la calidad y te devuelvan el tiempo para pensar en soluciones arquitectónicas reales.

¿Ya implementaste una política agresiva de QA asistida por IA en tu código? Leo tus estrategias en los comentarios.