Mit virtuellen Android-Geräten testen

In diesem Dokument werden AVDs für Test Lab, einschließlich der Vorteile und bekannten Einschränkungen beschrieben. Außerdem geben wir Empfehlungen dazu, wie Sie Ihre App während des gesamten Entwicklungszyklus testen können. Test Lab AVDs ähneln AVDs für Android Studio, sind aber für die Leistung bei Cloud-Tests optimiert. Daher gibt es einige Unterschiede zwischen den beiden.

Test Lab AVDs mit dem Suffix „.arm“ oder „(Arm)“ sind erweiterte Emulatoren, die folgende Vorteile bieten:

  • Schnellere Testausführung

  • Bildschirmgrößen und -dichten sind für Konsistenz an die AVDs von Android Studio angepasst.

  • GPU-unterstützte beschleunigte Grafiken

In der folgenden Tabelle werden die Vorteile der Verwendung virtueller Geräte beschrieben:

Vorteil Beschreibung Anwendungsfälle
Hohe Verfügbarkeit Wenn Sie Tests mit virtuellen Geräten durchführen, können Sie Tests schneller ausführen und Testberichte schneller erhalten. Da virtuelle Geräte bei Bedarf erstellt werden, beginnen Ihre Tests fast sofort und Sie erhalten schnell eine Bestätigung, dass Ihre App funktioniert. Tests kleiner Updates für Ihre App oder Regressionstests.
Längere Testdauern Virtuelle Geräte unterstützen eine Testdauer von bis zu 60 Minuten. Tests auf physischen Geräten sind auf eine Testdauer von 45 Minuten pro Gerät begrenzt. Längere Tests ausführen
Geringere Kosten Für virtuelle Geräte wird ein Preis von 1 $pro Stunde für jedes virtuelle Gerät berechnet, das zum Testen Ihrer App verwendet wird. Tägliche Tests mit Systemen für die kontinuierliche Integration oder vor dem Einchecken von Code. Weitere Informationen finden Sie unter Nutzungsstufen, Kontingente und Preise für Test Lab.

App mit virtuellen Geräten testen

Sie können Ihre App mit virtuellen Geräten auf dieselbe Weise testen wie mit physischen Geräten. Sie können virtuelle Geräte für Ihre Tests auswählen, wenn Sie eine Testmatrix konfigurieren. Weitere Informationen zum Ausführen von Tests mit Test Lab finden Sie unter Erste Schritte mit Firebase Test Lab für Android Firebase Test Lab.

Unterstützte Modelle und APIs ansehen

Führen Sie den folgenden Befehl aus, um AVD-Modelle und APIs anzusehen, die von Test Lab unterstützt werden:

gcloud firebase test android models list --filter=virtual

Best Practices für das Testen Ihrer App

Virtuelle Geräte erweitern Ihre Optionen, wenn Sie Ihre App mit Test Lab testen. Wir empfehlen, die folgenden Best Practices zu verwenden, um Ihre App während des gesamten App-Entwicklungszyklus zu testen:

Android Studio-Emulator oder angeschlossenes physisches Gerät verwenden

Verwenden Sie bei der Entwicklung Ihrer App den Android Studio-Emulator oder ein angeschlossenes physisches Gerät, um jeden Build für die erste Validierung zu prüfen. Wenn Sie Instrumentierungstests haben, können Sie diese Tests auch in Android Studio auf physischen oder virtuellen Geräten ausführen, die von Test Lab bereitgestellt werden.

Bei jeder Codeänderung CI-Systeme verwenden, wenn Sie an gemeinsamen Projekten arbeiten

Wenn Sie an einem großen Projekt arbeiten oder zu Projekten beitragen, die über GitHub oder eine ähnliche Website geteilt werden, empfehlen wir Ihnen, Systeme für die kontinuierliche Integration (Continuous Integration, CI) zu verwenden. Testen Sie Ihre Apps auf virtuellen Geräten jedes Mal, wenn das CI-System ausgeführt wird, oder vor jeder Pull-Anfrage. Weitere Informationen zur Verwendung von Test Lab mit CI Systemen finden Sie unter Using Test Lab for Android with Continuous Integration Systems.

App vor der Veröffentlichung wichtiger App-Updates auf physischen Geräten mit Test Lab testen

Bevor Sie App-Updates mit erheblichen Änderungen an UI und Funktionen veröffentlichen, empfehlen wir Ihnen, Ihre App mit Test Lab auf physischen Geräten zu testen. So können Sie sicherstellen, dass Ihre App auf einer Vielzahl gängiger physischer Geräte stabil und leistungsstark ist. Durch Tests auf physischen Geräten wird auch die Testabdeckung für alle App-Funktionen gewährleistet, die auf physischen Gerätefunktionen basieren, die von virtuellen Geräten nicht simuliert werden. Weitere Informationen zu diesen Funktionen finden Sie unter Bekannte Einschränkungen.

Updates für virtuelle Geräte

Das Android-Team fügt regelmäßig neue Images für virtuelle Geräte hinzu, stellt alte ein und aktualisiert vorhandene. Wir wenden diese Updates auf unsere Images für virtuelle Geräte an, damit Sie mit aktuellen Android-Versionen testen können, die die Erfahrungen Ihrer Nutzer widerspiegeln.

In seltenen Fällen können diese Updates dazu führen, dass Tests unerwartet fehlschlagen. Wenn ein potenziell fehlerhaftes Update bekannt ist, wird Test Lab in den Versionshinweisen Informationen dazu angeben. Wir empfehlen, nach Möglichkeit Test-Frameworks wie Espresso zu verwenden, die robust gegenüber diesen Änderungen sind. Wenn das nicht möglich ist, empfehlen wir, Arm-basierte virtuelle Geräte zu verwenden, die seltener aktualisiert werden.

Bekannte Einschränkungen

Einige Funktionen physischer Geräte werden derzeit nicht von virtuellen Geräten simuliert, oder nur mit Einschränkungen simuliert. In der folgenden Tabelle sind Funktionen zusammengefasst, die auf virtuellen Geräten derzeit nicht oder nur mit bestimmten Einschränkungen verfügbar sind:

Funktion Details
Binärschnittstellen (Application Binary Interfaces, ABIs) Nicht alle Geräte unterstützen alle ABIs. Wenn Sie mit dem Android NDK entwickeln, müssen Sie Code für die ABIs generieren, die von den Zielgeräten unterstützt werden (siehe Verfügbare Geräte in Test Lab). Weitere Informationen zur ABI-Verwaltung finden Sie unter Android ABIs.

Hinweis: Wenn ein Test in Ihrer Testmatrix als ungültig markiert ist, kann das daran liegen, dass Ihre App von nativem Code abhängt, der vom Geräte-ABI nicht unterstützt wird.

Grafikleistung Virtuelle Nexus- und Pixel-Geräte verwenden Software-Grafikrendering. Bei grafikintensiven Anwendungen kann die Leistung geringer sein. Wenn Ihre App grafikintensiv ist, sollten Sie stattdessen SmallPhone.arm, MediumPhone.arm oder physische Geräte verwenden.
Grafik-APIs OpenGL ES 3.x wird auf Geräten unter API-Level 29 nicht unterstützt. Neuere Geräte sind nicht zu 100% mit OpenGL/Vulkan-APIs kompatibel. Möglicherweise sehen Sie kleine Unterschiede in der Grafik.
Google Play Store App Die Google Play Store App wird auf Arm-basierten virtuellen Geräten nicht unterstützt.
Augmented Reality-Funktionen (AR) Das Testen der Augmented Reality-Funktionen (AR) wird auf virtuellen Geräten nicht unterstützt.
Ältere API-Level Test Lab Arm-basierte virtuelle Geräte unterstützen keine API-Level unter 26.

Nächste Schritte