Skyfire is a Model-Based Testing (MBT) tool that generates Cucumber test scenarios from a UML behavioral diagram. Currently, skyfire supports Eclipse Modeling Framework (EMF)-based UML state machine diagrams. Users can create EMF-based UML diagrams using Papyrus or UMLDesigner.
For the motivation, algorithms, and more information, please read the paper.
-
Create a Maven-based Java project
-
Include the dependency in the POM file
<dependency>
<groupId>com.mdsol</groupId>
<artifactId>skyfire</artifactId>
<version>1.0.1</version>
</dependency>
- Call the API and specify the path to the UML diagram, a graph coverage criterion, a feature description, and the path to the Cucumber feature file to generate. Users can select node coverage, edge coverage, edge-pair coverage, or prime path coverage for the graph coverage criterion. The definitions of these four coverage criteria are included in the paper above. The feature description, pathToModel, and pathToFeatureFile are in the String format.
CucumberTestGenerator.generateCucumberScenario (
Paths.get (pathToModel),
TestCoverageCriteria.SOMECOVERAGE,
featureDescription,
Paths.get (pathToFeatureFile));
);
- When a UML diagram uses the same name for different behaviors in multiple composite states, call another API to use qualified names of transitions to distinct transitions that have the same names. The parameters used are the same as the one above.
CucumberTestGenerator.generateCucumberScenarioWithQualifiedName (
Paths.get (pathToModel),
TestCoverageCriteria.SOMECOVERAGE,
featureDescription,
Paths.get (pathToFeatureFile));
);
Run jars-installation.sh to install the coverage-0.9 jar, org.eclipse.uml2.common_1.7.0.v20120913-1441.jar, and org.eclipse.uml2.types_1.0.0.v20120913-1441.jar locally because these libraries are not available in any public Maven repository
mvn clean compile
mvn site
mvn clean test
mvn clean integration-test
mvn package
##Stage for Deployment and Release (project owners only)
mvn clean deploy
##Perform a Release Deployment (project owners only)
mvn clean deploy -P release
Code and documentation copyright 2015-2016 Medidata Solutions, Inc. Code released under the MIT license.