<?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.5/uma.ecore"
    xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.0" xmi:id="_NrVKsKeqEdmKDbQuyzCoqQ"
    name="create_test_cases,_0iwc0clgEdmt3adZL5Dmdw" guid="_NrVKsKeqEdmKDbQuyzCoqQ"
    changeDate="2007-06-05T14:36:55.703-0700" version="1.0.0">
  <sections xmi:id="_IJFSsKuSEdmhFZtkg1nakg" name="Review the requirements to be tested"
      guid="_IJFSsKuSEdmhFZtkg1nakg">
    <sectionDescription>&lt;p>&#xD;
&#xD;
    Work with&amp;nbsp;&lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/roles/analyst_39D7C49B.html&quot; guid=&quot;_0VxJsMlgEdmt3adZL5Dmdw&quot;>Analyst&lt;/a> and &lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/roles/developer_C633AB7.html&quot; guid=&quot;_0YDosMlgEdmt3adZL5Dmdw&quot;>Developer&lt;/a>&amp;nbsp;to identify which scenarios need new or additional test cases. Review&#xD;
&#xD;
    the &lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/workproducts/iteration_plan_B46FED39.html&quot; guid=&quot;_0aQBEslgEdmt3adZL5Dmdw&quot;>Iteration Plan&lt;/a>&amp;nbsp;to ensure you understand the scope of development for the&#xD;
&#xD;
    current iteration.&lt;br />&#xD;
&#xD;
&lt;/p></sectionDescription>
  </sections>
  <sections xmi:id="_aDe_ILGcEdubqf8m_Zrvvg" name="Identify relevant Test Cases" guid="_aDe_ILGcEdubqf8m_Zrvvg">
    <sectionDescription>&lt;p>&#xD;
&#xD;
    Identify paths through the scenario as unique test conditions.&amp;nbsp;Consider alternative or exception paths from both a&#xD;
&#xD;
    positive and negative perspective.&amp;nbsp;&amp;nbsp;&#xD;
&#xD;
&lt;/p>&#xD;
&#xD;
&lt;p>&#xD;
&#xD;
    Discuss the requirement with the &lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/roles/stakeholder_9FFD4106.html&quot; guid=&quot;_dTa6gMAYEdqX-s4mWhkyqQ&quot;>Stakeholder&lt;/a> to identify other conditions of satisfaction for the requirement.&#xD;
&#xD;
&lt;/p>&#xD;
&#xD;
&lt;p>&#xD;
&#xD;
    List the test cases with a unique name that identifies the condition they evaluate or their expected result.&#xD;
&#xD;
&lt;/p></sectionDescription>
  </sections>
  <sections xmi:id="_LpbM8KuSEdmhFZtkg1nakg" name="Outline the Test Cases" guid="_LpbM8KuSEdmhFZtkg1nakg">
    <sectionDescription>&lt;p>&#xD;
&#xD;
    For each test case, write a brief description with an expected result. Ensure that a casual reader can clearly&#xD;
&#xD;
    understand the difference between test cases. Note the logical pre-conditions and post-conditions that apply to each&#xD;
&#xD;
    test case. Optionally, outline steps for the test case.&#xD;
&#xD;
&lt;/p>&#xD;
&#xD;
&lt;p>&#xD;
&#xD;
    Verify that test cases meet the &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../openup/guidances/checklists/test_case_9D3F2E96.html&quot; guid=&quot;_0Zxf8MlgEdmt3adZL5Dmdw&quot;>Checklist: Test Case&lt;/a> guidelines.&#xD;
&#xD;
&lt;/p>&#xD;
&#xD;
&lt;p>&#xD;
&#xD;
    For more information on the test case, see &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../openup/guidances/templates/test_case_A18913A5.html&quot; guid=&quot;_0dT8IMlgEdmt3adZL5Dmdw&quot;>Template: Test Case&lt;/a>.&#xD;
&#xD;
&lt;/p></sectionDescription>
  </sections>
  <sections xmi:id="_NK18YKuSEdmhFZtkg1nakg" name="Identify test data needs" guid="_NK18YKuSEdmhFZtkg1nakg">
    <sectionDescription>&lt;p>&#xD;
&#xD;
    Review each test case and note where data input or output might be required. Identify the type, quantity, and&#xD;
&#xD;
    uniqueness of the required data, and add these observations to the test case. Focus on articulating the data needed and&#xD;
&#xD;
    not on creating specific data.&#xD;
&#xD;
&lt;/p>&#xD;
&#xD;
&lt;p>&#xD;
&#xD;
    For more information on test data selection, see &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../openup/guidances/checklists/test_case_9D3F2E96.html&quot; guid=&quot;_0Zxf8MlgEdmt3adZL5Dmdw&quot;>Checklist: Test Case&lt;/a>.&#xD;
&#xD;
&lt;/p></sectionDescription>
  </sections>
  <sections xmi:id="_Ok_mMKuSEdmhFZtkg1nakg" name="Share and evaluate the Test Cases"
      guid="_Ok_mMKuSEdmhFZtkg1nakg">
    <sectionDescription>&lt;p>&#xD;
&#xD;
    Walk through the test cases with the &lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/roles/analyst_39D7C49B.html&quot; guid=&quot;_0VxJsMlgEdmt3adZL5Dmdw&quot;>Analyst&lt;/a> and &lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/roles/developer_C633AB7.html&quot; guid=&quot;_0YDosMlgEdmt3adZL5Dmdw&quot;>Developer&lt;/a> responsible for the related scenario. Ideally, the &lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/roles/stakeholder_9FFD4106.html&quot; guid=&quot;_dTa6gMAYEdqX-s4mWhkyqQ&quot;>Stakeholder&lt;/a> also participates.&#xD;
&#xD;
&lt;/p>&#xD;
&#xD;
&lt;p>&#xD;
&#xD;
    Ask the participants to agree that if &lt;em>these test cases pass&lt;/em>, they will consider these requirements&#xD;
&#xD;
    implemented. Elicit additional test ideas from the &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../openup/roles/analyst_39D7C49B.html&quot; guid=&quot;_0VxJsMlgEdmt3adZL5Dmdw&quot;>Role: Analyst&lt;/a> and the &lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/roles/stakeholder_9FFD4106.html&quot; guid=&quot;_dTa6gMAYEdqX-s4mWhkyqQ&quot;>Stakeholder&lt;/a>&#xD;
&#xD;
    to ensure you understand the expected behavior of the scenario.&#xD;
&#xD;
&lt;/p>&#xD;
&#xD;
&lt;p>&#xD;
&#xD;
    During the walkthrough, ensure that:&#xD;
&#xD;
&lt;/p>&#xD;
&#xD;
&lt;ul>&#xD;
&#xD;
    &lt;li>&#xD;
&#xD;
        The &lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/workproducts/use_case_22BE66E2.html&quot; guid=&quot;_0VGbUMlgEdmt3adZL5Dmdw&quot;>Use Case&lt;/a>s and &lt;a class=&quot;elementLink&quot; href=&quot;./../../openup/workproducts/supporting_requirements_spec_7D9DD47C.html&quot; guid=&quot;_BVh9cL-CEdqb7N6KIeDL8Q&quot;>Supporting Requirements Specification&lt;/a> planned for the current iteration have&#xD;
&#xD;
        test cases.&#xD;
&#xD;
    &lt;/li>&#xD;
&#xD;
    &lt;li>&#xD;
&#xD;
        All the participants agree with the expected results of the test cases.&#xD;
&#xD;
    &lt;/li>&#xD;
&#xD;
    &lt;li>&#xD;
&#xD;
        There are no &lt;em>other&lt;/em> conditions of satisfaction for the requirement being tested, which indicates either a&#xD;
&#xD;
        missing test case or a missing requirement.&#xD;
&#xD;
    &lt;/li>&#xD;
&#xD;
&lt;/ul></sectionDescription>
  </sections>
  <keyConsiderations>&lt;p>&#xD;
    Develop test cases in parallel with requirements so that &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../openup/roles/analyst_39D7C49B.html&quot; guid=&quot;_0VxJsMlgEdmt3adZL5Dmdw&quot;>Role: Analyst&lt;/a> and &lt;a class=&quot;elementLinkWithType&quot; href=&quot;./../../openup/roles/stakeholder_9FFD4106.html&quot; guid=&quot;_dTa6gMAYEdqX-s4mWhkyqQ&quot;>Role: Stakeholder&lt;/a> can agree with the specific conditions of satisfaction for each requirement. The test cases act as&#xD;
    acceptance criteria by expanding on the intent of the system&amp;nbsp;through actual scenarios of use.&amp;nbsp;This allows&#xD;
    team members to measure progress in terms of passing test cases.&amp;nbsp;&#xD;
&lt;/p></keyConsiderations>
  <purpose>&lt;p>&#xD;
&#xD;
&#xD;
    To achieve a shared understanding of the specific conditions that the solution must meet.&#xD;
&#xD;
&#xD;
&lt;/p></purpose>
</org.eclipse.epf.uma:TaskDescription>
