<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:ContentDescription 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:rmc="http://www.ibm.com/rmc" rmc:version="7.5.0" xmlns:epf="http://www.eclipse.org/epf"
    epf:version="1.5.0" xmi:id="-yVQcZlwHTZIT9-i97PVUYQ"
    name="test_discipline,_iGSHtlZ-EdyIUdvDLLUdeg" guid="-yVQcZlwHTZIT9-i97PVUYQ"
    changeDate="2008-01-18T15:27:31.062-0800" version="7.2.0">
  <mainDescription>&lt;p>&#xD;
    The purpose of this discipline is to:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &#xD;
  &lt;li> Provide early and frequent &lt;em>feedback&lt;/em> about whether the system satisfies &#xD;
    the requirements &lt;/li>&#xD;
    &lt;li>&#xD;
        Objectively measure progress in small increments&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Identify issues with the solution&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Provide assurance that changes to the system do not introduce new defects&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Improve velocity by facilitating the discovery of issues with requirements, designs, and implementations as early&#xD;
        as possible&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p> The Test discipline is iterative and incremental. It applies the strategy &#xD;
  of &quot;test early and test often&quot; to retire risks as early in the system's lifecycle &#xD;
  as possible. &lt;/p>&#xD;
&lt;p> Testing occurs in each iteration of the lifecycle, beginning with the earliest &#xD;
  builds of the system. In fact, it is common for one iteration to have many test &#xD;
  cycles, depending on the frequency of new builds. &lt;/p>&#xD;
&lt;p> Testing asks the question: &quot;What does the solution have to &lt;em>do&lt;/em> for &#xD;
  us to consider a requirement implemented?&quot; Tests elaborate on the requirements &#xD;
  with specific conditions of satisfaction that the solution must meet. &lt;/p>&#xD;
&lt;p> This discipline challenges the assumptions, risks, and uncertainty inherent &#xD;
  in the development of highly technical artifacts and addresses those concerns &#xD;
  by using concrete demonstration and impartial evaluation. &lt;/p>&#xD;
&lt;p>&#xD;
    The Test discipline relates to the other disciplines in the following ways:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        The &lt;a class=&quot;elementLink&quot; href=&quot;./../../core.default.cat_def.base/disciplines/requirements_discipline_9520664.html&quot; guid=&quot;_iGSHtVZ-EdyIUdvDLLUdeg&quot;>Requirements&lt;/a> discipline identifies the &lt;em>intent&lt;/em> of the system. Testing&#xD;
        elaborates on the requirements with detailed tests that measure how the system supports the requirements.&#xD;
    &lt;/li>&#xD;
    &#xD;
  &lt;li> The &lt;a class=&quot;elementLink&quot; href=&quot;./../../core.default.cat_def.base/disciplines/development_discipline_44C02445.html&quot; guid=&quot;_iGSHsVZ-EdyIUdvDLLUdeg&quot;>Development&lt;/a> &#xD;
    discipline creates incremental builds of the system that the Test discipline &#xD;
    evaluates. In each iteration, testing provides objective feedback. Effective &#xD;
    testing enables developers to focus on implementing new functionality and &#xD;
    improving the design of the system. &lt;/li>&#xD;
    &#xD;
  &lt;li> The &lt;a class=&quot;elementLink&quot; href=&quot;./../../core.default.cat_def.base/disciplines/project_management_discipline_FEB42654.html&quot; guid=&quot;_iGSHtFZ-EdyIUdvDLLUdeg&quot;>Project Management&lt;/a> discipline plans the overall project and the scope of work &#xD;
    for each iteration. The Test discipline provides an objective measure of progress, &#xD;
    which enables adaptive planning. &lt;/li>&#xD;
&lt;/ul></mainDescription>
</org.eclipse.epf.uma:ContentDescription>
