1# Test Development Workflow
2
3To integrate tests into platform continuous testing service, they should meet
4the following guidelines.
5
6## Test Types
7
8Supported test types are:
9
10*   standard [instrumentation](http://developer.android.com/tools/testing/testing_android.html) tests
11    *   supports both functional and metrics tests
12*   native tests
13    *   functional: [gtest](https://github.com/google/googletest) framework
14    *   metrics: native benchmark tests using [google-benchmark](https://github.com/google/benchmark)
15
16Functional tests make assertions of pass or fail on test cases, while metrics
17tests generally performs an action repeatedly to collect timing metrics.
18
19With standardized input/output format, the need for customized result parsing
20and post-processing per test is eliminated, and generic test harnesses can be
21used for all tests that fit into the convention.
22
23### Test Case Guidelines
24
25Test cases executed via continuous testing service are expected to be
26**hermetic**:
27
28* no Google account sign-in
29* no connectivity setup (telephony/wifi/bluetooth/NFC)
30* no test parameters passed in
31* no setup or tear down performed by test harness for a specific test case
32
33### Building Tests
34
35If you are new to the workflow of adding and executing tests, please see:
36
37*   [Instrumentation Tests](instrumentation.md) (supports both functional and
38    metrics tests)
39*   [Native Tests](native.md)
40*   [Native Metric Tests](metrics.md)
41