1 / 14

UML-based Integration Testing

UML-based Integration Testing. Jean Hartmann, Claudio Imoberdorf Siemens Corporate Research Princeton NJ 08540 Tel: ++1 609 734 3361 Fax: ++1 609 734 6565 Email: jhartmann@scr.siemens.com. Objectives. Growing Importance of Domain-specific Frameworks

tejana
Download Presentation

UML-based Integration Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UML-based Integration Testing Jean Hartmann, Claudio Imoberdorf Siemens Corporate Research Princeton NJ 08540 Tel: ++1 609 734 3361 Fax: ++1 609 734 6565 Email: jhartmann@scr.siemens.com UML-based Integration Testing ISSTA 2000

  2. Objectives • Growing Importance of Domain-specific Frameworks • Modeling of Software Components and their Interfaces • Using a standardized design notation => UML • The model must express the component interactions • Using the Model for Test Generation and Execution • Focusing on unit and integration testing (black-box) • Automating the test generation and execution steps • Providing test execution support for middleware-based components UML-based Integration Testing ISSTA 2000

  3. Modeling Components • Use UML Statecharts to model each component (object) • Statecharts should reflect the normal and erroneous behavior of the component • To facilitate component interaction, we extend UML with a new transition labeling scheme • For integration testing, users define the collection of components to be tested (subsystem definition) • Assumptions: • Point-to-point communication semantics between components rather than a shared event model • Communications are synchronous (blocking) • Implementation is deterministic UML-based Integration Testing ISSTA 2000

  4. Steps Taken During Model Composition 1. Normalizing the UML-based Models • Importing the Rational Rose repository • Noting the subsystem definition, if any • Resolving transitions with multiple events 2. Composing the Global Behavioral Model • Applying an incremental composition and reduction algorithm • Determining a composition order (based on subsystem definition) • Scalability • Algorithm complexity is better than exponential UML-based Integration Testing ISSTA 2000

  5. A Example: A Communication Protocol • Focus on integration testing • Generate test cases to validate component interaction • Consider subsystem A • External interfaces: • tuser • timer • txport • Internal Interfaces: • timing UML-based Integration Testing ISSTA 2000

  6. Send_user Com_channel Timeout_control timing Timer Transmitter Matching Send and Receive Events Between Components UML-based Integration Testing ISSTA 2000

  7. Original Transmitter Transmitter (expanded) Normalizing the UML-based Models... UML-based Integration Testing ISSTA 2000

  8. user channel Transmitter(expanded) compose timing Timer(expanded) timer Transmitter_Timer (composed) Composing a Global Behavioral Model... UML-based Integration Testing ISSTA 2000

  9. TEST CASE #1 * IN user.message(); * OUT channel.send * IN channel.ack(); * IN user.message(); * OUT channel.send * IN channel.ack(); TEST CASE #2 * IN user.message(); * OUT channel.send * IN timer.interrupt(); * OUT channel.send * IN channel.ack(); * IN user.message(); * OUT channel.send * IN channel.ack(); Test Cases for Subcomponent Transmitter_Timer (composed) Test Case Generation • For integration testing: all transitions between components are covered UML-based Integration Testing ISSTA 2000

  10. Test Case Execution • Executable test driver is created from the generated test cases • We have specific support for reactive components • This is achieved through an event pattern matching mechanism • Supports automated regression testing during unit and integration testing UML-based Integration Testing ISSTA 2000

  11. Implementation : TnT = TDE/UML + TECS Interface Test Language (ITL) COM Interface & TSL Test Design Rational Rose Test Generation Test Execution Modeling Tool Tool (TDE/UML) Environment (TECS) UML-based Integration Testing ISSTA 2000

  12. TnT Applying TnT in the Software Lifecycle Development Process Inception Elaboration Construction Transition Use Cases Detailed Design High-level Design Artifacts Unit Test Integration Test System Test UML-based Integration Testing ISSTA 2000

  13. Future Research and Development • Modeling • Support additional UML model elements (e.g. nested states) • Examine the issues related to asynchronous communication between components • Modeling real-time aspects (e.g. timing constraints) • Develop a philosophy for an optimal composition order • Test Generation • Exploit the use of data variations within test generation for integration testing purposes • Test Execution • Focus on a distributed test execution environment UML-based Integration Testing ISSTA 2000

  14. Conclusions • We provide a UML-based test generation and execution environment using Statecharts • We focus on unit and integration testing for components • We support the testing of middleware-based components • We are starting to apply it within Siemens • We are continuing to refine and improve TnT UML-based Integration Testing ISSTA 2000

More Related