> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Tests & Videoaufzeichnungen

> Wie Devin deine Änderungen end-to-end testet und dir Videoaufzeichnungen als Nachweis sendet

Devin kann deine Anwendung end-to-end testen, nachdem Devin einen Pull Request (PR) erstellt hat – führt die App lokal aus, interagiert im Browser damit und zeichnet ein Video des gesamten Vorgangs auf. Die Aufzeichnung wird dir direkt als Anhang zugeschickt, sodass du überprüfen kannst, ob die Änderungen funktionieren, ohne den Branch selbst auszuchecken.

<div id="how-it-works">
  ## Funktionsweise
</div>

Nachdem Devin einen PR (Pull Request) erstellt hat, kann es in den **Testmodus** wechseln – einen strukturierten Workflow, in dem Devin:

1. **Die Umgebung einrichtet** – Abhängigkeiten installiert, Dienste startet, sich bei erforderlichen Konten anmeldet
2. **Den Test plant** – den Diff und die Codebasis liest, um einen minimalen, fokussierten Testplan zu erstellen
3. **Ein Video aufnimmt** – eine Bildschirmaufzeichnung startet, den Testplan auf dem Desktop ausführt und Schlüsselmomente kommentiert
4. **Dir das Ergebnis sendet** – die Aufzeichnung beendet, das Video verarbeitet und es dir als Nachrichtenanhang zusendet

Das Ziel ist eine kurze Aufzeichnung, die sich ein Code-Reviewer ansieht und sofort denkt „ja, das funktioniert“ – und den PR anschließend zusammenführt.

<div id="triggering-a-test">
  ## Einen Test starten
</div>

Nachdem du einen PR erstellt hast, bietet dir Devin an, die App für dich zu testen. Klicke auf **Test the app**, damit Devin den Test-Workflow startet.

<Frame>
  <img src="https://mintcdn.com/cognitionai/t3ELyAdF5CfeLLyT/images/test-the-app-button.png?fit=max&auto=format&n=t3ELyAdF5CfeLLyT&q=85&s=6e7cc949688beb051244c06844a7f509" alt="Test the app button" width="276" height="96" data-path="images/test-the-app-button.png" />
</Frame>

<Info>Eine Einstellung, mit der Tests nach dem Erstellen eines PRs automatisch ausgeführt werden – ohne dass du auf die Schaltfläche klicken musst – ist in Vorbereitung.</Info>

Du kannst Devin auch jederzeit während einer Session bitten zu testen – zum Beispiel: "test the changes you just made and send me a recording" oder "verify the login page works and send me a video."

<div id="the-testing-workflow">
  ## Der Test-Workflow
</div>

Wenn Devin in den Testmodus wechselt, durchläuft es einen strukturierten Prozess mit drei Phasen:

<div id="phase-1-setup">
  ### Phase 1: Setup
</div>

Bevor Tests beginnen, bereitet Devin die Umgebung vor:

* **Liest den PR und die Codebasis**, um zu verstehen, was getestet werden muss
* **Prüft, ob relevante Skills vorhanden sind** im Repo (unter `.agents/skills/`) und nutzt sie, falls vorhanden
* **Meldet sich bei benötigten Diensten an** und behebt Zugriffsprobleme
* **Prüft verfügbare Umgebungen** (Staging, Dev, lokal) und überprüft die Konnektivität
* **Fordert fehlende Secrets** bei dir an, falls nötig — Devin fragt im Voraus nach Zugangsdaten und speichert sie für zukünftige Sitzungen

<Tip>
  Wenn du die [Umgebungskonfiguration](/de/onboard-devin/environment) im Voraus abschließt, werden Tests deutlich schneller — Devin kann das Installieren von Abhängigkeiten, das Konfigurieren von Services und das Anmelden zu Beginn jeder
  Sitzung überspringen.
</Tip>

<Tip>Wenn Devin während des Testens nach Zugangsdaten fragt, speichert es diese als [Secrets](/de/product-guides/secrets) für zukünftige Sitzungen, sodass du sie nur einmal angeben musst.</Tip>

<div id="phase-2-test-planning">
  ### Phase 2: Testplanung
</div>

Sobald das Setup abgeschlossen ist, schreibt Devin einen kurzen Testplan:

* Identifiziert den **wichtigsten End-to-End-Flow**, der zeigt, dass das Feature funktioniert
* Schreibt konkrete, eindeutige Schritte (z. B. „Klicke oben rechts auf die Schaltfläche mit der Beschriftung ‘Save’“ — nicht „Suche nach der Speicheroption“)
* Verankert den Plan im tatsächlichen Code — verfolgt den Frontend-Code, um den genauen Pfad in der Benutzeroberfläche zum Feature zu finden
* Fügt zusätzliche Testflows nur hinzu, wenn es einen wirklich kritischen Edge Case (Randfall) gibt

Devin schickt dir den Plan als kurze Nachricht, bevor er ihn ausführt, damit du bei Bedarf korrigierend eingreifen kannst.

<div id="phase-3-recording-and-execution">
  ### Phase 3: Aufzeichnung und Ausführung
</div>

Nachdem CI grün ist und alle Reviewkommentare bearbeitet wurden, führt Devin den Test aus:

1. **Startet die Aufzeichnung** — erfasst den gesamten Bildschirm
2. **Annotiert Schlüsselmomente** — fügt an wichtigen Stellen Textbeschriftungen hinzu (z. B. „Login-Flow testen“, „Feature als funktionsfähig bestätigt“), die im finalen Video angezeigt werden
3. **Führt den Testplan aus** — interagiert über den Browser mit der App und folgt dabei jedem Schritt
4. **Beendet die Aufzeichnung** — das Video wird automatisch mit Anmerkungen und Geschwindigkeitsanpassungen rund um Schlüsselmomente verarbeitet
5. **Sendet das Video** — hängt die Aufzeichnung an eine Nachricht an, damit du es direkt ansehen kannst

<div id="video-recording-details">
  ## Details zur Videoaufzeichnung
</div>

Devin Bildschirmaufnahmen haben mehrere Merkmale, die sie für Reviews nützlich machen:

* **Anmerkungen** — Textbeschriftungen erscheinen an wichtigen Momenten im Video und markieren, was Devin testet. Das Video wird um diese markierten Stellen herum verlangsamt, damit du die Details erkennen kannst.
* **Auto-Zoom** — Das Video zoomt automatisch in den Bereich, in dem Devin klickt und interagiert, folgt dem Cursor mit sanften Kamerafahrten und zoomt in Leerlaufphasen wieder heraus.
* **Automatische Verarbeitung** — Rohaufnahmen werden verarbeitet, um wichtige Aktionen hervorzuheben und Leerlaufzeiten zu komprimieren.
* **Als Anhänge gesendet** — Videos werden an Nachrichten in deiner Sitzung angehängt und sind direkt in der Devin-Web-App oder in Slack sichtbar.

Aufnahmen sind so konzipiert, dass sie kurz und fokussiert sind — ein **schneller Sanity-Check** mit einem zentralen End-to-End-Flow, der nachweist, dass das Feature funktioniert. Wenn du eine umfassendere Testabdeckung benötigst, verwende deine bestehenden Test-Suites und CI anstelle visueller Aufzeichnungen.

<div id="skill-suggestions">
  ## Skill-Empfehlungen
</div>

Nachdem Ihre App getestet wurde, protokolliert Devin, was es ausprobiert hat und was funktioniert hat – Einrichtungsschritte, Umgebungskonfiguration, wie die App gestartet wird – und schlägt vor, per PR ein [Skill](/de/product-guides/skills) zu erstellen oder zu aktualisieren. Sie können den PR unverändert mergen oder ihn anpassen, um die Anweisungen zu verfeinern. Mit der Zeit wird Devin dadurch immer besser im Testen Ihres Projekts – die Erkenntnisse aus jeder Sitzung bauen auf den vorherigen auf.

Sie können Devin außerdem jederzeit dazu auffordern (z. B. „Create a skill for how to test this app.“). Ausführliche Informationen zum Erstellen und Verwalten von Skills finden Sie im [Skills-Leitfaden](/de/product-guides/skills).

Hier ist ein Beispiel für einen Test-Skill:

```markdown theme={null}
---
name: test-before-pr
description: Lokalen Entwicklungsserver starten und Seiten überprüfen, bevor ein Pull Request (PR) geöffnet wird, der Frontend-Code betrifft.
---

## Setup

1. Abhängigkeiten installieren: `npm install`
2. Datenbank starten: `docker-compose up -d postgres`
3. Migrationen ausführen: `npx prisma migrate dev`
4. Entwicklungsserver starten: `npm run dev`
5. Warten auf „Ready on http://localhost:3000"

## Verify

1. Git-Diff lesen, um geänderte Seiten zu identifizieren
2. Jede betroffene Seite im Browser öffnen
3. Prüfen auf: Konsolenfehler, Layout-Probleme, defekte Links
4. Jede Seite bei Desktop- (1280px) und mobiler Breite (375px) als Screenshot erfassen

## Vor dem Öffnen des PR

1. `npm run lint` ausführen und alle Probleme beheben
2. `npm test` ausführen und sicherstellen, dass alle Tests bestehen
3. Screenshots in die PR-Beschreibung aufnehmen
```

Beim Schreiben oder Verfeinern von Skills geben Sie konkret an, was überprüft werden soll:

<CardGroup cols={2}>
  <Card title="Gute Anweisungen" icon="check">
    * "Teste den Checkout-Prozess: Lege einen Artikel in den Warenkorb, gehe zur Kasse, fülle das Formular aus und überprüfe, ob die Bestellbestätigungsseite den korrekten Gesamtbetrag anzeigt"
    * "Überprüfe, ob der Dark-Mode-Schalter auf der Einstellungsseite funktioniert – der Text sollte lesbar sein und keine Elemente sollten verschwinden"
    * "Teste, ob der CSV-Export eine Datei mit den richtigen Spaltenüberschriften herunterlädt"
  </Card>

  <Card title="Vage Anweisungen" icon="xmark">
    * "Teste alles"
    * "Stelle sicher, dass die App funktioniert"
    * "Überprüfe, dass nichts kaputt ist"
  </Card>
</CardGroup>

<div id="troubleshooting">
  ## Fehlerbehebung
</div>

<div id="devin-didnt-offer-to-test">
  ### Devin hat keinen Test angeboten
</div>

Der Testmodus ist in Sessions verfügbar, in denen Devin einen PR mit Codeänderungen erstellt. Wenn Devin ihn nicht angeboten hat, kannst du immer direkt fragen: „Kannst du diese Änderungen testen und ein Video aufzeichnen?“

<div id="recording-failed">
  ### Aufzeichnung fehlgeschlagen
</div>

Wenn die Aufzeichnung nicht verarbeitet werden kann, teilt dir Devin das mit. Häufige Ursachen sind App-Abstürze während des Testens oder ein Timeout bei der Videobearbeitung. Devin kann es erneut versuchen – sag einfach „Try recording again“. Aufzeichnungsdateien werden auf der Devin-Maschine gespeichert, und Devin kann sie dir jederzeit zuschicken, wenn du darum bittest.

<div id="devin-cant-access-the-app">
  ### Devin kann nicht auf die App zugreifen
</div>

Wenn Devin während des Testens nicht auf Ihre App zugreifen kann (z. B. wegen Login-Walls oder VPN-Anforderungen), fordert Devin Sie zur Unterstützung auf. Stellen Sie Zugangsdaten über [secrets](/de/product-guides/secrets) bereit, verwenden Sie den [Interactive Browser](/de/work-with-devin/devin-session-tools#interactive-browser), um Authentifizierungsschritte manuell durchzuführen, oder schließen Sie die [Umgebungskonfiguration](/de/onboard-devin/environment) ab, um den Zugriff vorzukonfigurieren, sodass diese Probleme gar nicht erst auftreten.
