Welcome to DjcTest

AOP based Testing Framework for Distributed Software

Welcome

DjcTest is a new testing framework (tool) for simplifing white-box testing of distributed software. The white-box testing code for distributed software is one of typical crosscutting concerns. So, we think that the testing code should be written as an aspect.
The DjcTest allows executing test programs that testers wrote as aspects. The aspects are compiled by an aspect compiler, named DJcutter.

Availability

DjcTest for JBoss 1.0RC1 is available(Please wait).
  • Requirement

  • Before installing and running DjcTest service, you should first check that you have working JBoss 4.0.0RC1 and Javassist 3.0 installation.

  • Downloads

  • The most recent release of DjcTest for JBoss is version 1.0RC1.

  • Installation

  • 1. You need to put djc-testing.jar on jboss.server.lib.url.

    2. You need to define the DjcTest service in jboss-service.xml on jboss.server.config.url, because it is implemented as one of service that JBoss provides. You need to edit the file like a following:

    <server>
       ...
    
       <mbean code="djcutter.testing.service.DjcTestingService" 
                 name="djcutter.testing:service=DjcTestingService">
          <depends> djcutter:service=DjcManager </depends>
       </mbean>
    </server>
    
    Note that the DjcManager is a runtime library for DJcutter.

    3. Using the JBoss's jmx-console, you can check that the DjcTest service is installed.

  • API(HTML format)

  • JUnit-like API for describing test program

  • Examples

Related Work

DJcutter

An AspectJ-like aspect compiler (and runtime library); it provides a few new language construct suitable for modularizing distributed crosscutting concerns. If developers use DJcutter, they can implement those concerns as simple aspects that does not include a distribution concern.

Javassist

A class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. Unlike other similar systems, Javassist is based on reflection and hence it provides higher-level abstraction.

JBoss

An enterprise middleware platform for developing J2EE applications; The platform is comprised of federation of open source projects and subprojects (JBoss Application Server, JBoss AOP, Hibernate, and so on ...). Javassist is one of the projects also.

Publications

Remote Pointcut --- A Language Construct for Distributed AOP

Muga Nishizawa and Shigeru Chiba
In Proceedings of the 3rd International Conference on Aspect-Oriented Software Development (AOSD '04), pp.7-16. Lancaster, UK. March 22-26, 2004.
Get Copy Get Slide

Acknowledgement

The development of DjcTest has been supported by Information-technology Promotion Agency (IPA) , Japan.

[Last Updated: March 3, 2005]

Muga Nishizawa
Copyright(C) 2004 - 2005 by Muga Nishizawa.