23
Ærial Executable Requirements Engine Introduction Presented by: Mykola Kolisnyk

Aerial - The Executable Requirements Engine - Introduction

Embed Size (px)

Citation preview

ÆrialExecutable Requirements Engine

Introduction

Presented by: Mykola Kolisnyk

What is Aerial?

How does it work?

How is it used?

Features

Further Directions

Major Topics

From Requirements to auto-tests

Define Requirements Design Tests Implement automated tests

Classic Flow

t

From Requirements to auto-tests

Define Requirements Design Tests

Flow Using KeywordDriven Frameworks

t

Implement automated tests

Time Savings

From Requirements to auto-tests

Define Requirements

Design Tests

Flow Using ExecutableRequirements

t

Implement automated tests

Time Savings

What makes those stages parallel?

Define Requirements

Design Tests

Implement automated tests

Driven by any framework supporting

keyword-driven (e.g. Cucumber)

???

The place of Aerial

Define Requirements

Design Tests

Implement automated tests

Driven by any framework supporting

keyword-driven (e.g. Cucumber)

erial

What is Aerial?

erial is an engine generating test cases based on

requirements description

Key principles in requirements design

Typical generation patterns

Tests generation flow

How does it work?

Typical functionality requires typical tests

Test data can be generated based on format knowledge

The tests flow can be represented in common form

Key principles in requirements design

Typical functionality requires typical tests

Test 1: Valid InputTest 2: Invalid Format InputTest 3: Mandatory Fields Are EmptyTest 4: Unique Fields

The types of test scenarios are pretty similar

Test 1: Valid InputTest 2: Invalid Format InputTest 3: Mandatory Fields Are EmptyTest 4: Unique Fields -> No unique fields

Test data can be generated based on format knowledge

Input Format: \((\d+)\) (\d{8,9})

Valid Input Invalid Input

• Matches format: (44) 345637687 • Improper format: (32) 1123 (34) 17• Empty value:• Non-numeric value: abcdefg

We can use just the format

Another format definition examples

Any text: (.*)

Numeric Range: (0; 100)

Date Range: [01-01-2000;02-10-2010), Format: dd-MM-yyyy

Enum: (Winter|Spring|Summer|Autumn)

The tests flow can be represented in common form

Some pre-conditions

Main ActionActions on success Actions on error

Test Data

Major flow

Aerial processing flow

Sample code

How is it used?

Major Aerial flow

JU

Aerial document

Cucumber feature

Test Reports

Stage 1:Generate Cucumber features fromdocument description

Stage 2:Run Cucumber and generate test results report

Aerial processing flow

Step 1: Read Aerial document

Case

Action

Input

Pre-conditions

Results

Step 2: Pack items into structure

Step 3: Generate test

data

Feature

Scenario 2

Scenario 1

Scenario N

Step 4: Generate Cucumber features

Step 5: Write results to file

Sample Code

Cucumber specific settings

Aerial configuration

This tells JUnit how to run this test

Initial integration between requirements and tests

Various data sources supported

Provided as command line, maven plugin or library

Extensibility and customization

Usage simplicity

Features

Further DirectionsPlatform Support

Expansion

Input Sources Support increase

Engines Support Expansion

Related Information

GitHub: https://github.com/mkolisnyk/aerial

Blog: Test Automation From Inside

http://mkolisnyk.blogspot.com/search/label/Aerial

LinkedIn: Mykola Kolisnyk

http://www.linkedin.com/pub/mykola-kolisnyk/14/533/903

E-mail: [email protected]

Questions?

Thank You!

Presented by: Mykola Kolisnyk