|
DesignPrinciples
Design Principles for jSupervisor
Featured Design PrinciplesjSupervisor 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 DescriptionI 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:
Easy DebuggingI 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 FrameworksMost 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. |