<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:RoleDescription 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="_NqYIcKeqEdmKDbQuyzCoqQ"
    name="tester,_0ZM4MclgEdmt3adZL5Dmdw" guid="_NqYIcKeqEdmKDbQuyzCoqQ" changeDate="2009-07-29T20:39:55.885+0200"
    version="1.0.0">
  <mainDescription>&lt;p>&#xD;
    This role is primarily responsible for the following&amp;nbsp;tasks:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Identify the tests&amp;nbsp;that need to&amp;nbsp;be performed&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Identify the most appropriate implementation approach for a given test&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Implement individual tests&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Set up and execute the tests&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Log outcomes and verify that the tests have been run&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Analyze and recover from execution errors&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Communicate test results to the team&#xD;
    &lt;/li>&#xD;
&lt;/ul></mainDescription>
  <skills>&lt;p>&#xD;
    A person&amp;nbsp;filling the&amp;nbsp;this role should have the following skills:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Knowledge of testing approaches and techniques&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Diagnostic and problem-solving skills&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Knowledge of the system or application being tested (desirable)&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Knowledge of networking and system architecture (desirable)&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    Where automated testing is required, consider requiring these additional qualifications:&#xD;
&lt;/p>&#xD;
&lt;ul>&#xD;
    &lt;li>&#xD;
        Training in the appropriate use of test automation tools&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Experience using test automation tools&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Programming skills&#xD;
    &lt;/li>&#xD;
    &lt;li>&#xD;
        Debugging and diagnostic skills&#xD;
    &lt;/li>&#xD;
&lt;/ul>&#xD;
&lt;p>&#xD;
    &lt;strong>Note:&lt;/strong> Specific skill requirements vary depending on the type of testing that you are conducting. For&#xD;
    example, the skills needed to successfully use system load testing automation tools are different from those needed for&#xD;
    the automation of system functional testing.&#xD;
&lt;/p></skills>
  <assignmentApproaches>&lt;p>
            This role can be assigned in the following ways:
        &lt;/p>
        &lt;ul>
            &lt;li>
                Assign one or more testing staff members to perform this role. This is a fairly standard approach and is
                particularly suitable for small teams, as well as for teams of any size where the team is made up of an experienced
                group of testers of relatively equal skill levels.
            &lt;/li>
            &lt;li>
                Assign one or more testing staff members to perform only this role.&amp;nbsp;This works well in large teams. It is also
                useful to separate responsibilities when some of the testing staff has more test automation experience than other
                team members.
            &lt;/li>
            &lt;li>
                Assign one or more team members that is already playing another role in the project to be responsible for the
                testing of some part of the system’s capabilities.&amp;nbsp;The team member will have to have the appropriate test
                skills.
            &lt;/li>
        &lt;/ul></assignmentApproaches>
</org.eclipse.epf.uma:RoleDescription>
