SlideShare une entreprise Scribd logo
1  sur  31
Télécharger pour lire hors ligne
BDD Test Framework
                                 on PHP
                              ... develop you features
                                    philosophically


  Oleksii Zozulenko




   atdays.com
                                                         1
Saturday, February 9, 13
My name is Oleksii

                           I like automation
                            (for last 7 years)


   atdays.com                      #atdays
                                                 2
Saturday, February 9, 13
Context. Project




                            Engine for Internet stores


   atdays.com                         #atdays
                                                         3
Saturday, February 9, 13
Context. Docs




                           Test cases & Stories

   atdays.com                      #atdays
                                                  4
Saturday, February 9, 13
Context. Docs




                           Test cases & Stories

   atdays.com                      #atdays
                                                  4
Saturday, February 9, 13
Context. Tests

                               Takes too long time

                                Can not involve
                                developers

                                Hard to support
                Auto tests
   atdays.com                    #atdays
                                                     5
Saturday, February 9, 13
atdays.com              #atdays
                                     6
Saturday, February 9, 13
BEHAVIOR DRIVEN
                             DEVELOPMENT

   atdays.com                    #atdays
                                             7
Saturday, February 9, 13
Brief overview

                                         Behavior, not test/should
                                          Re-translation your user
                                             stories into code
                   Dan north




                               http://dannorth.net/introducing-bdd/

   atdays.com                                  #atdays
                                                                      8
Saturday, February 9, 13
We need documented tests

                                      But

                                Tests should run!




   atdays.com                          #atdays
                                                      9
Saturday, February 9, 13
TOOLS


   atdays.com              #atdays
                                     10
Saturday, February 9, 13
Different

                           RSpec

                           Cucumber


                                                      Behat
                           JSpec                    Fabulous
                           JBehave
                                                   Codeception


   atdays.com                            #atdays
                                                                 11
Saturday, February 9, 13
Cucumber&
                           Behat&       Symfony&
                                    Mink&(WebDriver)&
                                      Tags,&Events&
                                        Snippets&

   atdays.com                          #atdays
                                                        12
Saturday, February 9, 13
FRAMEWORK


   atdays.com              #atdays
                                     13
Saturday, February 9, 13
atdays.com              #atdays
                                     14
Saturday, February 9, 13
ARCHITECTURE


   atdays.com               #atdays
                                      15
Saturday, February 9, 13
Flexibility




   atdays.com                  #atdays
                                         16
Saturday, February 9, 13
Scalability




   atdays.com                  #atdays
                                         17
Saturday, February 9, 13
APPLICATION API


   atdays.com              #atdays
                                     18
Saturday, February 9, 13
Application API


                                    Model&


                             DAO&

                                        En##es&




   atdays.com                         #atdays
                                                  19
Saturday, February 9, 13
PAGE OBJECT PATTERN


   atdays.com              #atdays
                                     20
Saturday, February 9, 13
Yaml structure
           LayoutPage:
            elements:
              Element1: “xpathvalue”
              Element2: “xpathvalue”

          PageName:
           url: “canbedynamicwith%ID%”
           inherit: LayoutPage
           entityClass: “BundleEntitiesPageEnity”
           defaultFind: “byId”
           elements:
             Element: “%{AnotherPage/Element}%xpath”
   atdays.com                    #atdays
                                                       21
Saturday, February 9, 13
PageHelper
           Reading yaml structure

                    getPage($pageName)

                    getElement($pageName, $element, array
                    $attributes )

                    getUrl($pageName, $entityId)



   atdays.com                           #atdays
                                                            22
Saturday, February 9, 13
PITFALLS


   atdays.com              #atdays
                                     23
Saturday, February 9, 13
Native Language




   atdays.com                    #atdays
                                             24
Saturday, February 9, 13
Hard to re-use code




   atdays.com                      #atdays
                                                 25
Saturday, February 9, 13
SUMMARY


   atdays.com              #atdays
                                     26
Saturday, February 9, 13
Use your Application
                                     Use Your Application




   atdays.com                        #atdays
                                                            27
Saturday, February 9, 13
atdays.com              #atdays
                                     28
Saturday, February 9, 13
Saturday, February 9, 13
Thanks


                           ozozulenko@gmail.com
                                 @qainsider
                               qainsider.com


   atdays.com
                                                  30
Saturday, February 9, 13

Contenu connexe

Plus de automated-testing.info

Александр Кабалюк – SilkTest
Александр Кабалюк – SilkTestАлександр Кабалюк – SilkTest
Александр Кабалюк – SilkTestautomated-testing.info
 
Автоматизация тестирования как сервис
Автоматизация тестирования как сервисАвтоматизация тестирования как сервис
Автоматизация тестирования как сервисautomated-testing.info
 
Тестирование производительности Ajax приложений с помощью JMeter
Тестирование производительности Ajax приложений с помощью JMeterТестирование производительности Ajax приложений с помощью JMeter
Тестирование производительности Ajax приложений с помощью JMeterautomated-testing.info
 
Быстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием PythonБыстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием Pythonautomated-testing.info
 
Проблемы автоматизации крупных проектов: TestComplete
Проблемы автоматизации крупных проектов: TestCompleteПроблемы автоматизации крупных проектов: TestComplete
Проблемы автоматизации крупных проектов: TestCompleteautomated-testing.info
 
В поисках магической кнопки или как приручить SOAP UI
В поисках магической кнопки или как приручить SOAP UIВ поисках магической кнопки или как приручить SOAP UI
В поисках магической кнопки или как приручить SOAP UIautomated-testing.info
 
Andrey Azimov - Как найти работу тестировщику?
Andrey Azimov - Как найти работу тестировщику?Andrey Azimov - Как найти работу тестировщику?
Andrey Azimov - Как найти работу тестировщику?automated-testing.info
 
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...automated-testing.info
 
Alexei Zozulenko - Test automation failure
Alexei Zozulenko - Test automation failureAlexei Zozulenko - Test automation failure
Alexei Zozulenko - Test automation failureautomated-testing.info
 
Vladimir Primakov - Test Automation By Example
Vladimir Primakov - Test Automation By ExampleVladimir Primakov - Test Automation By Example
Vladimir Primakov - Test Automation By Exampleautomated-testing.info
 
Alexander Zvonov Test Automation Story
Alexander Zvonov Test Automation StoryAlexander Zvonov Test Automation Story
Alexander Zvonov Test Automation Storyautomated-testing.info
 
Daria Chernishova Test Automation Story
Daria Chernishova Test Automation StoryDaria Chernishova Test Automation Story
Daria Chernishova Test Automation Storyautomated-testing.info
 
Bdd with java using concordion and selenium ui tests
Bdd with java using concordion and selenium ui testsBdd with java using concordion and selenium ui tests
Bdd with java using concordion and selenium ui testsautomated-testing.info
 

Plus de automated-testing.info (20)

Александр Кабалюк – SilkTest
Александр Кабалюк – SilkTestАлександр Кабалюк – SilkTest
Александр Кабалюк – SilkTest
 
Автоматизация тестирования как сервис
Автоматизация тестирования как сервисАвтоматизация тестирования как сервис
Автоматизация тестирования как сервис
 
Тестирование производительности Ajax приложений с помощью JMeter
Тестирование производительности Ajax приложений с помощью JMeterТестирование производительности Ajax приложений с помощью JMeter
Тестирование производительности Ajax приложений с помощью JMeter
 
Быстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием PythonБыстрое расширение Robot Framework под свои нужды с использованием Python
Быстрое расширение Robot Framework под свои нужды с использованием Python
 
Проблемы автоматизации крупных проектов: TestComplete
Проблемы автоматизации крупных проектов: TestCompleteПроблемы автоматизации крупных проектов: TestComplete
Проблемы автоматизации крупных проектов: TestComplete
 
В поисках магической кнопки или как приручить SOAP UI
В поисках магической кнопки или как приручить SOAP UIВ поисках магической кнопки или как приручить SOAP UI
В поисках магической кнопки или как приручить SOAP UI
 
Keyword driven testing
Keyword driven testingKeyword driven testing
Keyword driven testing
 
Andrey Azimov - Как найти работу тестировщику?
Andrey Azimov - Как найти работу тестировщику?Andrey Azimov - Как найти работу тестировщику?
Andrey Azimov - Как найти работу тестировщику?
 
Jenkins auto configureforbranch-php
Jenkins auto configureforbranch-phpJenkins auto configureforbranch-php
Jenkins auto configureforbranch-php
 
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
Иван Бордюг - Инструмент автоматизации регрессионного тестирования на основе ...
 
Alexei Zozulenko - Test automation failure
Alexei Zozulenko - Test automation failureAlexei Zozulenko - Test automation failure
Alexei Zozulenko - Test automation failure
 
Vladimir Primakov - Test Automation By Example
Vladimir Primakov - Test Automation By ExampleVladimir Primakov - Test Automation By Example
Vladimir Primakov - Test Automation By Example
 
Codeception Introduction
Codeception IntroductionCodeception Introduction
Codeception Introduction
 
Ivan Bordug Test Automation Story
Ivan Bordug Test Automation StoryIvan Bordug Test Automation Story
Ivan Bordug Test Automation Story
 
Alexander Zvonov Test Automation Story
Alexander Zvonov Test Automation StoryAlexander Zvonov Test Automation Story
Alexander Zvonov Test Automation Story
 
Daria Chernishova Test Automation Story
Daria Chernishova Test Automation StoryDaria Chernishova Test Automation Story
Daria Chernishova Test Automation Story
 
Bdd with java using concordion and selenium ui tests
Bdd with java using concordion and selenium ui testsBdd with java using concordion and selenium ui tests
Bdd with java using concordion and selenium ui tests
 
Bdd + SpecFlow + WatiN
Bdd + SpecFlow + WatiNBdd + SpecFlow + WatiN
Bdd + SpecFlow + WatiN
 
Efficient performance testing
Efficient performance testingEfficient performance testing
Efficient performance testing
 
Qtp Automation and Extensibility
Qtp Automation and ExtensibilityQtp Automation and Extensibility
Qtp Automation and Extensibility
 

Dernier

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Dernier (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Философия и построение тестового фреймворка на основе BDD в PHP проектах

  • 1. BDD Test Framework on PHP ... develop you features philosophically Oleksii Zozulenko atdays.com 1 Saturday, February 9, 13
  • 2. My name is Oleksii I like automation (for last 7 years) atdays.com #atdays 2 Saturday, February 9, 13
  • 3. Context. Project Engine for Internet stores atdays.com #atdays 3 Saturday, February 9, 13
  • 4. Context. Docs Test cases & Stories atdays.com #atdays 4 Saturday, February 9, 13
  • 5. Context. Docs Test cases & Stories atdays.com #atdays 4 Saturday, February 9, 13
  • 6. Context. Tests Takes too long time Can not involve developers Hard to support Auto tests atdays.com #atdays 5 Saturday, February 9, 13
  • 7. atdays.com #atdays 6 Saturday, February 9, 13
  • 8. BEHAVIOR DRIVEN DEVELOPMENT atdays.com #atdays 7 Saturday, February 9, 13
  • 9. Brief overview Behavior, not test/should Re-translation your user stories into code Dan north http://dannorth.net/introducing-bdd/ atdays.com #atdays 8 Saturday, February 9, 13
  • 10. We need documented tests But Tests should run! atdays.com #atdays 9 Saturday, February 9, 13
  • 11. TOOLS atdays.com #atdays 10 Saturday, February 9, 13
  • 12. Different RSpec Cucumber Behat JSpec Fabulous JBehave Codeception atdays.com #atdays 11 Saturday, February 9, 13
  • 13. Cucumber& Behat& Symfony& Mink&(WebDriver)& Tags,&Events& Snippets& atdays.com #atdays 12 Saturday, February 9, 13
  • 14. FRAMEWORK atdays.com #atdays 13 Saturday, February 9, 13
  • 15. atdays.com #atdays 14 Saturday, February 9, 13
  • 16. ARCHITECTURE atdays.com #atdays 15 Saturday, February 9, 13
  • 17. Flexibility atdays.com #atdays 16 Saturday, February 9, 13
  • 18. Scalability atdays.com #atdays 17 Saturday, February 9, 13
  • 19. APPLICATION API atdays.com #atdays 18 Saturday, February 9, 13
  • 20. Application API Model& DAO& En##es& atdays.com #atdays 19 Saturday, February 9, 13
  • 21. PAGE OBJECT PATTERN atdays.com #atdays 20 Saturday, February 9, 13
  • 22. Yaml structure LayoutPage: elements: Element1: “xpathvalue” Element2: “xpathvalue” PageName: url: “canbedynamicwith%ID%” inherit: LayoutPage entityClass: “BundleEntitiesPageEnity” defaultFind: “byId” elements: Element: “%{AnotherPage/Element}%xpath” atdays.com #atdays 21 Saturday, February 9, 13
  • 23. PageHelper Reading yaml structure getPage($pageName) getElement($pageName, $element, array $attributes ) getUrl($pageName, $entityId) atdays.com #atdays 22 Saturday, February 9, 13
  • 24. PITFALLS atdays.com #atdays 23 Saturday, February 9, 13
  • 25. Native Language atdays.com #atdays 24 Saturday, February 9, 13
  • 26. Hard to re-use code atdays.com #atdays 25 Saturday, February 9, 13
  • 27. SUMMARY atdays.com #atdays 26 Saturday, February 9, 13
  • 28. Use your Application Use Your Application atdays.com #atdays 27 Saturday, February 9, 13
  • 29. atdays.com #atdays 28 Saturday, February 9, 13
  • 31. Thanks ozozulenko@gmail.com @qainsider qainsider.com atdays.com 30 Saturday, February 9, 13