Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release
thay vì aosp-main
để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Quy trình phát triển kiểm thử
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Để tích hợp các chương trình kiểm thử vào dịch vụ kiểm thử liên tục của nền tảng, các chương trình kiểm thử đó phải đáp ứng các nguyên tắc trên trang này và tuân theo quy trình được đề xuất này.
- Sử dụng hệ thống xây dựng Soong cho Cấu hình kiểm thử đơn giản.
- Sử dụng tính năng Liên kết kiểm thử để tạo quy tắc kiểm thử trước và sau khi gửi trực tiếp trong cây nguồn Android.
- Chạy kiểm thử cục bộ bằng Atest.
Loại kiểm thử
Các loại kiểm thử được hỗ trợ là:
Kiểm thử chức năng đưa ra xác nhận về việc vượt qua hoặc không vượt qua các trường hợp kiểm thử, trong khi kiểm thử chỉ số thường thực hiện một hành động lặp đi lặp lại để thu thập các chỉ số về thời gian.
Với định dạng đầu vào/đầu ra được chuẩn hoá, bạn không cần phải phân tích cú pháp kết quả tuỳ chỉnh và xử lý sau mỗi lần kiểm thử, đồng thời có thể sử dụng các bộ kiểm thử chung cho tất cả các kiểm thử phù hợp với quy ước. Hãy xem phần Tổng quan về Liên minh thương mại để biết khung kiểm thử liên tục đi kèm với Android.
Nguyên tắc về trường hợp kiểm thử
Các trường hợp kiểm thử được thực thi thông qua dịch vụ kiểm thử liên tục dự kiến sẽ là khép kín, nghĩa là tất cả các phần phụ thuộc đều được khai báo và cung cấp cùng với các chương trình kiểm thử. Hãy xem bài viết Máy chủ kín trên Blog kiểm thử của Google để hiểu rõ nguyên tắc này. Tóm lại, các thử nghiệm kín không được có:
- Đăng nhập bằng Tài khoản Google
- Đã định cấu hình khả năng kết nối (viễn thông/Wi-Fi/Bluetooth/NFC)
- Các tham số kiểm thử được truyền vào
- Thiết lập hoặc gỡ bỏ do bộ kiểm thử thực hiện cho một trường hợp kiểm thử cụ thể
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 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"]]