À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Workflow de développement des tests
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Pour intégrer des tests à un service de test continu de plate-forme, ils doivent respecter les consignes de cette page et suivre la procédure recommandée.
- Utilisez le système de compilation Soong pour la configuration de test simple.
- Utilisez la cartographie de test pour créer des règles de test avant et après l'envoi directement dans l'arborescence source Android.
- Exécutez des tests en local à l'aide d'Atest.
Types de tests
Les types de test acceptés sont les suivants:
Les tests fonctionnels émettent des assertions de réussite ou d'échec sur les scénarios de test, tandis que les tests de métriques effectuent généralement une action à plusieurs reprises pour collecter des métriques de temps.
Avec un format d'entrée/sortie standardisé, il n'est plus nécessaire d'analyser et de post-traiter les résultats de manière personnalisée pour chaque test. Des bancs d'essai génériques peuvent être utilisés pour tous les tests qui respectent la convention. Consultez la présentation de la Trade Federation pour le framework de test continu inclus avec Android.
Consignes concernant les scénarios de test
Les scénarios de test exécutés via le service de test continu doivent être hermétiques, ce qui signifie que toutes les dépendances sont déclarées et fournies avec les tests. Pour comprendre ce principe, consultez Hermetic Servers on the Google Testing blog (Serveurs hermétiques sur le blog Google Testing). En résumé, les tests hermétiques ne nécessitent aucun:
- Connexion au compte Google
- Connectivité configurée (téléphonie/Wi-Fi/Bluetooth/NFC)
- Paramètres de test transmis
- Configuration ou démontage effectuée par le banc d'essais pour un cas de test spécifique
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[null,null,["Dernière mise à jour le 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"]]