Was macht Dogfood (agent-device)?
Systematisches Erkunden einer mobilen App, Auffinden von Problemen und Erstellen eines Berichts mit vollständigen Reproduktionsnachweisen für jeden Fund.
Einrichtung
Nur die Ziel-App ist erforderlich. Alles andere hat sinnvolle Standardwerte.
| Parameter | Standard | Beispiel-Überschreibung |
|---|---|---|
| Ziel-App | (erforderlich) | Settings, com.example.app, Deeplink-URL |
| Plattform | Aus Benutzerkontext ableiten; sonst fragen (ios oder android) | --platform ios |
| Sitzungsname | Slugifizierter App-/Plattformname (z.B. settings-ios) | --session my-session |
| Ausgabeverzeichnis | ./dogfood-output/ | Ausgabeverzeichnis: /tmp/mobile-qa |
| Umfang | Gesamte App | Fokus auf Onboarding und Profil |
| Authentifizierung | Keine | Anmelden mit [email protected] |
Wenn der Benutzer genügend Kontext für den Start gibt, beginnen Sie sofort mit den Standardwerten. Fragen Sie nur nach, wenn ein erforderliches Detail fehlt (z.B. Plattform oder Anmeldedaten).
Bevorzugen Sie das direkte agent-device-Binärprogramm, wenn verfügbar.
Arbeitsablauf
1. Initialisieren Sitzung, Ausgabeverzeichnisse, Berichtsdatei einrichten
2. Starten/Anmelden App öffnen und ggf. anmelden
3. Orientieren Erste Momentaufnahme erfassen und Navigation kartieren
4. Erkunden Systematisch Abläufe und Zustände testen
5. Dokumentieren Reproduzierbare Nachweise pro Problem erfassen
6. Abschließen Zusammenfassung abgleichen, Sitzung beenden
1. Initialisieren
mkdir -p {AUSGABEVERZEICHNIS}/screenshots {AUSGABEVERZEICHNIS}/videos
cp {SKILL_VERZEICHNIS}/templates/dogfood-report-template.md {AUSGABEVERZEICHNIS}/report.md
2. Starten/Anmelden
Eine benannte Sitzung starten und die Ziel-App öffnen:
agent-device --session {SITZUNG} open {ZIEL_APP} --platform {PLATTFORM}
agent-device --session {SITZUNG} snapshot -i
Falls eine Anmeldung erforderlich ist:
agent-device --session {SITZUNG} snapshot -i
agent-device --session {SITZUNG} fill @e1 "{EMAIL}"
agent-device --session {SITZUNG} fill @e2 "{PASSWORT}"
agent-device --session {SITZUNG} press @e3
agent-device --session {SITZUNG} wait 1000
agent-device --session {SITZUNG} snapshot -i
Bei OTP/E-Mail-Codes: Benutzer fragen, auf Eingabe warten, dann fortfahren.
3. Orientieren
Erste Nachweise und Navigationsanker erfassen:
agent-device --session {SITZUNG} screenshot {AUSGABEVERZEICHNIS}/screenshots/initial.png
agent-device --session {SITZUNG} snapshot -i
Navigation auf oberster Ebene, Tabs und wichtige Arbeitsabläufe vor dem gründlichen Testen kartieren.
4. Erkunden
Lesen Sie references/issue-taxonomy.md zur Kalibrierung von Schweregrad/Kategorie.
Strategie:
- Durch jeden Hauptbereich der App navigieren (Tabs, Drawer, Einstellungsseiten).
- Kernabläufe Ende-zu-Ende testen (erstellen, bearbeiten, löschen, absenden, wiederherstellen).
- Randzustände validieren (leer/Fehler/Laden/offline/Berechtigungen verweigert).
diff snapshot -inach UI-Übergängen verwenden, um veraltete Referenzen zu vermeiden.- In regelmäßigen Abständen
logs pathaufzeichnen und das App-Protokoll inspizieren, wenn das Verhalten verdächtig aussieht.
Nützliche Befehle pro Bildschirm:
agent-device --session {SITZUNG} snapshot -i
agent-device --session {SITZUNG} screenshot {AUSGABEVERZEICHNIS}/screenshots/{bildschirm-name}.png
agent-device --session {SITZUNG} appstate
agent-device --session {SITZUNG} logs path
5. Probleme dokumentieren (Reproduktion zuerst)
Erkunden und Dokumentieren in einem Durchgang. Wenn Sie ein Problem finden, anhalten und die Nachweise vollständig erfassen, bevor Sie fortfahren.
Interaktive/verhaltensbezogene Probleme
Video + Schritt-für-Schritt-Screenshots verwenden:
- Aufnahme starten:
agent-device --session {SITZUNG} record start {AUSGABEVERZEICHNIS}/videos/issue-{NNN}-repro.mp4
- Mit sichtbarem Tempo reproduzieren. Jeden Schritt erfassen:
agent-device --session {SITZUNG} screenshot {AUSGABEVERZEICHNIS}/screenshots/issue-{NNN}-step-1.png
sleep 1
# Aktion ausführen
sleep 1
agent-device --session {SITZUNG} screenshot {AUSGABEVERZEICHNIS}/screenshots/issue-{NNN}-step-2.png
- Endgültigen fehlerhaften Zustand erfassen:
sleep 2
agent-device --session {SITZUNG} screenshot {AUSGABEVERZEICHNIS}/screenshots/issue-{NNN}-result.png
- Aufnahme beenden:
agent-device --session {SITZUNG} record stop
- Problem sofort mit nummerierten Schritten und Screenshot-Referenzen in den Bericht einfügen.
Statische/beim Laden auftretende Probleme
Ein einzelner Screenshot ist ausreichend; kein Video erforderlich:
agent-device --session {SITZUNG} screenshot {AUSGABEVERZEICHNIS}/screenshots/issue-{NNN}.png
Wiederholungsvideo im Bericht auf N/A setzen.
6. Abschließen
Zielen Sie auf 5-10 gut belegte Probleme ab, dann abschließen:
- Zusammenfassung der Schweregradzählungen in
report.mdabgleichen. - Sitzung beenden:
agent-device --session {SITZUNG} close
- Gesamtzahl der Probleme, Aufschlüsselung nach Schweregrad und risikoreichste Funde melden.
Anleitung
- Die Qualität der Reproduktion ist wichtiger als die Anzahl der Probleme.
- Verwenden Sie Referenzen (
@eN) für schnelle Erkundungen und Selektoren für deterministische Wiederholungsüberprüfungen, falls erforderlich. - Nach jeder Änderung (Navigation, Modal, Listenaktualisierung, Formularabsendung) eine neue Momentaufnahme machen.
- Verwenden Sie
fillfür die Semantik „löschen und dann eingeben“; verwenden Sietypefür Überprüfungen des inkrementellen Tippverhaltens. - Halten Sie Protokolle optional und gezielt: App-Protokolle nur aktivieren/lesen, wenn sie für die Diagnose nützlich sind.
- Lesen Sie niemals den Quellcode der getesteten App; Erkenntnisse müssen aus dem beobachteten Laufzeitverhalten stammen.
- Schreiben Sie jedes Problem sofort auf, um den Verlust von Nachweisen zu vermeiden.
- Löschen Sie niemals Screenshots/Videos/Berichtsartefakte während einer Sitzung.
Referenzen
| Referenz | Wann lesen |
|---|---|
| references/issue-taxonomy.md | Sitzungsbeginn; Schweregrad/Kategorien/Checkliste |
Vorlagen
| Vorlage | Zweck |
|---|---|
| templates/dogfood-report-template.md | In das Ausgabeverzeichnis als Berichtsdatei kopieren |