Wednesday, August 10, 2011

Understanding Eclipse Plug-in Test Suites @ The Eclipse Testing Day 2011

In a month, the 2nd Eclipse Testing Day in Neuss, Germany takes place. At this event, I will talk about the task of understanding plug-in test suite.

Testing plug-in based systems entails testing a complex net of multiple plug-ins which not only interact with, but also enhance the functionality of each other by extension mechanisms.
In the Eclipse Testing Study, testing practices of successful Eclipse projects have been studied. Among others, Eclipsers stress integration testing as an important testing activity for plug-in systems, and explain that understanding complex plug-in test suites can become a challenging task.

Understanding test suites is an essential precondition to be able to evaluate, enhance, and improve a given test suite. Thus, to remedy the problem of understanding plug-in test suites, we developed the Eclipse Plug-in Test Suite Exploration (ETSE) tool. ETSE combines static and dynamic information on plug-in dependencies, extension initialization, and extension or service usage during a test run. This information is used to create five architectural views of the system under test and its test suite, which developers can use to understand how the integration of multiple plug-ins is tested.

The architecture of ETSE is illustrated in the Figure below. First, the information gathering phase is responsible for collecting dynamic data, coming from the instrumentation of the test runs, as well as static data (e.g., manifest file, source code, plug-in.xml). This information forms the source views, which are further processed in the knowledge inference phase. Here the source views are transformed into five target views, representing the system under test and its test suite from an integration perspective. In the last phase, the target views are visualized for the developer or tester by the ETSE Eclipse plug-in.



At the Eclipse Testing Day, I will talk about plug-in test suites and present the architectural views, which help answering questions like: “which plug-ins are tested by this test suite?”, “where are test harness and test utilities located?”, “which extensions influence the state of the test system?”, and many more. During a short demonstration of ETSE the test suite of the well-known Eclipse project Mylyn will be analyzed and visualized.

More technical details on ETSE and the approach behind can be found here.

About the Eclipse Testing Day
The 1st Eclipse Testing Day took place last year and was a great success. Also in 2011, this event provides the opportunity to get in contact with Eclipse testers, developers and managers, and to exchange experiences about testing.
Registration is possible until 5th of September via Eventbrite