Plug-in architectures enable developers to build extensible software products. Such products are assembled from plug-ins, and their functionality can be enriched by adding or conﬁguring plug-ins. The plug-ins themselves consist also of multiple plug-ins, and offer dedicated points through which their functionality can be inﬂuenced. A well-known example of such an architecture is Eclipse, best known for its use to create a series of extensible IDEs.
In order to test systems built from plug-ins developers use extensive automated test suites. Unfortunately, current testing tools offer little insight in which of the many possible combinations of plug-ins and plug-in conﬁgurations are actually tested. To remedy this problem, we propose three architectural views that provide an extensibility perspective on plug-in-based systems and their test suites. The views combine static and dynamic information on plug-in dependencies, extension initialization, and extension usage. The views are implemented in ETSE, the Eclipse Plug-in Test Suite Exploration tool. We evaluate the proposed views by analyzing eGit and Mylyn, two open source Eclipse plug-ins.
The Eclipse Test Suite Exploration Tool implements five architectural views that can be used to understand test suites for plug-in-based systems from an extensibility perspective. To create these views static meta data and dynamic trace data is used. For more information on the views and the tool please download the Technical Report.