6.1 KiB
6.1 KiB
QA- und Release-Checkliste
Diese Liste ist für einen Release Candidate auf einem echten iPhone gedacht. Simulator-Tests allein reichen wegen Foundation Models, lokaler Spracherkennung, Notifications und Action Button nicht aus.
Build und Installation
- Clean Build mit der Release-Konfiguration erfolgreich
- Keine neuen Compilerwarnungen
- Automatisches Signing verwendet das erwartete Team
- Bundle-ID entspricht App Store Connect
- Marketing-Version und Build-Nummer sind korrekt
- App-Icon erscheint scharf auf Home Screen, Spotlight und Einstellungen
- Display Name lautet FeelAloud
- App läuft nur als iPhone-Target und nicht versehentlich als iPad-App
Erststart und Berechtigungen
- Erststart zeigt keine unnötige Berechtigungsabfrage
- Mikrofonabfrage erscheint erst beim ersten Spracheintrag
- Speech-Abfrage erscheint nur für die Spracheingabe
- Ablehnung des Mikrofons erzeugt eine verständliche Meldung
- Ablehnung der Spracherkennung erzeugt eine verständliche Meldung
- Mitteilungsabfrage erscheint erst beim Aktivieren der Erinnerungen
- Bei abgelehnten Mitteilungen wird der Toggle zurückgesetzt
Spracheintrag
- Aufnahme startet und die rote Stop-Schaltfläche ist erreichbar
- Teiltranskript erscheint während der Aufnahme
- Stoppen beendet Mikrofon und Audio Session
- Deutsche lokale Spracherkennung funktioniert im Flugmodus
- Nicht verfügbare lokale Spracherkennung fällt nicht auf Cloud zurück
- Leeres Transkript zeigt eine hilfreiche Meldung
- Manuelle Eingabe ist jederzeit möglich
Lokale KI und Prüfmaske
- Foundation-Models-Status wird unter Mehr korrekt angezeigt
- Ein typischer deutscher Text wird sinnvoll strukturiert
- Nicht erwähnte Songnamen oder Aktivitäten werden nicht erfunden
- Alle KI-Felder lassen sich vor dem Speichern korrigieren
- Musik im Kopf blendet Ohrwurmfelder ein
- Ohne Musik im Kopf wird stattdessen Stress angeboten
- Nicht verfügbares Modell führt zur manuellen Eingabe
- Flugmodus verändert den lokalen KI-Pfad nicht
Momentaufnahmen und Follow-up
- Manuelle Check-in-Schaltfläche öffnet genau fünf Gesichter
- Jede Stufe speichert exakt einen Snapshot
- Mehrfaches schnelles Tippen erzeugt keine Duplikate
- Haptisches Erfolgsfeedback wird ausgelöst
- Gut erzeugt keine Kontextfrage
- Mittel erzeugt keine Kontextfrage
- Sehr gut fragt beim nächsten normalen Öffnen am selben Tag nach
- Schlecht fragt beim nächsten normalen Öffnen am selben Tag nach
- Sehr schlecht fragt beim nächsten normalen Öffnen am selben Tag nach
- Kontextantwort wird gespeichert und im Verlauf angezeigt
- Heute nicht mehr fragen unterdrückt nur diesen Snapshot
- Offene Kontextfragen eines Vortags erscheinen nicht am Folgetag
Erinnerungen
- Auswahl zwischen zwei und drei Erinnerungen funktioniert
- Alle konfigurierten Uhrzeiten erzeugen lokale Requests
- Ändern einer Uhrzeit ersetzt alte Requests
- Deaktivieren entfernt alle drei stabilen Requests
- Banner erscheint im Vordergrund
- Tipp auf Banner im Hintergrund öffnet den Check-in
- Tipp auf Banner nach Kaltstart öffnet den Check-in
- Notification-Öffnung löst nicht sofort eine alte Kontextfrage darüber aus
- Zeitzonen- und Sommerzeitwechsel wurden plausibilisiert
Persistenz und Verlauf
- Gespeicherte Einträge bleiben nach App-Neustart erhalten
- Gespeicherte Check-ins bleiben nach App-Neustart erhalten
- 7-Tage-Filter enthält heute und die sechs vorherigen Kalendertage
- 30-Tage-Filter enthält heute und die 29 vorherigen Kalendertage
- Gesamtzeitraum beginnt beim ältesten Datensatz
- Eigener Zeitraum funktioniert auch bei vertauschten Von-/Bis-Daten
- Durchschnitt stimmt rechnerisch mit den sichtbaren Punkten überein
- Diagramm zeigt Werte 1 bis 5 korrekt
- Eintragsdetail zeigt alle bedingten Felder korrekt
Export
- Export ist ohne Daten deaktiviert
- XLSX-Dateiname enthält den gewählten Datumsbereich
- XLSX öffnet ohne Reparaturmeldung in Apple Numbers
- XLSX öffnet ohne Reparaturmeldung in Microsoft Excel
- Arbeitsblatt Übersicht enthält Anzahl und korrekten Durchschnitt
- Arbeitsblatt Momentaufnahmen enthält Kontext und Quelle
- Arbeitsblatt Tagebuch enthält die Einträge des gewählten Zeitraums
- Umlaute, Emoji, Zeilenumbrüche,
&,<,>und Anführungszeichen bleiben erhalten - CSV besitzt UTF-8-BOM und Semikolon-Trennung
- CSV escaped Semikolon, Anführungszeichen und Zeilenumbrüche korrekt
- Abbrechen des Share-Sheets verändert keine gespeicherten Daten
Systemintegration
- Kurzbefehl Eintrag aufnehmen erscheint nach Installation
- Kurzbefehl öffnet die App im Aufnahmefluss
- Action Button kann dem Kurzbefehl zugewiesen werden
- Action Button startet die Aufnahme zuverlässig aus gesperrtem/aktivem Zustand
Oberfläche und Barrierefreiheit
- Light Mode und Dark Mode sind lesbar
- Größte Dynamic-Type-Größen verdecken keine primären Aktionen
- VoiceOver liest die fünf Bewertungen eindeutig vor
- Aufnahme-/Stop-Aktion besitzt ein eindeutiges Accessibility Label
- Farbige Informationen sind zusätzlich durch Text oder Symbol erkennbar
- Bedienung funktioniert auf der kleinsten unterstützten iPhone-Größe
- Deutsche Texte sind frei von abgeschnittenen oder überlappenden Elementen
Datenschutz und Release Gate
- Netzwerkverkehr des Release Builds zeigt keinen eigenen Datenupload
- Keine personenbezogenen Testdaten liegen in Git oder Build-Artefakten
PrivacyInfo.xcprivacyist im erzeugten App-Bundle enthalten- Xcode Privacy Report enthält keine unerklärten Required-Reason-APIs
- App-Store-Datenschutzangaben entsprechen dem finalen Build
- Öffentliche Datenschutz- und Support-URLs sind erreichbar
- Medizinischer Hinweis ist in App und Metadaten vorhanden
- TestFlight-Testhinweise nennen Geräte- und iOS-Voraussetzungen
- Bekannte Blocker sind dokumentiert und akzeptiert