Skip to content
This repository has been archived by the owner on Jan 25, 2023. It is now read-only.
/ skyfire Public archive

Skyfire is a Model-Based Testing (MBT) tool that generates Cucumber test scenarios from a UML behavioral diagram.

License

Notifications You must be signed in to change notification settings

mdsol/skyfire

Repository files navigation

skyfire

Build Status

Introduction

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.

Usage

  • 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));
);

Development Instructions

Installation

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

Compile The Project

mvn clean compile

Check Checkstyle Report

mvn site

Run Unit Tests

mvn clean test

Run Integration Tests

mvn clean integration-test

Generate source and JavaDoc Jars

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

License

Code and documentation copyright 2015-2016 Medidata Solutions, Inc. Code released under the MIT license.

About

Skyfire is a Model-Based Testing (MBT) tool that generates Cucumber test scenarios from a UML behavioral diagram.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages