Schneller testen mit minimalem Odoo-Docker-Image

13. November 2025

Ein zentrales Problem in der Odoo-Entwicklung bleibt: Wie integrieren wir Unit Tests so, dass sie im Entwicklungsworkflow nicht nur existieren, sondern tatsächlich funktionieren? 

Odoos Quellcode wird bereits in der Basisversion sequenziell, also Schritt für Schritt, getestet. Doch wenn ein Unternehmen diese Methodik intern für eigene Anpassungen übernimmt, wird der gesamte Prozess oft zur Last. Er frisst Ressourcen und bremst die   CI/CD Pipelinesmassiv aus.

IT-Teams brauchen jedoch einen Weg, um ihre benutzerdefinierten Module, Konfigurationen und Logiken zuverlässig zu prüfen.

Die Lösung ist ein minimalisiertes Docker-Image, das paralleles Testen ermöglicht. 

Dieser Ansatz macht Testing endlich zu einem schnellen, sauberen und CI/CD-tauglichen Teil des Entwicklungszyklus.

Im Folgenden beschreiben wir den Implementierungsprozess und die wichtigsten technischen Aspekte für die Optimierung Ihrer Odoo-Tests mit Docker.

Die 4 Gebote des Testings: Unverzichtbare Anforderungen für Ihren Code

ODie Open-Source-Natur von Odoo erlaubt es Unternehmen, das System umfassend anzupassen. 

Doch wenn es darum geht, diese Anpassungen vor dem Live-Gang zu validieren, kämpfen viele Entwicklungsteams mit der Effizienz.

Das Problem ist zweigeteilt.

Erstens ist das Standard-Testing von Odoo sequenziell: was beim Hersteller funktioniert, ist intern oft zu langsam und teuer. 

Zweitens fehlt es Teams häufig an der notwendigen Prozessisolation.

Damit Ihre Funktionen stabil bleiben, muss die Testmethodik vier strikte Prinzipien erfüllen: 

These principles ensure that tests focus exclusively on custom code, without interference from the stable Odoo core:

The 4 essential principles of Odoo testing

1. Testdaten müssen isoliert sein.

The testing server should exist only for the duration of the test. It must be destroyed immediately afterwards to prevent any shared infrastructure risks.

2. Jeder Testlauf muss identisch sein.

Reproducibility is key to reliable results. Therefore, the test must start in the same condition every time.

3. Geschwindigkeit ist entscheidend. 

Tests must run quickly, ideally in seconds, to be adopted by teams into the development process.

4. Skalierbarkeit einplanen.

Das Test-Setup muss alles bewältigen können, vom einzelnen Modul bis hin zu mehreren Projekten gleichzeitig.

Bestnoten für das minimale Odoo-Docker-Image

Um sequenzielles Testen zu vermeiden, müssen Geschwindigkeit und Datenisolation an erster Stelle stehen.

Die bessere Alternative ist das Ausführen von Tests in parallelen Aufgaben.

Das gelingt mit Docker-Containern, die auf ein absolut minimalistisches Odoo-Image setzen.

Minimal-Image vs. Standard-Installation

Während eine Standard-Odoo-Installation für den vollen Betrieb ausgelegt ist, dient das minimale Docker-Image spezifisch für „Fast Tests“ oder Unit Tests. 


Maximales Odoo-Deployment (Standard)

Minimales Odoo-Docker-Image (optimiert)

Komponenten

Enthält viele für Unit Tests unnötige Komponenten wie komplexe Netzwerkkonfigurationen und Backups.

Auf das Testen reduziert; nur Odoo und PostgreSQL werden benötigt.

Startzeit

Der Odoo-Serverstart dauert mindestens 20 Sekunden.

Die Bootzeit sinkt im Durchschnitt auf unter 6 Sekunden.

Datenbank-Handling

Nutzt einen Standard-Entrypoint, der den Server auf die Datenbank warten lässt.

Der „Database Wait“-Entrypoint wurde entfernt; Docker Compose steuert die Abhängigkeiten.

Modulinstallation

Installiert alle Pakete und Abhängigkeiten, unabhängig vom jeweiligen Test.

Beschleunigt die Ausführung durch On-Demand-Management; installiert nur Anforderungen für die getesteten Module.

Image-Anpassungen

Standard-Image für den produktiven Einsatz.​

Enthält vorinstallierte Pakete für einen schnelleren Start.

Nutzen

Vollständiges Produktions-Hosting und Monitoring.

Schnelles Deployment, Zerstörung und Nicht-Test-Funktionen wie Datenbank-Anonymisierung.

Testen in der CI/CD-Pipeline mit Docker

Das minimale Image ist für den nahtlosen Einsatz in einer Continuous Integration (CI) Pipeline konzipiert. 

Sobald es eingerichtet ist, dient es als spezialisierte Umgebung, in der Entwickler sofort nach Code-Änderungen automatisierte Tests durchführen können. 

Der Workflow folgt einer dreistufigen Logik, um maximale Geschwindigkeit zu garantieren:

  1. Änderungen erkennen: Das System identifiziert (oft mittels git diff) genau die Module, die in einem Commit verändert wurden.
  2. Gezielt testen: Docker Compose ruft das Minimal-Image auf und übergibt nur die Namen der geänderten Module. So werden nur die absolut notwendigen Abhängigkeiten installiert.
  3. Parallelität nutzen: Das Setup erlaubt die gleichzeitige Ausführung von Tests. Wenn mehrere Module geändert wurden, führt Docker alle Testzyklen parallel aus.

Auf der Odoo Experience 2025 hat Domingos Ferreira (Head of Software Engineering & Managing Director bei much. Consulting) im Detail vorgestellt, wie dieses Testing mit einem minimalen Docker-Image in der Praxis aussieht:

Die Vorteile des minimalistischen Setups

Schnelleres Setup & Testen


Das Starten eines Testservers dauert unter 6 Sekunden, inklusive einer 33 % schnelleren Datenbank-Einrichtung.

Mehr Zuverlässigkeit in der QA


Die Odoo-Docker-Lösung bietet eine reproduzierbare Testumgebung. Sie garantiert Isolation und verhindert Datenverunreinigungen („Zero Data Pollution“).

Kosteneffizient und einfach zu automatisieren


IT-Manager können das Testing direkt in automatisierte CI/CD-Pipelines einbinden. Das macht die Qualitätssicherung günstiger und steigert die Akzeptanz im Team.

Technisch flexibel: 


Das Odoo-Docker-Setup skaliert von einem Modul bis zu 10 Projekten gleichzeitig. Zudem eignet es sich für andere Aufgaben wie Datenbank-Anonymisierungs-Skripte.

Optimieren Sie Ihr Odoo-Testing mit Docker 

Sprechen Sie mit unseren Odoo-Experten, um das richtige Setup für Ihre Entwicklung und Ihre CI/CD-Bedürfnisse zu finden.

in Odoo
Your Dynamic Snippet will be displayed here... This message is displayed because you did not provided both a filter and a template to use.

Lernen Sie mehr über Odoo: 

Treffen Sie much.! Erfahren Sie mehr über unser Team

Über uns
Sprechen Sie mit unseren Experten
Your Dynamic Snippet will be displayed here... This message is displayed because you did not provided both a filter and a template to use.

Diese Themen könnten Sie ebenfalls interessieren: