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