# 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)