1 / 20

Test Design Recovery through Reverse Engineering on TTCN-3

Test Design Recovery through Reverse Engineering on TTCN-3. Chang Chuang-Ye, Wu Ji, Xu Luo, Liu Chao. Software Engineering Institute Beihang University. Outline. Introduction TTCN-3 U2TP Our Research Outlook. Introduction. Why Reverse Engineering?

lada
Download Presentation

Test Design Recovery through Reverse Engineering on TTCN-3

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. Test Design Recovery through Reverse Engineering on TTCN-3 Chang Chuang-Ye, Wu Ji, Xu Luo, Liu Chao Software Engineering Institute Beihang University

  2. Outline • Introduction • TTCN-3 • U2TP • Our Research • Outlook

  3. Introduction • Why Reverse Engineering? • Software maintenance is ”modification of a software to correct faults, to improve performance or to adapt to a changed environment”. (ASNI/IEEE Std 729) • Software maintenance accounts for 50%~90% of total costs in software life-cycle. • Reverse engineering is part of maintenance process and can facilitate this practice. Through reverse engineering, cost can be reduced and value can be added. So we need reverse engineering!

  4. Introduction • What is Reverse Engineering? • Two primary procedures • Analyzing the targeted system and extracting objects and their relationships • Creating high-level abstract model in multiple various views

  5. Introduction • TTCN-3 has been developed at ETSI and also standardized at ITU-T. There are lots of free test suites implemented by TTCN-3, such as SIP and IPv6 etc. • Test suites based on TTCN-3 has become more complex, hard to reuse and maintain. • Reverse Engineering on TTCN-3 • Abstract high-level information • Test Configuration • Test Data • Invocation Hierarchy • Help tester to verify the test implement

  6. TTCN-3 • Testing and Test Control Notation TTCN-3 is a specification and implementation language to define test procedures. • It is specifically used for black-box testing of distributed system. • Fixed and mobile telecommunication (ATM, GSM, etc) • Internet (SIP, IPv6) • Embedded system (automotive, avionics) • Middleware platform (CORBA, EJB, Web Service) • Current tools on TTCN-3 • Commercial IDE (Telelogic Tau, TTworkbench, etc) • Open source metrics and refactoring plug-in (TRex)

  7. TTCN-3 • TTCN-3 test system TE:TTCN-3 Executable SA:System Adapter PA:Platform Adapter CD:Code/Decode TM:Test Management CH:Component Handling SUT:System Under Test

  8. TTCN-3 • Some reflections modeling UML 2.0 Java/C++ U2TP modeling ? TTCN-3 What is U2TP?

  9. U2TP • UML 2.0 Testing Profile is a graphical modeling language to develop test specification and testing issues. • Provide a standard to describe test procedure • Bridge the gap between designers and testers • By reusing the UML documents, testing can be integrated in an early system development phase • U2TP is a profile to UML 2.0 • A profile is a domain specific extension of UML using a standardized extensibility mechanism.

  10. U2TP • U2TP introduces four logical groups to develop test specifications and models for black-box. • Test architecture: test structure, test components and test configuration • Test behavior: dynamic aspects of test procedures • Test data: data and template used in test procedures • Time: time qualified definition of test procedures • Together the four concepts define a language for visualizing, constructing, documenting, specifying and analyzing a test system.

  11. Graphical Format Based on TTCN-3 concept Support dynamic test configuration Use well-established verdict handling Support all types available in TTCN-3 …… U2TP Based on OO paradigm of UML Define static test architecture Use user defined and the arbitration verdict Support primitive types and classes …… U2TP GFT and U2TP are on different levels of abstraction: GFT is on a test case specification level, while U2TP is used on a more abstract level by defining test purpose or test case without details.

  12. Our Research • Framework for reverse engineering • Principles of mapping from U2TP to TTCN-3 • Modeling for TTCN-3 test system • Configuration model recovery • Data model recovery • Invocation model recovery

  13. Our Research TTCN-3 Parser • Framework for reverse engineering Dynamic Trace Static Information Rational Rose

  14. Our Research • Implements of mapping from U2TP to TTCN-3 Not support: Timezone, Test trace

  15. Our Research • Modeling for TTCN-3 test system

  16. Our Research • Configuration model recovery • Static • Identify all test components in the test system • Display the details of test component • MTC? TSI? PTC? • Instance of port • Direct • Test specific • Display all the possible configurations • Dynamic • Display the actual test configuration by executing a test case • Testers can identify the test implementation correct or not

  17. Our Research • Data model recovery • Display all the templates in the test suites • Implement the data selector by template type • Implement the data partition by groups • Displayed by a tree structure, testers can get a good command of test data

  18. Our Research • Invocation model recovery • Display all the functions and altstep activated direct and indirect in a test case • Testers can easily get a holistic view of the realization in a test behavior

  19. Outlook • Improve overall comprehensibility for both maintenance and development on TTCN-3 • Help maintainers examine and learn about abstract test suites • Give a holistic view of the abstract test suites

  20. Thank you! Any question?

More Related