1page.title=Network Connectivity Tests 2@jd:body 3 4<!-- 5 Copyright 2016 The Android Open Source Project 6 7 Licensed under the Apache License, Version 2.0 (the "License"); 8 you may not use this file except in compliance with the License. 9 You may obtain a copy of the License at 10 11 http://www.apache.org/licenses/LICENSE-2.0 12 13 Unless required by applicable law or agreed to in writing, software 14 distributed under the License is distributed on an "AS IS" BASIS, 15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 See the License for the specific language governing permissions and 17 limitations under the License. 18--> 19<div id="qv-wrapper"> 20 <div id="qv"> 21 <h2>In this document</h2> 22 <ol id="auto-toc"> 23 </ol> 24 </div> 25</div> 26<p>Android Connectivity Testing Suite (ACTS) tests fill the testing gap 27between Android’s framework APIs and chipset certifications. These tests 28validate the functionality of various aspects of the Bluetooth, Wi-Fi, and 29cellular radios as used by the Android framework.</p> 30 31<h2 id=users>Who should run ACTS tests?</h2> 32 33<p>ACTS tests should be run by developers and integrators who are working on 34connectivity (Bluetooth, Wi-Fi, and cellular) portions of the Android stack. If 35you are adding new features, integrating a chipset or driver changes, these 36tests are here to help you ensure that your changes are functional and stable 37and that they meet basic standards of performance.</p> 38 39<p>These tests are optional and are not required for any Android device 40certification.</p> 41 42<h2 id=how>How to run ACTS</h2> 43 44<p>ACTS tests make use of privileged Android APIs to unlock a deeper level of 45testing than would otherwise be possible. Thus, only engineering and userdebug 46builds may be tested with ACTS.</p> 47 48<p>ACTS tests are designed to run with minimal, mostly off-the-shelf hardware; 49however, they do require some equipment, which varies based on the type of 50testing. For many tests, two Android devices or a device and a WiFi access 51point is sufficient. Please consult documentation specific to one of the major 52test areas (Bluetooth, Wi-Fi, or cellular) to determine the specific setup 53requirements.</p> 54 55<h2 id=test-types>Test types</h2> 56 57<h3 id=script-android>Scripting Layer for Android</h3> 58 59<p>The <a 60href="https://android.googlesource.com/platform/external/sl4a/+/master/README.md">Scripting 61Layer for Android</a>, in <code><a 62href="https://android.googlesource.com/platform/external/sl4a/"><platform>/external/sl4a</a></code>, 63is a fork from an open source project of the same name. This tool provides a 64thin RPC server to expose Android’s Java APIs. This allows tests to reside 65off-device, which enables coordinated automation of devices and equipment for 66richer more dynamic testing. Over the last 18 months, Google has trimmed, 67updated, extended, and used this project to remotely exercise Android’s Java 68APIs for testing wireless connectivity.</p> 69 70<h3 id=script-native>Scripting Layer for Native</h3> 71 72<p>The <a 73href="https://android.googlesource.com/platform/packages/apps/Test/connectivity/+/master/sl4n/README.md">Scripting 74Layer for Native</a>, in <code><a 75href="https://android.googlesource.com/platform/packages/apps/Test/connectivity/"><platform>/packages/apps/Test/connectivity</a></code>, 76is a new internally-grown RPC server for exposing Android’s native APIs in the 77same manner as the Scripting Layer for Android exposes the Java APIs. This tools 78is currently being used to test Brillo, and we expect this project will expand 79rapidly to meet the test needs of the increasingly-critical native wireless 80APIs.</p> 81 82<h3 id=script-android>Android Comms Test Suite</h3> 83 84<p>The <a 85href="https://android.googlesource.com/platform/tools/test/connectivity/+/master/acts/README.md">Android 86Comms Test Suite</a>, in <code><a 87href="https://android.googlesource.com/platform/tools/test/connectivity/"><platform>/tools/test/connectivity</a></code>, 88is a lightweight Python-based automation tool set that is used to perform 89automated testing of current and upcoming Android devices. It provides a simple 90execution interface; a set of pluggable libraries for accessing devices such as 91attenuators and Android devices; and a collection of utility functions to 92further ease test development. We think it’s an ideal desktop tool for a 93wireless stack developer or integrator whether exercising a new code path, 94performing basic sanity testing, or running extended regression test suites.</p> 95 96<p>The test suite also includes a bundle of tests, many of which can be run with as 97little as one or two Android devices with wifi, cellular, or bluetooth 98connectivity, including:</p> 99 100<ul> 101<li>Wifi tests for AP IOT, Enterprise Connection, WifiScanner, Autojoin, and 102RTT. 103<li>Bluetooth tests for BLE, GATT, SPP, and Bonding. 104<li>Cellular tests for CS and IMS calling, data connectivity, messaging, network 105switching, and hotspot.</li> 106</ul> 107 108<p>We believe that the release of these tools will help developers, integrators, 109and testers alike by lowering the barriers to basic testing and serving as a 110rallying point around which the entire community can collaborate on improved 111system test.</p> 112 113<h2 id=failures-contributors>Failures and contributions</h2> 114 115<p>ACTS tests are not a certification suite, and technically the tests do not 116need to pass in order to release an Android device, though failing tests are 117are likely to translate into a poor user experience. That said, if tests fail, 118do not despair. Some of the tests are intentionally hard. Their purpose is to 119help developers release high-performing devices.</p> 120 121<p>ACTS is a relatively new undertaking, and involvement from the development 122community is crucial. To add tests, report issues, or ask questions, please 123start the conversation by opening a bug on the <a 124href="https://code.google.com/p/android/issues/entry">Android Issue Tracker</a> 125with the template connectivity-testing.</p> 126