Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Alur kerja pengembangan pengujian
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Untuk mengintegrasikan pengujian ke dalam layanan pengujian berkelanjutan platform, pengujian tersebut harus memenuhi
panduan di halaman ini dan mengikuti alur yang direkomendasikan ini.
- Gunakan sistem build Soong
untuk Konfigurasi Pengujian Sederhana.
- Gunakan Pemetaan Pengujian untuk
membuat aturan pengujian pra- dan pasca-pengiriman langsung di hierarki sumber Android.
- Jalankan pengujian secara lokal menggunakan Atest.
Jenis pengujian
Jenis pengujian yang didukung adalah:
Pengujian fungsional membuat pernyataan lulus atau gagal pada kasus pengujian, sedangkan pengujian metrik umumnya melakukan tindakan berulang kali untuk mengumpulkan metrik pengaturan waktu.
Dengan format input/output standar, kebutuhan untuk penguraian hasil
dan pascapemrosesan yang disesuaikan per pengujian akan dihilangkan, dan harness pengujian generik dapat
digunakan untuk semua pengujian yang sesuai dengan konvensi. Lihat Ringkasan
Trade Federation untuk framework pengujian berkelanjutan
yang disertakan dengan Android.
Panduan kasus pengujian
Kasus pengujian yang dijalankan melalui layanan pengujian berkelanjutan diharapkan bersifat
hermetis, yang berarti semua dependensi dideklarasikan dan disediakan dengan
pengujian. Lihat Server Hermetis di Blog Pengujian Google untuk memahami prinsip ini. Singkatnya, pengujian hermetic tidak memerlukan:
- Login Akun Google
- Konektivitas dikonfigurasi (telepon/Wi-Fi/Bluetooth/NFC)
- Parameter pengujian yang diteruskan
- Penyiapan atau pembongkaran yang dilakukan oleh harness pengujian untuk kasus pengujian tertentu
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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"]]