1page.title=Getting Started with TF
2@jd:body
3
4<!--
5    Copyright 2013 The Android Open Source Project
6
7    Licensed under the Apache License, Version 2.0 (the "License");
8    you may not use this file except in compliance with the License.
9    You may obtain a copy of the License at
10
11        http://www.apache.org/licenses/LICENSE-2.0
12
13    Unless required by applicable law or agreed to in writing, software
14    distributed under the License is distributed on an "AS IS" BASIS,
15    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16    See the License for the specific language governing permissions and
17    limitations under the License.
18-->
19
20<p>Trade Federation is a large test infrastructure that can be adapted to a great variety of
21different usecases, and most people will probably only need some subset of its functionality.  First
22off, we envision that TF users will fulfill any of three primary roles: Developer, Integrator, and
23Test Runner.  A particular individual might wear any (or all) of those three hats, but we feel the
24distinction will help make it easier to navigate the documentation.</p>
25
26<h2>Developers</h2>
27<p>Developers spend the majority of their time creating TF modules that are written in Java.
28They may write configurations and execute tests, but will typically only do so to verify that their
29modules are being invoked properly and are functioning as expected.</p>
30
31<h2>Integrators</h2>
32<p>Integrators spend the majority of their time creating XML test configurations, or command
33files (which are written in a simple shell-like language).  They tie together TF modules written
34by the Developer with specific configurations that are required for particular test requirements and
35goals.</p>
36
37<h2>Test Runners</h2>
38<p>Test Runners spend the majority of their time executing tests and generally making sure
39that test results are being generated, and that the generated test results are relevant,
40reproducible, and accurate.  They spend the majority of their time interacting with tradefed's
41command line interface, and will also verify that the results make sense.</p>
42
43
44<p>In order to get the most out of Trade Federation, all three roles will need to be represented.
45It will take Developers and Integrators to make TF interoperate with other pieces of infrastructure,
46like build systems and test result repositories.  It will take Integrators and Test Runners to get
47TF to actually run the desired tests and produce the desired test results.  It will take Test
48Runners to identify results that don't make sense, and to work with the Developers and
49Integrators to figure out where the bugs may lie and get them fixed.</p>
50
51<h2>What's Next</h2>
52<p>People in all three roles should at least glance through all the rest of the docs.
53<a href="/devices/tech/test_infra/tradefed/fundamentals/machine_setup.html"
54>Machine Setup</a> will get you to the point where you can run TF.
55<a href="/devices/tech/test_infra/tradefed/fundamentals/devices.html"
56>Working with Devices</a> will explain how to run tests with a physical device, with an emulator, or
57with no device at all.  The
58<a href="/devices/tech/test_infra/tradefed/fundamentals/lifecycle.html"
59>Test Lifecycle</a> page will explain from a theoretical perspective how the roles of the
60Developer, Integrator, and Test Runner interact, and then
61<a href="/devices/tech/test_infra/tradefed/fundamentals/options.html"
62>Option Handling</a> will demonstrate how to put that theory into practice.</p>
63
64
65<p>Finally, the <a href="/devices/tech/test_infra/tradefed/full_example.html"
66>End-to-End Example</a> takes you through the development, integration, and deployment of a sample
67test.  It involves aspects of each role, and should offer hints at how to do more complicated
68things that aren't directly discussed in the documentation.</p>
69
70<p>If you've gotten through everything here and still have unanswered questions, first try taking
71a look at the <a href="https://android.googlesource.com/platform/tools/tradefederation/+/master"
72>Trade Federation source code.</a>.  Beyond that, feel free to try asking on the
73<a href="/source/community/index.html">android-platform</a> Google Group.  For best results, make
74sure to mention "Trade Federation" (or "tradefed", or "TF") in the message subject.</p>
75
76