Rodan

Rodan is a test case generator for WS-BPEL 2.0 compositions. Rodan is based in 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.

Installation

UNIX-based systems (automatic)

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

  1. Download the script from here.
  2. Run it from a terminal by using bash install.sh 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 {}

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

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

selectionOperators:
  !!gamera.ggen.select.RouletteSelection  {} : {percent: 1}

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