| # Test Development Workflow |
| |
| To integrate tests into platform continuous testing service, they should meet |
| the following guidelines. |
| |
| ## Test Types |
| |
| Supported test types are: |
| |
| * standard [instrumentation](http://developer.android.com/tools/testing/testing_android.html) tests |
| * supports both functional and metrics tests |
| * native tests |
| * functional: [gtest](https://github.com/google/googletest) framework |
| * metrics: native benchmark tests using [google-benchmark](https://github.com/google/benchmark) |
| |
| Functional tests make assertions of pass or fail on test cases, while metrics |
| tests generally performs an action repeatedly to collect timing metrics. |
| |
| With standardized input/output format, the need for customized result parsing |
| and post-processing per test is eliminated, and generic test harnesses can be |
| used for all tests that fit into the convention. |
| |
| ### Test Case Guidelines |
| |
| Test cases executed via continuous testing service are expected to be |
| **hermetic**: |
| |
| * no Google account sign-in |
| * no connectivity setup (telephony/wifi/bluetooth/NFC) |
| * no test parameters passed in |
| * no setup or tear down performed by test harness for a specific test case |
| |
| ### Building Tests |
| |
| If you are new to the workflow of adding and executing tests, please see: |
| |
| * [Instrumentation Tests](instrumentation.md) (supports both functional and |
| metrics tests) |
| * [Native Tests](native.md) |
| * [Native Metric Tests](metrics.md) |