220 likes | 332 Views
PROD. RTST. Software Regression Testing. Problems with Regression Testing Location of Regression Test in the SW.-Life Cycle Encapsulation of Components for Testability Increasing Proportion of Test Costs in Dev. and Maint. Regression Test Process Module Regression Testing
E N D
PROD RTST Software Regression Testing Problems with Regression Testing Location of Regression Test in the SW.-Life Cycle Encapsulation of Components for Testability Increasing Proportion of Test Costs in Dev. and Maint. Regression Test Process Module Regression Testing System Regression Testing Regression Test Oracle Regression Test Environment Regression Test Tools Capture/Replay-Systems Capture/Replay-Syst. in a distrib. Environment Semantic Data Comparison Test Path Comparison Anatomy of a Test Case Test Case Selection for aimed Reg. Testing 4 Layers GEOS Project Structure Test Case/Function Assignment Test Case Assignment Table Significant Test Metrics 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 10 20
PROD RTST-1 Problems with Regression Testing GUI Test Cases are related to the whole subsystem Test Cases are derived from the subsystem as a whole Test Cases Sub System Test Results Because of the change of one method, the complete subsystem has to be tested again Functions are embedded in a deep code hierarchy Component Component Component Class Class Class Class Class Class Class Methods Is changed
PROD RTST-2 Location of Regression Test in the Software Life Cycle Original Development Project Product 0. Version Original Test Release 1. Evolution Project Product 1. Version 1. Regression Test Release 2. Evolution Project Product 2. Version 2. Regression Test Release 3. Evolution Project Product 3. Version 3. Regression Test Release 4. Evolution Project Product 4. Version 4. Regression Test further
PROD RTST-3 Encapsulation of Components for Testability Test Driver Test Object Interface Interface Test Stubs Test Driver Test Driver Test Object Test Object Test Stubs Test Stubs
PROD RTST-4 Increasing Proportion of Testing Costs in Software Development and Evolution Development Maintenance & Evolution Development Costs50% Test Costs50% Change Costs System Test Costs Change and Enhancement Costs System TestCosts Concept, Design, and Coding Costs Integration Test Costs Unit Test Costs Unit Test Costs Regressionstestkosten> 60%
PROD RTST-5 Regression Testing Process Test Data Test Planning Test Plan Test Specification Test Cases Test Construction Test Execution Test Results Test Reporting Test Reports
PROD RTST-6 Module Regression Test Comparison of old and new Module Versions Version Version ++ Source Analyzer Source Code (old) Change Process Source Code (new) Test Cases Test Test Cases Test Results (old) Comparison Results (new) Derivation of the Test Cases from Source Variations
PROD RTST-7 System Regression Test Reference to the last Test Test Regression Test Test Driver (old) Test Driver (new) Reference Interfaces (old) Interfaces (new) Reference Outputs Outputs Inputs Inputs Components (old) Components (new) Reference Reference Mutation Data (old) Data (new)
PROD RTST-8 Regression Test Oracle Test Data Test against Concept Test against System Actual Planned Test CaseDerivation Changed Concept ProductionData Last System Old Results Verification Comp. Test Cases Test Results New Results Changed System Changed System Test Input Test Output Test Input Test Output Evolution Phase Conservation Phase
PROD RTST-9 Regression Test Environment OldInputs New Inputs OldData NewData Program Adaptation Old Programs New Programs Test Execution Old Outputs Test Execution New Outputs Data Adaptation Comp. Old Outputs Data Conversion Confirm Data
PROD RTST-10 Regression Test Tools System- Repository Test- fall DB Test Data Test Managercreates Plan TesterspecifiesCases Test Plan Editor Test Plan Test Case Editor Test Cases Test Case DB-System TestercontrolsTest T R A N S L A T O R TesterselectsTest Cases Old Cases Test Driver Static Analyzer RecordedTest Cases TesterinstrumentsTest Object Instru- mentor Test Objects DynamicAnalyzer Test Coverage Test Case Choice Managerdecides TestermutatesTest Data TesterbestätigtTestergebnisse Test Data Editor Test Data Validation Test Results
PROD RTST-11 Capture/Replay Systems Data Stored Procedure Data Base Input Data Output Data Replay Buffer Capture User Program
PROD RTST-12 Capture/Replay Systems in a distributed Enironment GUI Data Base Client Program Response Replay Response Generator Order Capture Order Generator Answer Validator Replay/Capture O B J E C T R E Q U E S T B R O K E R ORder Answer Server Program
PROD RTST-13 Semantic Data Comparison < 2000 Date Information = > 2000 Date Information Old Data New Data Date = 'A01231'Hex '10' was addedto year Date = '001231' Unload Service Date Fields Semantic Comparison Date Fields Unload Service Variation Protocol Semantic File Comparator
PROD RTST-14 Test Path Comparison Last Test This Test TestCase_100 ModuleA.Function_a1 ModuleA.Function_a3 ModuleA.Function_a5 ModuleB.Function_b2 ModuleB.Function_b4 ModuleC.Function_c1 ModuleC.Function_c2 ModuleC.Function_c4 TestCase_200 TestCase_100 ModuleA.Function_a1 ModuleA.Function_a3 ModuleA.Function_a5 ModuleB.Function_b2 ModuleB.Function_b4 ModuleB.Function_b5 new ModuleC.Function_c1 ModuleC.Function_c2 ModuleC.Function_c4 TestCase_200
PROD RTST-15 Anatomy of a Test Case Test Case Header ID Type Version Automation * Target Function (m) Body * Parameter Type * Actual Value (n) * Results Type * Planned Value (n)
PROD RTST-16 Test Case Selection for selective Regression Testing Subsystem Subsystem this Moduleis changed Comp. Comp. Comp. Comp. Comp. Comp. Module Module Module Module Module Module Module Module Test Case Database these Test Cases are affected TF TF TF
PROD RTST-17 4 Layer GEOS Project Structure Requirements 1 n Manager n 1 CMF Concepts n 1 n 1 Analyst stated implementedby implements n 1 implied CPP/CBE Code Component Tests testedby derived n 1 Developer Tests tested_by 1 1 n n CTF Test Cases Tester
PROD RTST-18 Test Case/Function Assignment Code CTF Test CaseStart TimeEnd Time Code Component Test Cases Test Case Execution Log Test CaseTime Test Case Component Function TC_1 TC_2 Comp_X Comp_Y Comp_Z Func_X1Func_X2 Func_Y1Func_Y2 Func_Z1 Instrument Test Merge Tests CUT Inversion Component under Test Instrumented Code Component Function Component Test case Comp_X Comp_Y Comp_Z Func_X1 Func_Y1 Func_Z1 TC_1TC_3 TC_1TC_4 TC_2 Trace (Funct) Function Execution Log Compile&Build Trace Module FunctTime Call TimeFunctionComponent Test Environment Client & Server
PROD RTST-19 Test Case Assignment Table Concept Komponente Funktion Test Case TF_X_100 TF_X_200 TF_X_210 TF_X_300 TF_X_400 TF_X_420 TF_X_500 TF_X_550 TF_X_600 TF_X_640 TF_X_700 TF_X_800 .................. UseCase_X UseCase_Y Component_A Component _B Component _C Function_A1 Function_A2 Function_A3 Function_B1 Function_B2 Function_B3 Function_C1 Function_C2 ..................
PROD RTST-20 Significant Test Metrics Evolution Phase Conservation Phase System size Function-Points Test Cases Degree of Trust Test Benefits Test Effort Test Cases ErrorsStatements User Satisfaction Error Density 0 Version 1 2 3 4 5 6 7