Upload
dfdfd
View
644
Download
2
Embed Size (px)
Citation preview
Performance – Load Test Methodology
QMITPLT01 / Version 2.0 Effective: October 3, 2005
PurposeThe purpose of Load-Performance Testing methodology is
- To define how Load-Performance Testing projects are executed - To serve as a basis for different phases in a Load-Performance Testing project- To Measure response time for given transactions in the application
ScopeDuring Load-Performance testing, this methodology shall be used to define the activities and work products.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 Load- Performance Testing project is taken up may go through only from certain phases of Testing Life Cycle. For instance, a project may encompass only Performance and Load test Execution. Phases are 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 Performance 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 Exit (EITVOX) criteria defined for each phase.
Definitions & Acronyms
Definitions
Keyword DefinitionLoad Test Testing the application under varying acceptable loadsStress Test Testing the behavior of the application for peak loadsScalability Test Checking the system for hardware and user scalabilityWorkload Distribution
Workload Distribution is a representation of the functions performed by a user community on a system. It is based on a percentage of users performing a specific function over a given period of time.
Acronyms
Acronym ExplanationPTC Performance Test CasesPTP Performance Test PlanPTR Performance Test ReportSPP Software Project Plan TDA Test Data AnalystTE Test EngineerTL Test LeadTM Test Manager
OverviewPerformance- Load test measures the performance of the application and environment. It’s a direct measure of Capacity by load.
Following types of tests can be performed under performance testing.1. Load Test2. Stress Test3. Scalability Test
Performance testing process consists of 8 phases
1. Analyze Performance- Load requirements 2. Create Performance Test Plan3. Create Performance Test Cases4. Ensure Testing Environment Setup5. Generate Scripts6. Execute Performance test7. Review Test Results and Prepare Reports8. Recommendations
ReferencesQEdge Testing MethodologySystem Testing Methodology
Tailoring GuidelinesIt is recommended that this methodology be followed during the course of the Performance testing of 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)
Analyze Performance – Load RequirementsThis phase consists of analyzing Performance requirements, architecture and target Production system
Entry High level Performance testing requirements
Inputs Use case documents Performance test requirements
Tasks Understand the application Understand the architecture Understand the target production environment Identify the performance testing tool Revalidate resources for performance testing
Verification / Validation
Review understanding with customer
Outputs Performance testing tool identified Performance test team revalidated based on the requirements
Exit Understanding of architecture and application
Refer… Guidelines for gathering performance testing requirements
Create Performance - Load Test PlanThis phase consists of preparation of Test Plan based on the requirements and other information like estimations and Risks. For Defect Tracking and Build Management (Refer… Guidelines for Build and Release Management, Guidelines for Metrics Definition Standard, Guidelines for Defect Management)
Entry Understanding of architecture and application
Inputs Performance test requirements
Task Identify business critical transactions Analyze the load model Prepare Volumetric data Analyze the test data required for performance testing Plan Workload Distribution Prepare a performance test Plan (Refer… Performance test plan template) Review performance test plan with customer
Validation Test plan review
Output Performance test plan
Exit Sign off on performance test plan
Create Performance - Load Test CasesThis phase involves preparation of Load-Performance test cases based on requirements. (Refer… Guidelines for Software Testing)
Entry Identification of Critical transactions
Inputs Performance Test Plan and Performance Test Requirements
Task Prepare Performance Test Cases Identify business critical transactions Analyze the sequence of transactions that are most critical Identify the steps involved in each transaction Analyze the test data required for performance testing Document the identified scenarios and transactions in the test plan Review performance test plan with customer
Validation Review of the feasibility of the transactions and their flow Review of the newly documented test transactions in the test plan
Output Performance Test Cases Feasible transactions for scripting and test data generation An updated performance test plan
Exit Sign off on the identified transactions and the updated performance test planSign off of performance Test Cases
Ensure Testing EnvironmentThis phase consist of Environment setup to ensure the readiness for test execution. (Refer… Guidelines for Test Data Management)
Entry Performance test plan Understanding of application architecture
Inputs Performance test plan Performance test tool
Task Setup environment for testing Setup test tool Setup test data required Setup the required application user access and other accesses Deploy application build
Validation Environment validation Access rights verification Tool setup verification Test data verification Application build verification
Output Test data
Exit Environment ready
Generate Scripts This phase consists of generating Automation scripts for Performance and Load testing.
Entry Environment is ready Application is stable without critical defects
Inputs Performance test plan Performance Test Cases Test data
Task Generate the test scripts as per the performance test plan
Validation Test scripts Test scenarios Review
Output Test scripts
Exit Validated test scripts
Execute Performance TestThis phase consists of execution of Test Cases for analyzing performance of application under real time loads.
Entry Environment is ready Test Cases Test scripts Build is updated
Inputs Test scenarios Test Cases Test Scripts
Task Setup test scenarios Execute the tests Monitor the servers required Monitor the network if required Re-Run the tests if required Save the results Raise defects (If it is in scope)
Validation Tests results
Output Test results
Exit Test execution complete
Review Test Results and Prepare ReportsThis phase consists of review of test results.
Entry Test execution complete
Inputs Test results
Task Analyze the results Prepare a report (Refer… performance test report) Present to the stake holders
Validation Review the results
Output Performance test report
Exit Sign off on the test report
RecommendationsThis phase consists of preparation of Test report denoting completion of testing activity.
Entry Sign off on the Test Report
Inputs Test Report
Task Analyze the Report Identify Performance bottlenecks Identify improvement areas Identify steps for improvement
Validation Results review
Output Recommendations for performance improvements/tuning suggestions
Exit Presentation of the recommendations