In this article we will understand “Duties Of The Software Tester” in detail.
First of all let’s understand the meaning of software testing.
“Software Testing is the set of activities performed on the software to ensure that the developed software is as per requirement. Software Testing is done by Software Tester.”
Now we know about software testing and software tester let’s start understanding Software Tester Duties.
Duties Of The Software Tester:
Software tester performs mainly “7 Duties” in its software testing life cycle. To perform software testing activities Test Manager identifies correct match of Software Tester by matching the Skill set of available testers to the Project Requirement. Once the Test Manager finds ideal Software Tester he will set up the meeting with Software Tester to know more about him and brief him about the Project Requirement. After meeting, and if both agree, then the Test Manager will assign the project to Software Tester. On Project Allocation the very first duty of Software Tester is to understand the requirement.
1. Requirement Gathering:
To understand the requirement Test Manager will provide SRS (Software Requirement Specification) document to Software Tester. Software Tester needs to thoroughly understand the requirement to start testing the software.
2. Test Planning:
Test planning phase is the most important phase in Software Testing Life Cycle (STLC).Software Tester must cover all aspects of test planning before starting to write test cases. Test Planning is done in Test Plan Document. Software Tester must cover below points in its Test Plan document.
i. Test Plan Identifier:
· It provides unique identifier to the Test Plan Document.
· It gives the overview of the test plan.
· It specifies the goals/objectives.
· It lists the related documents used to create the Test Plan as below
o Project Plan
o Configuration Management Plan
iv. Test Items:
· It lists the items (software) under test and their versions.
v. Features to be Tested:
· It lists the features of the software which are in Testing Scope.
· It provides references to the Requirements and Design specifications of the features to be tested
vi. Features Not to Be Tested:
· It lists the features of the software which are out of Testing Scope.
· It also gives the reasons why these features are out of scope.
· It clearly mentions the overall approach to testing.
· It also specifies the testing types, and the testing methods (Manual/Automated; White Box/Black Box/Gray Box)
viii. Item Pass/Fail Criteria:
· It underlines the criteria that will be used to determine whether each test item (software) has passed or failed testing.
ix. Suspension Criteria and Resumption Requirements:
· It specifies criteria to be used to suspend the testing activity.
· It also lists testing activities which must be redone when testing is resumed.
x. Test Deliverables:
· It lists test deliverables, including the following:
o Test Plan
o Test Cases
o Defect Logs
o Test Reports
xi. Test Environment:
· It specifies the test environment its hardware, software, network etc.
· It also lists any testing related tools to be used.
· It provides the summary of test estimates.
· It gives the summary of the schedule, specifying key test milestones.
xiv. Staffing and Training Needs:
· It specifies staffing needs by role and required skills.
· It also identifies training that is necessary to provide to those skills, if not already given.
· It lists the responsibilities of each team member.
· It lists the risks identified.
· It also specifies the risk mitigation plan and the risk contingency plan for each risk identified.
xvii. Assumptions and Dependencies:
· It lists the assumptions that have been made during the preparation of this plan.
· It also lists the dependencies if any.
· It specifies the names and roles of all persons who must approve the plan.
· It also provides space for signatures and dates.
After Requirement Gathering and Test Planning is completed actual work of Software Testing Begins.
3. High Level Scenarios Writing:
Software Tester must go through the information gathered during requirement gathering and planning phase and distribute the work in High Level Scenarios. Software Tester must write all possible high level scenarios of test cases. Software Tester must discuss these high level scenarios with his manager and on his approval send all high level scenarios to the Clients Approval. Once high level scenarios are approved from client software tester needs to start writing detailed test cases.
4. Test Cases Writing:
Software Tester must write detailed test cases. The ideal test case must have below information in detail.
Ø Test Case Number :
· It specifies the test case number.
Ø Test Case Name :
· It specifies the name given to the test case. Every test case must have unique test case name and the name should indicate the purpose of this test case.
Ø Test Scenario :
· It specifies the Name of high level scenario for which the detailed test case is written. There can be many Test Cases written for one test scenario and the name should indicate the purpose of this test scenario.
Ø Test Steps :
· It specifies test case steps. Detailed test case steps must be written for each test case. It should cover the end to end test case.
Ø Test Data :
· It specifies the Test Data that will be used while executing the test case.
Ø Expected Result :
· It specifies the Expected Result after execution of the test case.
Ø Actual Result :
· It specifies the Actual Result after execution of the test case.
Ø Status :
· It specifies the Final Status after execution of test case whether the test case is Pass or Fail.
Ø Notes :
· It specifies the additional information that needs to be mentioned against test case after test case execution.
5. Environment Setup :
Environment setup is very crucial step in Software Testing Life Cycle and to carry this out is duty of software tester. Software Tester must have a meeting with his manager and client to know on which environment he needs to execute his test cases. Once software tester gets required Urls /software dump to do the testing he can start executing his test cases.
6. Test Case Execution:
Test case execution is the main part of Software Testing Life Cycle. Before starting to execute the test cases software tester must have test data to execute the test cases. Software Tester must check with his manager regarding test data, if manager asks the tester to generate test data then software tester must generate all the test data before starting to execute the test cases. During test case execution tester must keep execution evidences like screen shots, logs to confirm that he has executed the test cases. After execution of each test case tester must update the test cases with his findings. If any test case fails then tester must log defect for it with proper priority and severity and assign the defects to the required developer. After completion of test case execution and defects logging the tester must send his findings to his Manager.
7. Test Cycle Closure:
In this phase software tester must follow up with development team regarding defects logged against them. After development team confirms that they have fixed all the defects then the software tester must do retesting of all the test cases to know if all defects are fixed and there are defects in the software. After testing completion the software tester must send the test cases, test evidences to manager and after this the software can be delivered to the client. Here ends the software tester duties.