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