<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:TaskDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.3/uma.ecore" epf:version="1.0.0" xmi:id="_NrbRUKeqEdmKDbQuyzCoqQ" name="implement_tests,_0jO98MlgEdmt3adZL5Dmdw" guid="_NrbRUKeqEdmKDbQuyzCoqQ" changeDate="2006-09-20T19:51:14.814-0400" version="1.0.0">
  <sections xmi:id="_S8JzsKuSEdmhFZtkg1nakg" name="Select appropriate implementation technique" guid="_S8JzsKuSEdmhFZtkg1nakg">
    <sectionDescription>&lt;p&gt;
    Select one or several of the following test implementation&amp;nbsp;techniques:
&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;
        manual test scripts
    &lt;/li&gt;
    &lt;li&gt;
        programmed test scripts
    &lt;/li&gt;
    &lt;li&gt;
        recorded test scripts
    &lt;/li&gt;
&lt;/ul&gt;</sectionDescription>
  </sections>
  <sections xmi:id="_VN5M0KuSEdmhFZtkg1nakg" name="Implement the test" guid="_VN5M0KuSEdmhFZtkg1nakg">
    <sectionDescription>&lt;p&gt;
    Using your test-ideas list and test cases as inputs, set up your specifications, spreadsheet, or&amp;nbsp;automated
    tool&amp;nbsp;to record scripts needed to conduct the test.&amp;nbsp;If you are recording explicit steps for your test,
    navigate through the system under test identifying steps, groups of related steps, verification points, and control
    points.
&lt;/p&gt;</sectionDescription>
  </sections>
  <sections xmi:id="_WvBoYKuSEdmhFZtkg1nakg" name="Establish external data sets" guid="_WvBoYKuSEdmhFZtkg1nakg">
    <sectionDescription>Create containers for your test data sets. Separate the production data from generated data. Associate your data sets with
a given build of the system under test.&amp;nbsp;If data sets are associated with a particular part of the system under test,
mark them accordingly.</sectionDescription>
  </sections>
  <sections xmi:id="_X0dmcKuSEdmhFZtkg1nakg" name="Verify Test implementation" guid="_X0dmcKuSEdmhFZtkg1nakg">
    <sectionDescription>&lt;p&gt;
    Run the test script to verify that it implements the tests correctly. For manual testing,&amp;nbsp;conduct a walkthrough of
    the test script. For automated tests, verify that&amp;nbsp;the test implementation will involve some degree of the
    configuration of the testing tool.
&lt;/p&gt;</sectionDescription>
  </sections>
  <sections xmi:id="_Y-ABYKuSEdmhFZtkg1nakg" name="Organize tests into test suites" guid="_Y-ABYKuSEdmhFZtkg1nakg">
    <sectionDescription>&lt;p&gt;
    Collect tests into related groups. The grouping you use depends on your test environment. For example, you can organize
    test cases, test scripts, and test data hierarchically to facilitate navigation within a test, as well as within the
    suite. Another form of test suite organization is based on system functionality and uses the quality attributes of
    usability, reliability, and performance as categories for groups.&amp;nbsp;You may choose to follow an iteration-based test
    suite organization, instead.&amp;nbsp;Since the system under test is undergoing its own evolution, create your test suites
    to facilitate regression testing, as well as system configuration identification.
&lt;/p&gt;</sectionDescription>
  </sections>
  <purpose>&lt;p&gt;
    To implement one or more tests that can be executed to validate a system.
&lt;/p&gt;</purpose>
</org.eclipse.epf.uma:TaskDescription>
