Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Workflow für die Testentwicklung
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Damit Tests in einen kontinuierlichen Testdienst der Plattform eingebunden werden können, müssen sie den Richtlinien auf dieser Seite entsprechen und dieser empfohlenen Vorgehensweise folgen.
- Verwenden Sie das Soong-Buildsystem für die einfache Testkonfiguration.
- Mit Testzuordnung können Sie Testregeln vor und nach dem Einreichen direkt im Android-Quellcode erstellen.
- Mit Atest Tests lokal ausführen
Testtypen
Folgende Testtypen werden unterstützt:
Bei funktionalen Tests wird festgestellt, ob Testfälle bestanden oder nicht bestanden haben. Bei Messwerttests wird in der Regel eine Aktion wiederholt ausgeführt, um Zeitmesswerte zu erfassen.
Durch ein standardisiertes Eingabe-/Ausgabeformat entfällt die benutzerdefinierte Ergebnisanalyse und Nachbearbeitung pro Test. Außerdem können für alle Tests, die der Konvention entsprechen, generische Test-Harnesses verwendet werden. Weitere Informationen zum kontinuierlichen Testframework, das in Android enthalten ist, finden Sie in der Trade Federation-Übersicht.
Richtlinien für Testfälle
Testfälle, die über den Dienst für kontinuierliche Tests ausgeführt werden, sollten hermetisch sein. Das bedeutet, dass alle Abhängigkeiten deklariert und mit den Tests bereitgestellt werden. Weitere Informationen zu diesem Prinzip finden Sie im Google Testing Blog unter „Hermetic Servers“. Kurz gesagt sind für hermetische Tests keine der folgenden Dinge erforderlich:
- Anmeldung im Google-Konto
- Konnektivität konfiguriert (Telefonie/WLAN/Bluetooth/NFC)
- Übergebene Testparameter
- Einrichtung oder Deaktivierung, die vom Test-Harness für einen bestimmten Testfall ausgeführt wird
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Test development workflow\n\nTo integrate tests into a platform continuous testing service, they should meet\nthe guidelines on this page and follow this recommended flow.\n\n1. Use the [Soong build system](https://android.googlesource.com/platform/build/soong/) for [Simple Test Configuration](/docs/core/tests/development/blueprints).\n2. Employ [Test Mapping](/docs/core/tests/development/test-mapping) to create pre- and post-submit test rules directly in the Android source tree.\n3. Run tests locally using [Atest](/docs/core/tests/development/atest).\n\nTest types\n----------\n\nSupported test types are:\n\n- [Instrumentation tests](/docs/core/tests/development/instrumentation) support both functional and metrics tests. See [Test your app](https://developer.android.com/studio/test/) for general app testing guidance.\n- [GoogleTest](/docs/core/tests/development/gtest) (GTest) supports the following test types:\n - [Functional GTests](/docs/core/tests/development/gtest-func-e2e) using the [GTest](https://github.com/google/googletest) framework\n - [Metric tests](/docs/core/tests/development/metrics) using [`google-benchmark`](https://github.com/google/benchmark)\n- [JAR host tests](/docs/core/tests/development/jar) using JUnit\n\nFunctional tests make assertions of pass or fail on test cases, while metrics\ntests generally perform an action repeatedly to collect timing metrics.\n\nWith standardized input/output format, the need for customized result parsing\nand post-processing per test is eliminated, and generic test harnesses can be\nused for all tests that fit into the convention. See the [Trade Federation\nOverview](/docs/core/tests/tradefed) for the continuous test framework\nincluded with Android.\n\nTest case guidelines\n--------------------\n\nTest cases executed through the continuous testing service are expected to be\n**hermetic** , meaning that all dependencies are declared and provided with the\ntests. See [Hermetic Servers on the Google Testing\nBlog](https://testing.googleblog.com/2012/10/hermetic-servers.html)\nfor an understanding of this principle. In short, hermetic tests require **no**:\n\n- Google Account sign-in\n- Connectivity configured (telephony/Wi-Fi/Bluetooth/NFC)\n- Test parameters passed in\n- Setup or tear down performed by test harness for a specific test case"]]