1 # Test Development Workflow 2 3 To integrate tests into platform continuous testing service, they should meet 4 the following guidelines. 5 6 ## Test Types 7 8 Supported 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 16 Functional tests make assertions of pass or fail on test cases, while metrics 17 tests generally performs an action repeatedly to collect timing metrics. 18 19 With standardized input/output format, the need for customized result parsing 20 and post-processing per test is eliminated, and generic test harnesses can be 21 used for all tests that fit into the convention. 22 23 ### Test Case Guidelines 24 25 Test 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 35 If 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