Dieses Dokument beschreibt AVDs für Testlabore, einschließlich der Vorteile und bekannten Einschränkungen. Wir geben außerdem Empfehlungen zum Testen Ihrer App während des gesamten Entwicklungslebenszyklus.
Obwohl Test Lab AVDs den AVDs für Android Studio ähneln, gibt es einige Unterschiede zwischen den beiden. Beispielsweise verfügen AVDs im Testlabor über eine emulierte Datenverbindung und nicht über eine Wi-Fi-Verbindung.
Testlabor-AVDs mit dem Suffix .arm
oder (Arm) sind erweiterte Emulatoren, die die folgenden Vorteile bieten:
Schnellere Testausführungszeit
Bildschirmgrößen und -dichten sind aus Gründen der Konsistenz an die AVDs von Android Studio angepasst
Die Verwendung von AVDs mit dem Suffix .arm
oder (Arm) bietet die folgenden Vorteile gegenüber anderen Arten physischer Geräte:
Nutzen | Beschreibung | Anwendungsfälle) |
Hohe Verfügbarkeit | Beim Testen mit virtuellen Geräten können Sie Tests schneller ausführen und Testergebnisse erhalten. Da virtuelle Geräte bei Bedarf erstellt werden, beginnen Ihre Tests fast sofort und ermöglichen eine schnelle Validierung Ihrer App. | Testen Sie kleine Updates Ihrer App oder für Regressionstests. |
Längere Testdauern | Tests auf physischen Geräten sind auf eine Testdauer von 45 Minuten pro Gerät begrenzt. Virtuelle Geräte unterstützen eine Testdauer von bis zu 60 Minuten. | Führen Sie längere Tests durch. |
Geringere Kosten | Der Preis für virtuelle Geräte beträgt 1 US-Dollar pro Stunde für jedes virtuelle Gerät, das zum Testen Ihrer App verwendet wird. | Tägliche Tests mit kontinuierlichen Integrationssystemen oder vor dem Einchecken von Code. Weitere Informationen finden Sie unter Nutzungsniveaus, Kontingente und Preise für Test Lab . |
Testen Sie Ihre App mit virtuellen Geräten
Sie können Ihre App mit virtuellen Geräten genauso testen wie mit physischen Geräten. Wählen Sie einfach virtuelle Geräte aus, wenn Sie Testdimensionen auswählen, um eine Testmatrix zu konfigurieren. Weitere Informationen zum Ausführen von Tests mit Test Lab finden Sie unter Erste Schritte mit dem Testen für Android mit Firebase Test Lab .
Unterstützte Modelle und APIs anzeigen
Führen Sie den folgenden Befehl aus, um die von Test Lab unterstützten AVD-Modelle und APIs anzuzeigen:
gcloud firebase test android models list --filter=virtual
Best Practices zum Testen Ihrer App
Virtuelle Geräte erweitern Ihre Möglichkeiten, wenn Sie Ihre App mit Test Lab testen. Wir empfehlen, die Best Practices in diesem Abschnitt zu verwenden, um Ihre App während des gesamten App-Entwicklungslebenszyklus zu testen.
Verwenden Sie den Android Studio-Emulator oder ein angeschlossenes physisches Gerät
Verwenden Sie beim Entwickeln Ihrer App den Android Studio-Emulator oder ein angeschlossenes physisches Gerät, um jeden Build auf eine erste Validierung zu untersuchen. Wenn Sie über Instrumentierungstests verfügen, können Sie diese Tests auch über Android Studio auf physischen oder virtuellen Geräten ausführen, die von Test Lab bereitgestellt werden.
Verwenden Sie CI-Systeme bei jeder Codeänderung, wenn Sie an gemeinsamen Projekten arbeiten
Wenn Sie an einem großen Projekt arbeiten oder zu Projekten beitragen, die über GitHub oder einen ähnlichen Dienst geteilt werden, empfehlen wir Ihnen die Verwendung von Continuous Integration (CI)-Systemen.
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 Verwenden von Test Lab für Android mit Continuous Integration Systems .
Testen Sie Ihre App auf physischen Geräten mit Test Lab, bevor Sie wichtige App-Updates veröffentlichen
Bevor Sie App-Updates mit wesentlichen Änderungen an der Benutzeroberfläche und Funktionalität veröffentlichen, empfehlen wir Ihnen, Test Lab zu verwenden, um Ihre App auf physischen Geräten zu testen. Dadurch wird sichergestellt, dass Ihre App auf einer Vielzahl gängiger physischer Geräte stabil und leistungsfähig ist. Das Testen auf physischen Geräten stellt außerdem die Testabdeckung für alle App-Funktionen sicher, die auf physischen Gerätefunktionen basieren, die nicht durch virtuelle Geräte simuliert werden. Weitere Informationen zu diesen Funktionen finden Sie unter Bekannte Einschränkungen .
Aktualisierungen virtueller Geräte
Das Android-Team fügt regelmäßig neue Images virtueller Geräte hinzu, verwirft alte und aktualisiert bestehende. Wir wenden diese Updates auf unsere virtuellen Geräte-Images an, um sicherzustellen, dass Sie mit aktuellen Android-Versionen testen, die die Erfahrungen Ihrer Benutzer widerspiegeln.
In seltenen Fällen können diese Updates dazu führen, dass Tests unerwartet fehlschlagen. Wenn bekannt ist, dass ein potenziell störendes Update vorliegt, wird Test Lab Informationen in die Versionshinweise aufnehmen. Als Best Practice empfehlen wir Ihnen, nach Möglichkeit Test-Frameworks zu verwenden – zum Beispiel Espresso – die diesen Änderungen standhalten. Wenn dies nicht möglich ist, empfehlen wir Ihnen, virtuelle Arm-Geräte ins Visier zu nehmen, die voraussichtlich seltener aktualisiert werden.
Bekannte Einschränkungen
Einige physische Gerätefunktionen werden derzeit nicht oder nur mit einigen Einschränkungen durch virtuelle Geräte simuliert. Die folgende Tabelle fasst Funktionen zusammen, die derzeit auf virtuellen Geräten nicht verfügbar sind oder mit bestimmten Einschränkungen verfügbar sind.
Besonderheit | Einzelheiten |
Anwendungsbinäre Schnittstellen (ABI) | Nicht alle Geräte unterstützen alle ABIs. Wenn Sie mit dem Android NDK entwickeln, stellen Sie sicher, dass Sie Code für die ABIs generieren, die von den Zielgeräten unterstützt werden. Weitere Informationen finden Sie unter Verfügbare Geräte im Testlabor . Weitere Informationen zur ABI-Verwaltung finden Sie unter Android-ABIs . Informationen dazu, welche ABIs von einem Gerät unterstützt werden, finden Sie unter Verfügbare Testgeräte prüfen . Hinweis: Wenn ein Test in Ihrer Testmatrix als „Ungültig“ markiert ist, kann dies daran liegen, dass Ihre App von nativem Code abhängig ist, der von der Geräte-ABI nicht unterstützt wird. |
Grafikleistung | Virtuelle Nexus- und Pixel-Geräte verwenden Software-Grafik-Rendering. Bei grafikintensiven Anwendungen ist die Leistung geringer. Wenn Ihre App grafikintensiv ist, verwenden Sie stattdessen die Modelle SmallPhone.arm und MediumPhone.arm oder physische Geräte. |
Bildschirmaufnahme | Die Bildschirmaufzeichnung auf den Nexus- und Pixel-Geräten erfolgt mit 1 Bild pro Sekunde. |
Grafik-APIs | OpenGL ES 3.x wird auf Geräten unter API-Level 29 nicht unterstützt. Neuere Geräte sind nicht 100 % kompatibel mit OpenGL/Vulkan-APIs. Möglicherweise stellen Sie kleine Unterschiede in der Grafik fest. |