.000
End to End Testing Methodology
QMITEE01 / Version 1.0
Effective: June 15, 2005
Purpose The purpose of End to End Testing methodology is - To define how End to End Testing projects are executed and - To serve as a basis for different phases in an End to End Testing project. Scope During project testing, this methodology shall be used to define the activities and work products for each phase. Only the Testing specific activities are detailed in this methodology. For all other activities like project management, configuration management, etc. the project shall follow the processes defined as part of Qualify. Each End to End Testing project which is taken up may go through all the phases of the Testing Life Cycle. For instance, a project may encompass only System testing phases based on the customer’s requirements. The phases that will be followed during the course of the project will have to be detailed in the Software Project Plan (SPP)-Testing of the project. The applicable phases of execution, the associated work products, verification and validation criteria for each of the relevant phases shall be at par with this methodology. The End to End Testing methodology offers the flexibility of entry and exit through any of the defined phases. The user can use this flexibility by following the Entry, Input, Task, Validation, Output and Exit (EITVOX) criteria defined for each phase. Definitions & Acronyms Definitions Keyword Bug Tracking End to End Testing
Functional
Definition Bug Tracking process covers the defect lifecycle from identification of a defect to its resolution / closure. Involvement from the Design Phase to the Production Phase. I.e. working in parallel with the development teams to ensure that quality is assured at each phase. The model followed is the ‘V’ model. This thus includes the various levels of testing, namely integration testing, system testing and acceptance testing. Process to determine that the features / functionality
Testing Load Testing Performance Testing Regression Testing
Smoke Testing
of the application / product is as per the requirements Testing the application behavior under varying acceptable loads Testing conducted to evaluate the compliance of a system or component with specified performance requirements • Process to ensure that the earlier applications/ products still work with the new changes. • Tests ensure that changes do not introduce unintended behavior or additional errors. Smoke testing is to ensure that the build version is ready to undertake for testing
Acronyms Acronym FTS ITP ITR STP STR
Explanation Functional & Technical Specification Integration Test Plan Integration Test Report System Test Plan System Test Report
Overview The End to End Testing process will cover Integration Testing, System Testing and User Acceptance Testing. Integration Testing The Integration Testing process starts with analyzing/ Understanding of High level Design documents. The Integration Test plan is created. Test Cases are prepared based on the system requirements. Integration testing Environment is identified and setup is done to proceed with Test Execution. Tests are executed to ensure that the application meets the requirements. Defects identified during the Integration Testing are entered in to Defect tracking process. System Testing The System Testing process starts (when Integration Testing is completed with analyzing/ Understanding of System Design documents. The System Test plan is created. Test Cases are prepared based on the system requirements. System testing Environment is identified and setup is done to proceed with Test Execution. Tests are executed to ensure that the application meets the system
requirements. Defects identified during the System Testing are entered in to Defect tracking process. Test result reports are generated after completion of testing. User Acceptance Testing The User Acceptance Testing is performed as a part of End to End testing once System testing is complete. Testing team may need to support to customer in executing acceptance testing if required. End to End Testing consists of the following phases: 1. Analyze Integration requirements 2. Create Integration Test Plan 3. Create Integration Test Cases 4. Ensure Integration Testing Environment 5. Execute Integration Test Cases 6. Review Integration Test Results 7. Prepare Integration Test Report 8. Analyze System Requirements 9. Create System Test Plan 10.Create System Test Cases 11.Ensure System testing Environment 12.Execute System Test Cases 13.Review System Test Results 14.Prepare System Test Report 15.User Acceptance Testing References • QEdge Testing Methodology • Functional Testing Methodology • System Testing Methodology Tailoring Guidelines It is recommended that this methodology be followed during the course of the project. If any tailoring is to be made due to the customer’s requirements, then the tailoring shall be documented along with justification in the Project Tailoring Record (PTR). (Ref… Tailoring Guidelines)
Integration Testing Analyze Integration Requirements This phase consists of analyzing requirements from High level Design Documents and requirement documents, and arriving at the prioritized test objectives Entry Inputs Tasks Verification / Validation Outputs Exit
Requirements Specifications and High Level design Documents are available High Level Design Documents • Study and review System Design documents • Understand and identify functional Interfaces Integrated Requirements Review Integration test Requirements Clear understanding of Requirements
Create Integration Test Plan This phase consists of creation of Integration Test Plan. The plan covers items such as Test Criteria, Scope, Environment, Estimations, Risks, Defect Tracking and Build Management (Refer… Guidelines for Build and Release Management, Guidelines for Metrics Definition Standard, Guidelines for Defect Management) Entry Inputs Tasks
Verification / Validation Outputs Exit
Understanding of System Design and application functionality Integration Test Requirements • Identify and Plan the test data requirement • Prepare integration test Plan. • Get integration test plan reviewed with customer Test plan Review Integration test plan Sign off on integration test plan
Create Integration Test Cases This phase consist of preparation of Test Cases based on the requirements and Integration Test Plan. (Refer… Guidelines for Software Testing) Entry Inputs Tasks
Use cases/application design specifications Use cases/application design specifications • Create Integration Test Cases
Verification / Validation Outputs Exit
• Create the test data • Get the integration test Cases reviewed Test cases Review Integration test Cases Sign off on integration test Cases
Ensure Integration Testing Environment This phase consist of Environment setup to ensure readiness for Test Execution. (Refer… Guidelines for Test Data Management) Entry Inputs Tasks
Verification / Validation Outputs Exit
• Integration test plan • Understanding of application architecture Integration test plan • Identify the test lab • Setup environment for testing • Setup the required application user access and other accesses • Deploy application build • Test Environment • Access rights • Test data Stable Test Environment Environment ready
Execute Integration Test Cases This phase consists of execution of Test Cases, evaluation of testing and entering the identified defects in to Defect Tracker. Entry Inputs Tasks
Verification / Validation Outputs Exit
Application ready for testing Test Plan, Test Cases and Test Data • Conduct smoke test by executing critical functionalities. • Execute the major test Cases after Smoke Test complete • Identify the defects and enter them in to Defect Tracking Form Test Execution Review Integration test report Integration test completed and defects are reported
Review Integration Test Results This phase consists of review of test results Entry Inputs Tasks Verification / Validation Outputs Exit
Test execution complete Test results Analyze the results Test results Review • Test results report • Defect Log Test Results Analysis complete
Prepare Integration Test Report This phase consists of preparation of Test report. It contains summary information such as defect data, test evaluation summary. Entry Inputs Tasks Verification / Validation Outputs Exit
Test execution and Analysis complete Test Results Analysis report • Prepare Test report • Present to the stake holders Test results review • Integration test report • Defect Summary Report Sign off on the test report
System Testing Analyze System Requirements This phase consists of analyzing requirements from High level Design Documents and requirement documents, and arriving at the prioritized test objectives Entry Inputs Tasks Verification / Validation Outputs Exit
Requirements Specifications SRS/ FRS Study and review System requirements System Requirements Review System test Requirements Clearly understanding of system Requirements
Create System Test Plan This phase consists of creation of System Test Plan. The plan covers items such as Test Criteria, Scope, Environment, Estimations, Risks, Defect Tracking and Build Management.
Entry Inputs Tasks
Verification / Validation Outputs Exit
Understanding of system requirements System Test Requirements • Prepare system test Plan (Refer… system test plan template) • Get system test plan reviewed with customer Test Plan review System test plan Sign off on system test plan
Create System Test Cases This phase consist of preparation of Test Cases based on the requirements and system Test Plan Entry Inputs Tasks
Verification / Validation Outputs Exit
System Test Plan is ready Use cases / System Requirements • Prepare System Test Cases • Identify and prepare the test data required • Get System Test Cases Reviewed System test cases review System test cases Sign off on system test cases
Ensure System Testing Environment This phase consist of Environment setup to ensure readiness for Test Execution Entry Inputs Tasks
Verification / Validation
Outputs Exit
System Test Cases are ready System test cases • Identify the test lab • Setup environment for testing • Setup the required application user access and other accesses • Deploy application build • Environment • Access rights • Test data • Application build Stable test environment Environment ready
Execute System Test Cases This phase consists of execution of Test Cases, evaluation of testing and entering the identified defects in to Defect Tracker. Entry Inputs Tasks
Verification / Validation Outputs Exit
Application ready for testing Test Plan, Test Cases and Test Data • Execute Smoke Test. • Execute the test cases as per the test conditions and test data • Identify the findings and observations • Identify the defects and categorize defects based on severity • Report defects Test Execution review System test report System test completed and defects are reports
Review System Test Results This phase consists of review of test results Entry Inputs Tasks Verification / Validation Outputs Exit
Test execution complete Test results Analyze the results Test results review System test report Test results Analysis complete
Prepare System Test Report This phase consists of preparation of Test report. It contains summary information such as defect data, test evaluation summary. Entry Inputs Tasks Verification / Validation Outputs Exit
Test execution complete Test results analysis report • Prepare a Test Report • Present to the stake holders Test Report • System test report • Defect Summary Report Sign off on the test report
User Acceptance Testing Entry Inputs Tasks Verification / Validation Outputs Exit
System Test execution complete Acceptance test cases and acceptance test plan Support customer in executing acceptance test Review the results Acceptance test report prepared by customer representative Acceptance Testing complete