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

Aerial - The Executable Requirements Engine - Introduction

Aug 20, 2015

Download

Software

Mykola Kolisnyk
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Aerial - The Executable Requirements Engine - Introduction

ÆrialExecutable Requirements Engine

Introduction

Presented by: Mykola Kolisnyk

Page 2: Aerial - The Executable Requirements Engine - Introduction

What is Aerial?

How does it work?

How is it used?

Features

Further Directions

Major Topics

Page 3: Aerial - The Executable Requirements Engine - Introduction

From Requirements to auto-tests

Define Requirements Design Tests Implement automated tests

Classic Flow

t

Page 4: Aerial - The Executable Requirements Engine - Introduction

From Requirements to auto-tests

Define Requirements Design Tests

Flow Using KeywordDriven Frameworks

t

Implement automated tests

Time Savings

Page 5: Aerial - The Executable Requirements Engine - Introduction

From Requirements to auto-tests

Define Requirements

Design Tests

Flow Using ExecutableRequirements

t

Implement automated tests

Time Savings

Page 6: Aerial - The Executable Requirements Engine - Introduction

What makes those stages parallel?

Define Requirements

Design Tests

Implement automated tests

Driven by any framework supporting

keyword-driven (e.g. Cucumber)

???

Page 7: Aerial - The Executable Requirements Engine - Introduction

The place of Aerial

Define Requirements

Design Tests

Implement automated tests

Driven by any framework supporting

keyword-driven (e.g. Cucumber)

erial

Page 8: Aerial - The Executable Requirements Engine - Introduction

What is Aerial?

erial is an engine generating test cases based on

requirements description

Page 9: Aerial - The Executable Requirements Engine - Introduction

Key principles in requirements design

Typical generation patterns

Tests generation flow

How does it work?

Page 10: Aerial - The Executable Requirements Engine - Introduction

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

Page 11: Aerial - The Executable Requirements Engine - Introduction

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

Page 12: Aerial - The Executable Requirements Engine - Introduction

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

Page 13: Aerial - The Executable Requirements Engine - Introduction

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)

Page 14: Aerial - The Executable Requirements Engine - Introduction

The tests flow can be represented in common form

Some pre-conditions

Main ActionActions on success Actions on error

Test Data

Page 15: Aerial - The Executable Requirements Engine - Introduction

Major flow

Aerial processing flow

Sample code

How is it used?

Page 16: Aerial - The Executable Requirements Engine - Introduction

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

Page 17: Aerial - The Executable Requirements Engine - Introduction

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

Page 18: Aerial - The Executable Requirements Engine - Introduction

Sample Code

Cucumber specific settings

Aerial configuration

This tells JUnit how to run this test

Page 19: Aerial - The Executable Requirements Engine - Introduction

Initial integration between requirements and tests

Various data sources supported

Provided as command line, maven plugin or library

Extensibility and customization

Usage simplicity

Features

Page 20: Aerial - The Executable Requirements Engine - Introduction

Further DirectionsPlatform Support

Expansion

Input Sources Support increase

Engines Support Expansion

Page 21: Aerial - The Executable Requirements Engine - Introduction

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]

Page 22: Aerial - The Executable Requirements Engine - Introduction

Questions?

Page 23: Aerial - The Executable Requirements Engine - Introduction

Thank You!

Presented by: Mykola Kolisnyk