SlideShare a Scribd company logo
Presented by: MykolaKolisnyk1Automation Patterns on Practice. Automation Architecture creation.
What’s it all about?Framework structure
Framework types
Design patterns
Behavioral patterns in automationFramework is the core06.02.11LibrariesTestsEngineConfigsReportingResourcesCore components
Framework types06.02.11Functional decompositionObject-basedData-drivenKeyword-drivenBehavior-drivenModel-basedHybrid
Functional Decomposition
«Data-Driven» Approach
Object-based FrameworkTestSetClassTests
Run()List ofTestClassActions
Run()List ofActionClassRun()for each Test in this.Testsfor each Action in Test.ActionsAction.Run()
«Keyword-Driven» Approach
Behavior-drivenText instructionWhenI log into the system as “login”/”password”Actual CodeWhen/log into the system as “(.*)”\/”(.*)”/do|login,password|app.login( login , password )‏endclass Appdef login( username , password )‏# Some actionsendend
Model-based frameforkAction 0-1Action 0-1Initial stateAction 5-1State 1State 5Action 1-1Action 2-2Action 2-1State 2State 4Action 0-1State 3Action 3-1Final State
Patterns06.02.11
What does pattern mean?06.02.11Pattern is a typical solution for typical task
Global Objects06.02.11Should be only one in the system
Should be initialized only once
Should not be modified from outsideEngine driverConfig
Singleton06.02.11Local instancePrivate constructorAll operations are done via local instance
Immutable & Lazy initialization06.02.11Filled only during initializationInitialized at first method call
Engine-specific patterns06.02.11Each unit implementation should be abstracted from interface
Units should represent actual command to executeEngine driverNOTE: applicable for Object-based, Keyword-Driven, Behavior-driven, Model-based approaches
Command & Interface & Delegate06.02.11Common interface for each class (Interface)Object represents the action (Command)ActionClassARun()TestClassActions
Run()List ofActionClassRun()ActionClassBRun()ActionClassCRun()Actual execution is delegated to aligned class objects (Delegate)
Functional design06.02.11Independent functions
Resource-specific patterns06.02.11Resource should represent logical structure rather than physical
If engine driver is used it should be used implicitlyResources

More Related Content

What's hot (19)

PDF
AngularJS Unit Testing w/Karma and Jasmine
foxp2code
 
PPT
Testing in AngularJS
Peter Drinnan
 
PPTX
Mozilla Web QA - Evolution of our Python WebDriver framework
davehunt82
 
PDF
Intro to testing Javascript with jasmine
Timothy Oxley
 
ODP
Jquery- One slide completing all JQuery
Knoldus Inc.
 
PPT
Unit testing
davidahaskins
 
PPTX
Unit testing in JavaScript with Jasmine and Karma
Andrey Kolodnitsky
 
PDF
Test-Driven Development of AngularJS Applications
FITC
 
PDF
Quick tour to front end unit testing using jasmine
Gil Fink
 
PDF
Advanced Jasmine - Front-End JavaScript Unit Testing
Lars Thorup
 
PPTX
Automated php unit testing in drupal 8
Jay Friendly
 
PPTX
Code generation for alternative languages
Rafael Winterhalter
 
PDF
Unit tests in node.js
Rotem Tamir
 
PDF
Javascript tdd byandreapaciolla
Andrea Paciolla
 
PPTX
Qunit Java script Un
akanksha arora
 
PDF
Jasmine BDD for Javascript
Luis Alfredo Porras Páez
 
PDF
JavaScript Test-Driven Development with Jasmine 2.0 and Karma
Christopher Bartling
 
PDF
AngularJS Unit Test
Chiew Carol
 
PPTX
J unit스터디슬라이드
ksain
 
AngularJS Unit Testing w/Karma and Jasmine
foxp2code
 
Testing in AngularJS
Peter Drinnan
 
Mozilla Web QA - Evolution of our Python WebDriver framework
davehunt82
 
Intro to testing Javascript with jasmine
Timothy Oxley
 
Jquery- One slide completing all JQuery
Knoldus Inc.
 
Unit testing
davidahaskins
 
Unit testing in JavaScript with Jasmine and Karma
Andrey Kolodnitsky
 
Test-Driven Development of AngularJS Applications
FITC
 
Quick tour to front end unit testing using jasmine
Gil Fink
 
Advanced Jasmine - Front-End JavaScript Unit Testing
Lars Thorup
 
Automated php unit testing in drupal 8
Jay Friendly
 
Code generation for alternative languages
Rafael Winterhalter
 
Unit tests in node.js
Rotem Tamir
 
Javascript tdd byandreapaciolla
Andrea Paciolla
 
Qunit Java script Un
akanksha arora
 
Jasmine BDD for Javascript
Luis Alfredo Porras Páez
 
JavaScript Test-Driven Development with Jasmine 2.0 and Karma
Christopher Bartling
 
AngularJS Unit Test
Chiew Carol
 
J unit스터디슬라이드
ksain
 

Viewers also liked (20)

PDF
Архитектура автоматизированных тестов
SQALab
 
PPTX
XPath локаторы в Selenium WebDriver
Илья Кожухов
 
PPTX
The Dangers of Cucumber
Þorgeir Ingvarsson
 
PPTX
Basics of assertions in automated testing
Þorgeir Ingvarsson
 
PPTX
How to write good autotests
Þorgeir Ingvarsson
 
PPTX
Tao and Test Automation
Þorgeir Ingvarsson
 
PPTX
Инфраструктура Автоматизации Функционального Тестирования Web Приложений
Andrii Dzynia
 
PDF
Acceptance Testing of Web UI
Vladimir Tsukur
 
PPTX
Docker в автоматизации тестирования
COMAQA.BY
 
PPTX
Design your own test automation tool
automated-testing.info
 
PPTX
I, For One, Welcome Our New Robot Overlords
Steve Malsam
 
PPTX
10 принципов автоматизации, которые я не предам
SQALab
 
PPTX
Вячеслав Черников (Binwell) | Xamarin на практике
RIF-Technology
 
PPTX
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
RIF-Technology
 
PDF
Continuous Deployment pipeline demonstration spiced with Robot Framework and ...
Antti Pohjonen
 
PDF
Обсуждаем главы из “97 Things Every Programmer Should Know”
SPB SQA Group
 
PPT
Responsive Web Design testing using Galen Framework
Birudugadda Pranathi
 
PPTX
Selenium Camp 2016 - Effective UI tests scaling on Java
Sergey Korol
 
PPTX
Part I. How to stop fooling around and begin automating
Þorgeir Ingvarsson
 
PDF
Pros and Cons of Being an Automation Specialist
Þorgeir Ingvarsson
 
Архитектура автоматизированных тестов
SQALab
 
XPath локаторы в Selenium WebDriver
Илья Кожухов
 
The Dangers of Cucumber
Þorgeir Ingvarsson
 
Basics of assertions in automated testing
Þorgeir Ingvarsson
 
How to write good autotests
Þorgeir Ingvarsson
 
Tao and Test Automation
Þorgeir Ingvarsson
 
Инфраструктура Автоматизации Функционального Тестирования Web Приложений
Andrii Dzynia
 
Acceptance Testing of Web UI
Vladimir Tsukur
 
Docker в автоматизации тестирования
COMAQA.BY
 
Design your own test automation tool
automated-testing.info
 
I, For One, Welcome Our New Robot Overlords
Steve Malsam
 
10 принципов автоматизации, которые я не предам
SQALab
 
Вячеслав Черников (Binwell) | Xamarin на практике
RIF-Technology
 
Антон Семенченко | (EPAM Systems, DPI.Solutions )Сравнительный анализ инстру...
RIF-Technology
 
Continuous Deployment pipeline demonstration spiced with Robot Framework and ...
Antti Pohjonen
 
Обсуждаем главы из “97 Things Every Programmer Should Know”
SPB SQA Group
 
Responsive Web Design testing using Galen Framework
Birudugadda Pranathi
 
Selenium Camp 2016 - Effective UI tests scaling on Java
Sergey Korol
 
Part I. How to stop fooling around and begin automating
Þorgeir Ingvarsson
 
Pros and Cons of Being an Automation Specialist
Þorgeir Ingvarsson
 
Ad

Similar to Automation patterns on practice (20)

PPT
Ch09
guest50f28c
 
PPT
Design engineering
Vikram Dahiya
 
PPT
Design engineering
Vikram Dahiya
 
PPTX
Object oriented methodologies
naina-rani
 
PPSX
Software Development
Goutama Bachtiar
 
PPT
Analysis modeling
Preeti Mishra
 
PPTX
Evolution of Patterns
Chris Eargle
 
PDF
ABSE and AtomWeaver : A Quantum Leap in Software Development
Rui Curado
 
PPTX
SPFTWARE ENGINEERING basics , definitions
DarbhalaPavanKumar
 
PPTX
Software Engineering Primer
Georg Buske
 
PPTX
Software Development Practices in Practice
Dennis Doomen
 
ODP
Software Patterns
Sudarsun Santhiappan
 
ODP
RailswayCon 2010 - Command Your Domain
Lourens Naudé
 
PPTX
Analysis
Preeti Mishra
 
PPTX
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
Richard Robinson
 
PPT
Unit 1.ppt
MsRAMYACSE
 
PPTX
Activity sequence -class and swimlane
Hassnat Ahmed
 
PPTX
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 
Design engineering
Vikram Dahiya
 
Design engineering
Vikram Dahiya
 
Object oriented methodologies
naina-rani
 
Software Development
Goutama Bachtiar
 
Analysis modeling
Preeti Mishra
 
Evolution of Patterns
Chris Eargle
 
ABSE and AtomWeaver : A Quantum Leap in Software Development
Rui Curado
 
SPFTWARE ENGINEERING basics , definitions
DarbhalaPavanKumar
 
Software Engineering Primer
Georg Buske
 
Software Development Practices in Practice
Dennis Doomen
 
Software Patterns
Sudarsun Santhiappan
 
RailswayCon 2010 - Command Your Domain
Lourens Naudé
 
Analysis
Preeti Mishra
 
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
Richard Robinson
 
Unit 1.ppt
MsRAMYACSE
 
Activity sequence -class and swimlane
Hassnat Ahmed
 
Cs 1023 lec 2 (week 1) edit 1
stanbridge
 
Ad

More from automated-testing.info (20)

PDF
Александр Кабалюк – SilkTest
automated-testing.info
 
PDF
За пределами PageObject
automated-testing.info
 
PDF
Философия и построение тестового фреймворка на основе BDD в PHP проектах
automated-testing.info
 
PDF
Швейцарский нож для Android
automated-testing.info
 
PDF
Автоматизация тестирования как сервис
automated-testing.info
 
PDF
Курс молодого бойца-автоматизатора – как стать ветераном и остаться в живых
automated-testing.info
 
PDF
Тестирование производительности Ajax приложений с помощью JMeter
automated-testing.info
 
PDF
Быстрое расширение Robot Framework под свои нужды с использованием Python
automated-testing.info
 
PDF
“Обезьянье тестирование” в мобильных проектах
automated-testing.info
 
PDF
Проблемы автоматизации крупных проектов: TestComplete
automated-testing.info
 
PDF
Совершенный тестовый фреймворк
automated-testing.info
 
PDF
В поисках магической кнопки или как приручить SOAP UI
automated-testing.info
 
PDF
Фреймворк для регрессионного тестирования на основе WebDriver
automated-testing.info
 
PDF
Codeception - WTF?
automated-testing.info
 
PDF
Keyword driven testing
automated-testing.info
 
PDF
Why it is not working
automated-testing.info
 
PPTX
Andrey Azimov - Как найти работу тестировщику?
automated-testing.info
 
PPT
Jenkins auto configureforbranch-php
automated-testing.info
 
PPTX
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
automated-testing.info
 
PPT
Alexei Zozulenko - Test automation failure
automated-testing.info
 
Александр Кабалюк – SilkTest
automated-testing.info
 
За пределами PageObject
automated-testing.info
 
Философия и построение тестового фреймворка на основе BDD в PHP проектах
automated-testing.info
 
Швейцарский нож для Android
automated-testing.info
 
Автоматизация тестирования как сервис
automated-testing.info
 
Курс молодого бойца-автоматизатора – как стать ветераном и остаться в живых
automated-testing.info
 
Тестирование производительности Ajax приложений с помощью JMeter
automated-testing.info
 
Быстрое расширение Robot Framework под свои нужды с использованием Python
automated-testing.info
 
“Обезьянье тестирование” в мобильных проектах
automated-testing.info
 
Проблемы автоматизации крупных проектов: TestComplete
automated-testing.info
 
Совершенный тестовый фреймворк
automated-testing.info
 
В поисках магической кнопки или как приручить SOAP UI
automated-testing.info
 
Фреймворк для регрессионного тестирования на основе WebDriver
automated-testing.info
 
Codeception - WTF?
automated-testing.info
 
Keyword driven testing
automated-testing.info
 
Why it is not working
automated-testing.info
 
Andrey Azimov - Как найти работу тестировщику?
automated-testing.info
 
Jenkins auto configureforbranch-php
automated-testing.info
 
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
automated-testing.info
 
Alexei Zozulenko - Test automation failure
automated-testing.info
 

Automation patterns on practice