Date post: | 20-Aug-2015 |
Category: |
Software |
Upload: | mykola-kolisnyk |
View: | 167 times |
Download: | 0 times |
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
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 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
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]