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

ODP
Unit Testing and Coverage for AngularJS
PPTX
Maven TestNg frame work (1) (1)
PPTX
Testing React Applications
PPT
Mxunit
ODP
Good Practices On Test Automation
PDF
Angular testing
PDF
JavaScript TDD with Jasmine and Karma
PDF
Painless JavaScript Testing with Jest
Unit Testing and Coverage for AngularJS
Maven TestNg frame work (1) (1)
Testing React Applications
Mxunit
Good Practices On Test Automation
Angular testing
JavaScript TDD with Jasmine and Karma
Painless JavaScript Testing with Jest

What's hot (19)

PDF
AngularJS Unit Testing w/Karma and Jasmine
PPT
Testing in AngularJS
PPTX
Mozilla Web QA - Evolution of our Python WebDriver framework
PDF
Intro to testing Javascript with jasmine
ODP
Jquery- One slide completing all JQuery
PPT
Unit testing
PPTX
Unit testing in JavaScript with Jasmine and Karma
PDF
Test-Driven Development of AngularJS Applications
PDF
Quick tour to front end unit testing using jasmine
PDF
Advanced Jasmine - Front-End JavaScript Unit Testing
PPTX
Automated php unit testing in drupal 8
PPTX
Code generation for alternative languages
PDF
Unit tests in node.js
PDF
Javascript tdd byandreapaciolla
PPTX
Qunit Java script Un
PDF
Jasmine BDD for Javascript
PDF
JavaScript Test-Driven Development with Jasmine 2.0 and Karma
PDF
AngularJS Unit Test
PPTX
J unit스터디슬라이드
AngularJS Unit Testing w/Karma and Jasmine
Testing in AngularJS
Mozilla Web QA - Evolution of our Python WebDriver framework
Intro to testing Javascript with jasmine
Jquery- One slide completing all JQuery
Unit testing
Unit testing in JavaScript with Jasmine and Karma
Test-Driven Development of AngularJS Applications
Quick tour to front end unit testing using jasmine
Advanced Jasmine - Front-End JavaScript Unit Testing
Automated php unit testing in drupal 8
Code generation for alternative languages
Unit tests in node.js
Javascript tdd byandreapaciolla
Qunit Java script Un
Jasmine BDD for Javascript
JavaScript Test-Driven Development with Jasmine 2.0 and Karma
AngularJS Unit Test
J unit스터디슬라이드
Ad

Viewers also liked (20)

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

Similar to Automation patterns on practice (20)

PPT
PPT
Design engineering
PPT
Design engineering
PPTX
Object oriented methodologies
PPSX
Software Development
PPT
Analysis modeling
PPTX
Evolution of Patterns
PDF
ABSE and AtomWeaver : A Quantum Leap in Software Development
PPTX
SPFTWARE ENGINEERING basics , definitions
PPTX
Software Engineering Primer
PPTX
Software Development Practices in Practice
ODP
Software Patterns
ODP
RailswayCon 2010 - Command Your Domain
PPTX
Analysis
PPTX
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
PPT
Unit 1.ppt
PPTX
Activity sequence -class and swimlane
PPTX
Cs 1023 lec 2 (week 1) edit 1
Design engineering
Design engineering
Object oriented methodologies
Software Development
Analysis modeling
Evolution of Patterns
ABSE and AtomWeaver : A Quantum Leap in Software Development
SPFTWARE ENGINEERING basics , definitions
Software Engineering Primer
Software Development Practices in Practice
Software Patterns
RailswayCon 2010 - Command Your Domain
Analysis
SCRIMPS-STD: Test Automation Design Principles - and asking the right questions!
Unit 1.ppt
Activity sequence -class and swimlane
Cs 1023 lec 2 (week 1) edit 1

More from automated-testing.info (20)

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

Automation patterns on practice