uml based statistical test case generation
play

UML-Based Statistical Test Case Generation Matthias Riebisch, Ilka - PDF document

UML-Based Statistical Test Case Generation Matthias Riebisch, Ilka Philippow, Marco Gtze Ilmenau Technical University; Germany http://www.theoinf.tu-ilmenau.de/~pld ALEXANDRIA NetObjectDays02, Erfurt, October 10, 2002 ALEXANDRIA Research


  1. UML-Based Statistical Test Case Generation Matthias Riebisch, Ilka Philippow, Marco Götze Ilmenau Technical University; Germany http://www.theoinf.tu-ilmenau.de/~pld ALEXANDRIA NetObjectDays‘02, Erfurt, October 10, 2002 ALEXANDRIA Research Project ALEXANDRIA • Reusability at Higher Level Domain & • Integration of Domain Requirements Engineering Engineering with Architecture Development Modeling & and Generative Programming Development Architecture • Generation of Customized Process Solutions Development Optimization • Incorporation of Existing Generative Systems and Components Reverse Engineering Programming • Generation of Tests Automation & • Verification of Results in Tool Industrial Projects Integration M. Riebisch et al.: UML-Based Statistical Test Case Generation 2

  2. Outline ALEXANDRIA • Introduction: Model-Based Statistical Testing • The Approach • Scenario for Practical Use • UsageTester – a Proof-of-Concept Tool • Next Steps M. Riebisch et al.: UML-Based Statistical Test Case Generation 3 Introduction: Testing Strategies ALEXANDRIA Type: • Black Box -functional- testing vs. • White Box -structural- testing Goal: • Tests for error detection -coverage- vs. • Statistical testing -reliability- M. Riebisch et al.: UML-Based Statistical Test Case Generation 4

  3. Statistical Usage Testing ALEXANDRIA • Check for reliability at system level Approach: • Different probability of execution of modules • Testing effort dispensed due to probability • Execution probability derived from usage probability � Usage Model M. Riebisch et al.: UML-Based Statistical Test Case Generation 5 Motivation & Aim ALEXANDRIA • Incremental development needs short cycles • Early tests for process maturity – Feedback for developer and for project management – Early failure detection reduces re-work � Time and costs reduction � Test case quality improvement � Encouragement for model quality M. Riebisch et al.: UML-Based Statistical Test Case Generation 6

  4. Outline ALEXANDRIA � Introduction: Model-Based Statistical Testing • The Approach • Scenario for Practical Use • UsageTester – a Proof-of-Concept Tool • Next Steps M. Riebisch et al.: UML-Based Statistical Test Case Generation 7 Model-Based Statistical Testing ALEXANDRIA • Black-box, system-level testing • Statistical testing for reliability • Test case derivation from specification generation, generation, automation systematization modeling domain of Usage UML Test the real model model model world analysis, verification fault detection & verification, and reliability measures fault detection M. Riebisch et al.: UML-Based Statistical Test Case Generation 8

  5. Model Refinement Steps Detailed ALEXANDRIA Transformation Definition of Use to Usage Graphs Cases Test Cases Definition of State Refinement by Use Case Templates Diagrams Definition of Logical Structure Imple- mentation M. Riebisch et al.: UML-Based Statistical Test Case Generation 9 Use Case Templates ALEXANDRIA • Refining use case diagrams • Semi-formal description • State & transition information covered • Not (yet) defined by OMG standard Name Lend a book Goal Lend a book to a user of this library for a limited time. Actors Librarian Lend a Book Preconditions Library system is running. The user is valid to the library Postconditions The book was lent to the user. A due date for return is defined. Invariants None Main Success 1) The librarian opens the user selection dialog with selected user. scenario 2) He opens the lending dialog for selecting a book, a return date is shown. 3) He. see example … Variations None Extensions 2a) User has to pay a fee or a fine. 2a1) Message: no lending allowed 2a2) Successful - return to lending dialog. 2a3) Not successful - return to new user selection Included use Display books lent by a user; Collect payment from a user. cases M. Riebisch et al.: UML-Based Statistical Test Case Generation 10

  6. Name Lend a book Goal Lend a book to a user of this library for a limited time. Actors Librarian Preconditions Library system is running. The user is valid to the library ALEXANDRIA Postconditions The book was lent to the user. A due date for return is defined. Invariants None Main Success scenario 1) The librarian opens the user selection dialog with selected user. 2) He opens the lending dialog for selecting a book, a return date is shown. 3) He confirms the operation. 4) The book is marked as lent, the lent-book-list of the user is updated. Variations None Extensions 2a) User has to pay a fee or a fine. 2a1) Message: no lending allowed 2a2) Successful - return to lending dialog. 2a3) Not successful - return to new user selection 2b) The book of interest is already lent or is for reference only. 2b1) Message - return to book selection 3a) Cancelled by librarian 3a1) Return to book selection. M. Riebisch et al.: UML-Based Statistical Test Case Generation 11 Included use cases Display books lent by a user; Collect payment from a user. State Diagrams ALEXANDRIA • Defined by UML • Intended for object behavior • Hierarchy for mastering complexity � Showing system states and transitions according to refined Use Cases � Transformable to Usage Graphs see example … M. Riebisch et al.: UML-Based Statistical Test Case Generation 12

  7. State Diagram Example ALEXANDRIA Select User Screen Book selection /Entry: the user is 2b 2 subscribed to the library Updated status and lists Confirm the book is added to the lending ... termination users’s lent-book-list M. Riebisch et al.: UML-Based Statistical Test Case Generation 13 State Book Selection Refined ALEXANDRIA N/A reference only Book selection dialog No lending possible to pay ... Collect payment … no success success 2 2b M. Riebisch et al.: UML-Based Statistical Test Case Generation 14

  8. Usage Graphs ALEXANDRIA • Special form of Automata graph • Transitions labeled – with user actions for triggered transitions – with epsilon ε for transitions performed automatically • References to state diagram and use cases via state label prefix M. Riebisch et al.: UML-Based Statistical Test Case Generation 15 Usage Models ALEXANDRIA • State diagrams extended by usage information • Probabilities of user actions derived by requirements or customer data • Probabilities annotated to outbound transitions of each state • ε transitions: probability of 1.0 see example … M. Riebisch et al.: UML-Based Statistical Test Case Generation 16

  9. Usage Model Example Message ALEXANDRIA Lending not possible NA 0.02 OK 1.0 R 0.1 Not Select User invoked Select Book Screen U S select a book select and 1.0 1.0 for lending display user /P /PM 0.3 P 0.1 0.78 C 0.02 Terminated Collect Payment Confirm OK PM collect the fine or Procedure 0.98 0.7 fee completely M. Riebisch et al.: UML-Based Statistical Test Case Generation 17 Test Cases ALEXANDRIA • Usually: test cases programmed as scripts or built by teach-in • Now: Input Values + Expected Results derived from the models • Input for Test Automation tools M. Riebisch et al.: UML-Based Statistical Test Case Generation 18

  10. Outline ALEXANDRIA � Introduction: Model-Based Statistical Testing � The Approach • Scenario for Practical Use • UsageTester – a Proof-of-Concept Tool • Next Steps M. Riebisch et al.: UML-Based Statistical Test Case Generation 19 Scenario for Practical Use ALEXANDRIA • Development of test cases independently from programming • Test cases based on requirements to system behavior • Test cases prior to design • Test tool available for developer – early feedback with low effort M. Riebisch et al.: UML-Based Statistical Test Case Generation 20

  11. UsageTester – a Proof-of-Concept Tool ALEXANDRIA Goal : verification of the approach in practical application – Supported: model refinement & conversion – Manual activities: model completion – Automated: test case generation • XML interface for model input and test case output • Portable implementation with Java, Swing, DOM4J M. Riebisch et al.: UML-Based Statistical Test Case Generation 21 UsageTester – Snapshot ALEXANDRIA M. Riebisch et al.: UML-Based Statistical Test Case Generation 22

  12. Conclusion ALEXANDRIA • Test cases derived from requirements specification and usage behavior • Tool support; no automation intended • Model exploitation encourages modeling effort • Providing test cases early supports programmers M. Riebisch et al.: UML-Based Statistical Test Case Generation 23 Next Steps ALEXANDRIA • Next 2 years: project funded by DFG • Cooperation with UCF Orlando, Florida • Application of Sequence Diagrams for deriving State Diagrams • Hierarchical models for scalability • How to acquire usage information • How to derive expected test result date • How to add user profiles and product variants • Experiences from practical usage M. Riebisch et al.: UML-Based Statistical Test Case Generation 24

  13. Questions and Comments More information about ALEXANDRIA : http://www.theoinf.tu-ilmenau.de/~pld/ ALEXANDRIA

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend