Test Management A well defined, structured and intuitive test management process ensures that the testing process meets its goals and contributes to enhance application quality
Test Management Team Project Manager Scope Manager Development Lead Migration Lead
Test Coordinator
Tester (Functional)
Integration Lead Tester (Load) Release Manager Test Manager Support Lead
Environment & Setup consultant
Generic Test Process Preparation of Test Execution Test Planning Test Designing Test cases/Test Scripts
Test Execution Execute Tests Record results Compare actual outcome with expected outcome Log and report differences Investigate Differences Check for completion of tests based on completion criteria
A Detailed Look at the Different Steps Planning Tests • This is the key !!
Decide the hardware and software for the Test environment. Test creation standards and guidelines Decide Test Schedule Assign Roles and responsibilities Decide procedures for running, controlling and measuring the Testing Process. Contingency Planning Communication to the entire project team.
Do it step by step and do it right. Set Up Test Environment Define Test Procedures Develop Test Design Map Test Data Design Test Architecture Communicate the Test Plan Manage Test Resources Run Tests Manual Tests Automated Tests
Do it step by step and do it right . Analyze Test Run Results Create Test Reports
The Information Web System 1 lity X
ona Functi
System 4
Cross Module Testing
System 2 Functionali ty
PDM
System 5 Integration Testing
System 3
Y
Types of Testing Self Testing ( Done by the Developer ) Alpha Testing ( Done by the Module/Team Lead ) Unit Testing ( Done by the Testing Team ) Cross/Inter-Module Testing ( Done by the Testing Team ) Integration Testing ( Done by the Testing Team ) User Acceptance Testing ( Done by the End Users ) Load Testing ( Done by the Performance Testing Team ) Stress Testing ( Done by the Performance Testing Team )
Production Health Check Acceptance Testing Integration Testing Inter Module Testing Unit Testing Alpha Testing Self Testing
Regression Testing
Performance Testing
Testing Chain
Automated vs. Manual Testing Automated Fast Scripts can run during off office hours Not advisable if customization effort is high. Scripts generated during functional testing can be reused for performance testing.
Manual Involves manual interaction with the application Essential to verify functionality and conditions that automated tests fail to handle Preferred if the application is small Repetitive job for testers Advisable if the customization effort required to generate scripts is high
Managing Defects/ Issues Managing defects and Issues is a critical step in the testing process Analyzing defects helps make the go/no-go decisions about application deployment Tester should decide on the lifecycle of a defect/bug and maintain complete history of the defect lifecycle Tester to define the severity of the bug and the information that should go in the report.
Managing Defects/ Issues Categorization of the defects : Cosmetic/UI related Inconsistency Loss of Functionality System Crash Loss of Data
Show Stoppers
Smoke Tests Smoke tests are done to ensure consistency in functionality and compatibility to the requirements when new build are released frequently. As the functionality increases, it becomes increasingly difficult to manage the testing process. Smoke tests concentrate on the major and critical functionalities Checks that the new build does not break any existing feature.
Milestones in the testing process Performance Tuning Acceptance Testing
Activities
Performance Testing Integration Testing Setup Integration Envn. Unit Testing Migration Testing Alpha Testing Start Testing
Schema Freeze
End Testing
Performance Testing/Tuning This can be done at the following levels : Code Level UI Level API Level
Application Server level Database Level Infrastructure level Server configurations Client machines Network • LAN/WAN/Internet connectivity
Load Testing Application load testing is the measure of an entire Web Application’s ability to sustain a number of simultaneous users and/or transactions, while maintaining adequate response times. Load testing is the only way to accurately test the end-to-end performance of a Web site prior to going live. Two common methods : Manual load testing Automated load testing
Load Testing goals/advantages The results from the load test can be used for application/server sizing The load test results can be used to verify the required service levels as per the SLA and thus indirectly perform Expectation Management Tuning activities can be arranged based on the results