Rodan is a test case generator for WS-BPEL 2.0 compositions. Rodan is based on mutation testing and genetic algorithms. Rodan generates test cases for killing mutants of the original WS-BPEL composition. The MuBPEL tool generates the mutants for the original composition.


UNIX-based systems (automatic)

The recommended way to install Rodan on UNIX systems is using our script:

  1. Download the script from here.
  2. Run it from a terminal by using bash rodan.
  3. Once the script has completed its execution, log out of your current session and log in again.
  4. You may now run Rodan from any terminal by using the rodan command.

Configuration file

Rodan uses a YAML configuration file. This file contains the configuration parameters for the genetic algorithm.

testSuite: LoanApprovalProcess-templates.bpts
originalProgram: LoanApprovalProcess.bpel

parser: !!testgen.parsers.spec.xtext.integration.XtextSpecParser {spec: data.spec}
formatter: &f !!testgen.formatters.VelocityFormatter {}
strategy: !!testgen.strategies.random.UniformRandomStrategy {}

  - !!gamera.ggen.genetic.CrossoverOperator {probability: 0.9}
  - !!gamera.ggen.genetic.MutationOperator {mutationRange: 10, probability: 0.1}

#  !!gamera.ggen.generate.RandomGenerator {} : {percent: 0.1}

  !!  {} : {percent: 1}

  - !!gamera.ggen.term.GenerationCountCondition   {count: 100}
  - !!gamera.ggen.term.StagnationAverageFitness   {count: 8, relativeMinimumChange: 0.01}
  - !!gamera.ggen.term.AllValidProgramMutantsKilledCondition {}