Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Regression Testing

Similar presentations


Presentation on theme: "Software Regression Testing"— Presentation transcript:

1 Software Regression Testing
PROD RTST 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

2 Problems with Regression Testing
PROD RTST-1 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

3 Location of Regression Test in the Software Life Cycle
PROD RTST-2 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

4 Encapsulation of Components for Testability
PROD RTST-3 Test Driver Test Object Interface Interface Test Stubs Test Driver Test Driver Test Object Test Object Test Stubs Test Stubs

5 Increasing Proportion of Testing Costs in
Software Development and Evolution PROD RTST-4 Development Maintenance & Evolution Development Costs 50% Test Costs 50% Change Costs System Test Costs Change and Enhancement Costs System Test Costs Concept, Design, and Coding Costs Integration Test Costs Unit Test Costs Unit Test Costs Regressionstestkosten > 60%

6 Regression Testing Process
PROD RTST-5 Test Planning Test Plan Test Specification Test Cases Test Construction Test Data Test Execution Test Results Test Reporting Test Reports

7 Module Regression Test
PROD RTST-6 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

8 System Regression Test
PROD RTST-7 Reference to the last Test Test Regression Test Test Driver (old) Test Driver (new) Reference Interfaces (old) Interfaces (new) Reference Inputs Outputs Inputs Outputs Components (old) Components (new) Reference Reference Mutation Data (old) Data (new)

9 Regression Test Oracle
PROD RTST-8 Test against Concept Test against System Actual Planned Test Case Derivation Changed Concept Production Data Last System Old Results Verification Comp. Test Cases Test Results Test Data New Results Changed System Changed System Test Input Test Output Test Input Test Output Evolution Phase Conservation Phase

10 Regression Test Environment
PROD RTST-9 Program Adaptation Old Programs New Programs Old Inputs Test Execution Old Outputs New Inputs Test Execution New Outputs Data Adaptation Comp. Old Data New Data Old Outputs Data Conversion Confirm Data

11 Regression Test Tools Test Manager creates Plan Tester specifies Cases
PROD RTST-10 Test Manager creates Plan Tester specifies Cases System- Repository Test Plan Editor Test Plan Test Case Editor Test Cases Test Case DB-System Tester controls Test T R A N S L O Test- fall DB Old Cases Test Driver Static Analyzer Tester selects Test Cases Recorded Test Cases Tester instruments Test Object Instru- mentor Test Objects Dynamic Analyzer Test Coverage Test Case Choice Manager decides Test Data Tester mutates Test Data Test Data Editor Test Data Validation Test Results Tester bestätigt Testergebnisse

12 Capture/Replay Systems
PROD RTST-11 Data Input Data Output Data Replay Buffer Capture Stored Procedure User Program Data Base

13 Capture/Replay Systems in a distributed Enironment
PROD RTST-12 GUI 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 Data Base

14 Semantic Data Comparison
PROD RTST-13 < 2000 Date Information = > 2000 Date Information Old Data New Data Date = 'A01231' Hex '10' was added to year Date = '001231' Unload Service Date Fields Semantic Comparison Date Fields Unload Service Variation Protocol Semantic File Comparator

15 Test Path Comparison Last Test This Test TestCase_100
PROD RTST-14 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

16 Anatomy of a Test Case Test Case Header ID Type Version Automation
PROD RTST-15 Test Case Header ID Type Version Automation * Target Function (m) Body * Parameter Type * Actual Value (n) * Results Type * Planned Value (n)

17 Test Case Selection for selective Regression Testing
PROD RTST-16 Subsystem Subsystem this Module is 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

18 4 Layer GEOS Project Structure
PROD RTST-17 Requirements 1 n Manager n 1 CMF Concepts n 1 n 1 Analyst stated implemented by implements n 1 implied CPP/CBE Code Component Tests tested by derived n 1 Developer Tests tested_by 1 1 n n CTF Test Cases Tester

19 Test Case/Function Assignment
PROD RTST-18 Code CTF Test Case Start Time End Time Code Component Test Cases Test Case Execution Log Test Case Time Test Case Component Function TC_1 TC_2 Comp_X Comp_Y Comp_Z Func_X1 Func_X2 Func_Y1 Func_Y2 Func_Z1 Instrument Test Merge Tests CUT Inversion Instrumented Code Component Component under Test Function Component Test case Comp_X Comp_Y Comp_Z Func_X1 Func_Y1 Func_Z1 TC_1 TC_3 TC_1 TC_4 TC_2 Trace (Funct) Compile & Build Function Execution Log Trace Module Funct Time Call Time Function Component Test Environment Client & Server

20 Test Case Assignment Table
PROD RTST-19 Concept Komponente Funktion Test Case 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 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

21 Significant Test Metrics
PROD RTST-20 Evolution Phase Conservation Phase System size Function-Points Test Cases Degree of Trust Test Benefits Test Effort Test Cases Errors Statements User Satisfaction Error Density Version 1 2 3 4 5 6 7


Download ppt "Software Regression Testing"

Similar presentations


Ads by Google