Skip to main content

Testing

Gründliches Testing ist entscheidend für zuverlässige Automate-Workflows. Diese Seite zeigt Ihnen konkrete Methoden zum Testen Ihrer Workflows und zum korrekten Interpretieren der Ergebnisse.

Node-Level Testing - Schritt für Schritt

1. Node isoliert testen

Ziel: Jeden Node einzeln testen, bevor Sie den gesamten Workflow ausführen.
1

Node öffnen

  1. Klicken Sie auf den Node, den Sie testen möchten
  2. Stellen Sie sicher, dass alle erforderlichen Parameter ausgefüllt sind
  3. Überprüfen Sie Credentials und Verbindungen
2

Test-Daten vorbereiten

Verwenden Sie realistische Test-Daten:
{
  "email": "test@example.com",
  "name": "Max Mustermann",
  "message": "Test-Nachricht für Workflow-Testing"
}
3

Execute Node ausführen

  1. Klicken Sie auf “Execute Node” (oder F2)
  2. Warten Sie auf die Ausführung
  3. Überprüfen Sie den Status (grün = erfolgreich, rot = Fehler)
4

Output analysieren

Klicken Sie auf den Node, um den Output zu sehen:
  • Input: Was ist in den Node hineingegangen?
  • Output: Was kommt heraus?
  • Execution Time: Wie lange hat es gedauert?

2. Output interpretieren

Erfolgreiche Node-Ausführung erkennen:

Grüner Status

Node wurde erfolgreich ausgeführtPrüfen Sie:
  • Output-Daten sind vorhanden
  • Datenformat entspricht Erwartungen
  • Alle erwarteten Felder sind vorhanden

Roter Status

Node-Ausführung fehlgeschlagenPrüfen Sie:
  • Error-Message lesen
  • Input-Daten überprüfen
  • Credentials/Verbindungen prüfen
Output-Daten validieren:
{
  "statusCode": 200,
  "headers": {...},
  "body": {
    "id": 123,
    "name": "Test User",
    "email": "test@example.com"
  }
}

3. Node pinnen für wiederholte Tests

Warum pinnen? Sparen Sie Zeit und Geld, indem Sie Node-Outputs pinnen und wiederverwenden.
1

Workflow einmal ausführen

Führen Sie den Workflow einmal komplett aus, um echte Daten zu erhalten
2

Output pinnen

  1. Klicken Sie auf den Node
  2. Klicken Sie auf das Pin-Icon (📌) neben dem Output
  3. Der Output wird jetzt für zukünftige Tests verwendet
3

Gepinnte Daten bearbeiten

Bearbeiten Sie gepinnte Daten für Edge-Case-Tests:
  • Ändern Sie Werte manuell
  • Fügen Sie fehlende Felder hinzu
  • Simulieren Sie Fehlerzustände
4

Downstream-Nodes testen

Testen Sie nachgelagerte Nodes ohne erneute API-Calls:
  • Nodes verwenden automatisch gepinnte Daten
  • Keine Kosten für API-Calls oder Agent-Aufrufe
  • Schnellere Iteration
Kosten sparen: Ein einzelner Agent-Node-Test ohne Pinning kann 0.10+kosten.Bei50Testssinddas0.10+ kosten. Bei 50 Tests sind das 5+. Pinnen Sie immer!

Workflow-Level Testing

1. Manuelle Workflow-Ausführung

Ziel: Den gesamten Workflow Schritt für Schritt durchlaufen.
1

Manual Trigger verwenden

  1. Fügen Sie einen Manual Trigger Node am Anfang hinzu
  2. Klicken Sie auf “Execute Workflow”
  3. Der Workflow startet manuell
2

Jeden Schritt überwachen

Während der Ausführung:
  • Beobachten Sie jeden Node-Status (grün/rot)
  • Klicken Sie auf Nodes, um Zwischenergebnisse zu sehen
  • Notieren Sie Auffälligkeiten
3

Finales Ergebnis prüfen

Am Ende des Workflows:
  • Prüfen Sie das Endergebnis
  • Validieren Sie alle erwarteten Outputs
  • Überprüfen Sie Datenformate

2. Execution Logs lesen und interpretieren

Zugriff auf Execution Logs:
  1. Navigieren Sie zum “Executions” Tab
  2. Wählen Sie eine Execution aus
  3. Klicken Sie auf “Open in Editor”
Execution-Status interpretieren:

Success

Grün: Workflow erfolgreich abgeschlossenPrüfen Sie:
  • Alle Nodes sind grün
  • Output-Daten sind vorhanden
  • Execution-Zeit ist akzeptabel

Error

Rot: Workflow fehlgeschlagenPrüfen Sie:
  • Welcher Node ist rot?
  • Error-Message lesen
  • Input-Daten des fehlgeschlagenen Nodes

Waiting

Gelb: Workflow wartetMögliche Ursachen:
  • Webhook wartet auf Request
  • Schedule-Trigger wartet auf Zeitpunkt
  • Rate Limit erreicht
Node-Details analysieren:
Was zu prüfen ist:
  • Sind alle erwarteten Felder vorhanden?
  • Haben die Daten das richtige Format?
  • Sind Werte null oder undefined?
Beispiel:
// Input sollte so aussehen:
{
  "email": "test@example.com",
  "name": "Max Mustermann"
}

// NICHT so:
{
  "email": null,
  "name": undefined
}
Was zu prüfen ist:
  • Entspricht der Output den Erwartungen?
  • Sind alle benötigten Felder vorhanden?
  • Ist das Datenformat korrekt?
Validierung:
// Erwarteter Output
{
  "status": "success",
  "data": {
    "id": 123,
    "processed": true
  }
}

// Prüfen Sie:
- $json.status === "success"
- $json.data.id !== undefined
- $json.data.processed === true
Was zu prüfen ist:
  • Wie lange hat jeder Node gedauert?
  • Gibt es langsame Nodes?
  • Überschreitet die Gesamtzeit Limits?
Interpretation:
  • < 1 Sekunde: Sehr schnell ✅
  • 1-5 Sekunden: Normal ✅
  • 5-30 Sekunden: Langsam, aber akzeptabel ⚠️
  • > 30 Sekunden: Zu langsam, optimieren ❌

3. Fehler interpretieren und beheben

Häufige Fehlertypen erkennen:
Fehlercodes interpretieren:
  • 400 Bad Request: Ungültige Anfrage-Parameter
    • Lösung: Prüfen Sie Request-Body und Headers
  • 401 Unauthorized: Authentifizierung fehlgeschlagen
    • Lösung: Credentials überprüfen
  • 404 Not Found: Endpoint nicht gefunden
    • Lösung: URL überprüfen
  • 429 Too Many Requests: Rate Limit erreicht
    • Lösung: Retry-Logik implementieren oder warten
  • 500 Internal Server Error: Server-Fehler
    • Lösung: Retry-Logik oder Support kontaktieren
Beispiel-Error-Log:
Error: Request failed with status code 401
Node: HTTP Request
URL: https://api.example.com/users
Response: {"error": "Invalid API key"}
Symptome:
  • “Cannot read property ‘x’ of undefined”
  • “Expected string but got number”
  • “Invalid JSON format”
Ursachen finden:
  1. Prüfen Sie Input-Daten des Nodes
  2. Überprüfen Sie Expression-Syntax: {{ $json.fieldName }}
  3. Validieren Sie Datenformate zwischen Nodes
Beispiel-Fix:
// FALSCH:
{{ $json.user.name }}

// RICHTIG (mit Null-Check):
{{ $json.user?.name || 'Unknown' }}
Symptome:
  • “Execution timeout exceeded”
  • Node bleibt lange gelb, dann rot
Lösungen:
  1. Timeout erhöhen:
    • Node-Einstellungen → Timeout erhöhen
    • Standard: 30 Sekunden → 60 Sekunden
  2. API optimieren:
    • Reduzieren Sie Request-Größe
    • Nutzen Sie Pagination
  3. Retry-Logik:
    • Implementieren Sie automatische Retries
    • Exponential Backoff verwenden
Symptome:
  • “Authentication failed”
  • “Invalid credentials”
  • “API key not found”
Debugging-Schritte:
  1. Credentials in Node-Einstellungen überprüfen
  2. Credentials einzeln testen (z.B. in Postman)
  3. Environment Variables prüfen
  4. Credential-Format validieren (Bearer Token, API Key, etc.)
Test in Postman:
# Testen Sie Credentials zuerst in Postman
curl -X GET "https://api.example.com/endpoint" \
  -H "Authorization: Bearer YOUR_API_KEY"

Konkrete Test-Szenarien

Szenario 1: API-Call testen

Ziel: Einen HTTP Request Node erfolgreich testen.
1

Request in Postman testen

  1. Kopieren Sie cURL aus API-Dokumentation
  2. Importieren Sie in Postman
  3. Testen Sie mit echten Parametern
  4. Verifizieren Sie Response-Format
2

Nach Automate übertragen

  1. Erstellen Sie HTTP Request Node
  2. Kopieren Sie Method, URL, Headers aus Postman
  3. Konfigurieren Sie Body (falls POST/PUT)
3

Execute Node

  1. Klicken Sie auf “Execute Node”
  2. Prüfen Sie Status (sollte grün sein)
  3. Validieren Sie Response:
    • Status Code: 200?
    • Response Body vorhanden?
    • Erwartete Felder vorhanden?
4

Output validieren

// Erwarteter Output:
{
  "statusCode": 200,
  "body": {
    "id": 123,
    "name": "Test"
  }
}

// Prüfen Sie:
- $json.statusCode === 200
- $json.body.id !== undefined ✅

Szenario 2: Agent-Node testen

Ziel: Einen Localmind Agent Node erfolgreich testen.
1

Input vorbereiten

Verwenden Sie klare, spezifische Test-Daten:
{
  "text": "Analysiere diese E-Mail: 'Ich brauche dringend Hilfe mit meinem Account.'",
  "context": "Customer Support"
}
2

Agent konfigurieren

  1. Wählen Sie Agent-ID
  2. Setzen Sie Input-Feld: {{ $json.text }}
  3. Konfigurieren Sie Temperature (0.7 empfohlen)
  4. Setzen Sie Max Tokens (500 für Tests)
3

Execute Node

  1. Klicken Sie auf “Execute Node”
  2. Warten Sie auf Antwort (kann 5-30 Sekunden dauern)
  3. Prüfen Sie Status
4

Output interpretieren

// Erwarteter Output:
{
  "response": "Diese E-Mail ist dringend und sollte priorisiert werden.",
  "usage": {
    "tokens": 45,
    "cost": 0.0001
  }
}

// Prüfen Sie:
- $json.response !== undefined ✅
- $json.response.length > 0
- $json.usage.tokens < 500 ✅ (innerhalb Limits)
5

Kosten überwachen

  • Prüfen Sie Token-Verbrauch
  • Berechnen Sie Kosten pro Test
  • Setzen Sie Limits für Produktion
Kosten sparen: Nach dem ersten erfolgreichen Test, pinnen Sie den Output! Weitere Tests kosten sonst Geld.

Szenario 3: Bedingte Logik testen

Ziel: IF-Node und Switch-Node korrekt testen.
1

True-Branch testen

Test-Daten für True-Branch:
{
  "userType": "premium",
  "subscriptionActive": true,
  "balance": 100
}
IF-Bedingung:
{{ $json.userType === 'premium' && $json.subscriptionActive === true }}
Erwartetes Ergebnis:
  • True-Branch wird ausgeführt ✅
  • False-Branch wird übersprungen ✅
2

False-Branch testen

Test-Daten für False-Branch:
{
  "userType": "free",
  "subscriptionActive": false,
  "balance": 0
}
Erwartetes Ergebnis:
  • False-Branch wird ausgeführt ✅
  • True-Branch wird übersprungen ✅
3

Edge Cases testen

Null/Undefined Cases:
{
  "userType": null,
  "subscriptionActive": undefined,
  "balance": null
}
Prüfen Sie:
  • Wie verhält sich der Node?
  • Werden Fehler geworfen?
  • Ist Error-Handling implementiert?

Szenario 4: Daten-Transformation testen

Ziel: Set-Node und Code-Node korrekt testen.
1

Input-Daten definieren

{
  "firstName": "Max",
  "lastName": "Mustermann",
  "email": "max@example.com"
}
2

Transformation konfigurieren

Set-Node Konfiguration:
  • fullName: {{ $json.firstName }} {{ $json.lastName }}
  • greeting: Hallo {{ $json.firstName }}!
  • email: {{ $json.email }}
3

Output validieren

// Erwarteter Output:
{
  "fullName": "Max Mustermann",
  "greeting": "Hallo Max!",
  "email": "max@example.com"
}

// Prüfen Sie:
- $json.fullName === "Max Mustermann"
- $json.greeting.includes("Max") ✅
- $json.email === "max@example.com"

Testing-Checkliste

Vor dem Aktivieren

  • Alle Nodes wurden einzeln getestet
  • Jeder Node hat grünen Status bei Test-Execution
  • Output-Daten wurden validiert
  • Workflow wurde vollständig durchlaufen
  • Alle Branches wurden getestet (IF/Switch)
  • Error-Handling wurde getestet
  • Edge Cases wurden berücksichtigt
  • Performance wurde überprüft (Execution-Zeit < 30s)
  • Execution Logs wurden überprüft
  • Kosten wurden kalkuliert (bei KI-Nodes)

Node-Testing-Checkliste

  • Node führt erwartete Aktion aus
  • Output-Format ist korrekt
  • Alle erwarteten Felder sind vorhanden
  • Keine null/undefined Werte in kritischen Feldern
  • Fehlerbehandlung funktioniert
  • Timeouts sind angemessen
  • Retry-Logik funktioniert (falls implementiert)
  • Execution-Zeit ist akzeptabel

Best Practices für effektives Testing

Testen Sie früh

Testen Sie während der Entwicklung, nicht erst am Ende. Jeder Node sollte sofort nach Erstellung getestet werden.

Pinnen Sie Outputs

Sparen Sie Zeit und Geld durch Pinning von Node-Outputs. Testen Sie Downstream-Nodes ohne erneute API-Calls.

Realistische Test-Daten

Verwenden Sie Test-Daten, die echten Szenarien entsprechen. Vermeiden Sie zu einfache oder unrealistische Daten.

Edge Cases testen

Testen Sie nicht nur den “Happy Path”. Prüfen Sie auch null-Werte, leere Strings, sehr lange Texte.

Dokumentieren Sie Tests

Dokumentieren Sie Test-Szenarien und Ergebnisse. Notieren Sie erwartete Outputs für zukünftige Referenz.

Isolation

Isolieren Sie Tests voneinander. Jeder Test sollte unabhängig funktionieren.

Häufige Testing-Probleme

Mögliche Ursachen:
  1. Input-Daten fehlen oder sind falsch formatiert
  2. Credentials sind ungültig
  3. API-Endpoint ist falsch
  4. Node-Konfiguration ist fehlerhaft
Debugging:
  • Prüfen Sie Input-Daten des Nodes
  • Testen Sie API-Call in Postman
  • Überprüfen Sie Node-Konfiguration
  • Lesen Sie Error-Logs
Symptome:
  • “Cannot read property ‘x’ of undefined”
  • Erwartetes Feld fehlt
  • Falscher Datentyp
Lösung:
  1. Prüfen Sie Output des vorherigen Nodes
  2. Verwenden Sie Set-Node zur Transformation
  3. Implementieren Sie Null-Checks: {{ $json.field?.subfield }}
  4. Validieren Sie Datenformate zwischen Nodes
Symptome:
  • Execution-Zeit > 30 Sekunden
  • Timeouts treten auf
Optimierung:
  1. Identifizieren Sie langsame Nodes (Execution-Zeit prüfen)
  2. Optimieren Sie API-Calls (Reduzieren Sie Datenmenge)
  3. Nutzen Sie Caching wo möglich
  4. Erhöhen Sie Timeouts für langsame APIs
  5. Implementieren Sie parallele Verarbeitung

Nächste Schritte


Brauchen Sie Hilfe? Unser Support-Team hilft Ihnen gerne beim Testing Ihrer Workflows. Kontaktieren Sie uns unter support@localmind.ai.