My favorites | Sign in
Project Home Downloads Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
DesignPrinciples  
Design Principles for jSupervisor
Featured
Updated Aug 18, 2010 by panwei...@gmail.com

Design Principles

jSupervisor is developed with the primary focus to make testing an easy and fun affair. I want to make the description of test scenarios and collaborations as simple as possible for the testers and developers. I want to encourage testers to write test code. I want to encourage developers to write test code. I want to promote test code reuse.

Easy Scenario Description

I attempt to provide a scenario description language in the language of implementation. I.e. a scenario description language in Java for testing Java. There should not be any new programming/scripting language - so, it has to be Java. Yet, I want this to be as natural (as in natural language) as possible. Thus, the user of jSupervisor is simply expressing a sequence diagram in Java. The language includes:

  • language to describe interaction - i.e. object method invocations.
  • language to describe verification - what kind of checks/verification needed.

Easy Debugging

I want it to be easy to detect where problems occur. So, problems can be found quickly. This is achieved using the Watcher class, which extract the file name and line number and outputs them in a form recognizeable by Eclipse. So, you can click on the console output and jump to the file (and line number) in question quickly.

Moreover, the execution of the specified scenario has logs with the information to point out what went wrong.

Integration with Existing Unit Testing Frameworks

Most people already have a unit testing framework. In my case, I am using JUnit. jSupervisor can be used independent of the unit testing framework. Of course, you can use jSupervisor with JUnit and hence take advantage of all the JUnit reporting and JUnit Eclipse integration.

Powered by Google Project Hosting