SlideShare a Scribd company logo
1 of 26
Designing Automation
    Framework for Web
Applications Testing through
            TDD

              • Anatoly Zhukov
               azhukov@ggasoftware.com

              • Yan Alexeenko
               alexeenko@ggasoftware.com
About Us
Anatoly Zhukov - Senior QA Engineer.
  •   3+ years of experience
  •   Expert in desktop/web manual/automation testing
  •   Expert in performance testing
  •   Test framework developer
  •   Active participation in software-testing.ru community

Yan Alexeenko - Senior QA Engineer
  •   4+ years of experience
  •   Expert in desktop/web manual/automation testing
  •   Expert in performance testing
  •   Expert in testing of signal processing algorithms
  •   Test framework developer

                                                              2
About GGA Software Services
                                200-Person Software Engineering Team:
         Software                      • Business Analysis
                    Data
                                       • System Design
                                       • Software Engineering
           Science Support             • Software Testing
                                       • Documentation
                                       • Training
 Quality Assured                      • Project Management
   • Independent team for testing      • Quality Assurance
     and quality assurance
   • 70 professionally trained quality             GGA’s high-throughput
     engineers                                     screening application
   • Domain experts in scientific                  won a global
     disciplines and software/IT                   innovation award at a
     technical skills                              leading
                                                   pharmaceutical
   • QA services available to assist
                                                   company.
     client’s internal development
                                                                      3
     teams
Presentation Plan

 Objectives

 Development Problems

 Problems Resolving

 Techniques & Technologies

 Object Patterns

 Reporting

 Results


                              4
Our Objectives


            Functional
                           Convenient
                    Fast
     Flexible




            Scale

                                        5
Development Scheme



                      I believe he
                      wants…




                      Manager



           Customer                  Developer
                                                 6
Development Problems




                       7
What’s doing?


                Customer




                           8
In our case



         I know what I
         want…
                         I know how
                         to do it…




                                      9
We want…


   TDD

   Build manager

   Continuous Integration

   Simple Object Pattern

   Simple Result Analysis

                             10
We use…


   Java

   Selenium 2 (aka WebDriver)

   TestNG

   AutoIT



                                 11
Test Driven Development


                                        Write a test that fails


                                               Write a test script code
                                               that can’t be compiled
   Eliminate
   redundancy




                                      Make the code work


The mantra of Test-Driven Development (TDD) is “red, green, refactor”
                                                                      12
Maven


 Maven is a software project management and
  comprehension tool

 Maven is a site and documentation tool

 Maven extends Ant to let you download dependencies

 Maven is a set of reusable Ant scripts

 What is wrong with Maven? – Access to repository.



                                                       13
Object Description



                                    Controls – Links, Buttons,
                                    Inputs, etc.




          Panel – div that contains simple controls




                                                                 14
Object Description




  <div id=“subpanel1_3” class=“…” style=“…”>


            <input id=“pageNumberInput” … >   15
Code of Test


       Singleton

      Panel.get()
           .action() Return Panel
                      instance
           .control
               .controlAction()
           .[action()/control]…;


                                    16
Example
ControlPane.get()
               .open()
               .page.click()
               .fullScreen.click()
               .close();
                           Generic

public class ControlPane extends BasePanel<ControlPane>
…
   public final Button<ControlPane> page =
   new Button<ControlPane>("Name", "Locator", this);
…

                                                     17
Properties for Panels & Controls


            Using Standard Maven Layout
                         &
                  ResourceBundle

                   Properties like

     ControlName = [id/xpath/css]=[locator]



                                              18
Reporting


      Simple & Dynamic Creation

      Style Customization

      Easy for Use
       • Visualization (Levels, Links to source code, Screenshots,

            Asserts and Exceptions)

       • Traceability




                                            HTML                     19
Reporting Process

                             Log File

                        Message 1

 HTML
  CSS                       Message 2
   JS
            jquery.load()
                              Message 3


                                          20
Jenkins Tasks

                Maven Goals & Options
                 -Dtestng_xml=[Config File].xml clean test

                 clean compile -DskipTests javadoc:aggregate




                                                             21
Reporting Example


                    business level

                         component level

                                     technical level




                            asserts


                                                       22
Java Docs




            23
Results


     Convenient test writing framework

    Flexible and extendable system

     Simple and clear reports

     Continuous Integration

     Documented source code

     Satisfied customer



                                          24
Code Lifecycle

                                         Test Script



      Base Functionality for         ?                 ?
                                                           Components
             testing
                                                             ?

             UI testing                                     Controls

    Selenium          Web Driver

                  …


   Unit testing       Web Services


    Reporter              API
                                                                        25
Questions?




             26

More Related Content

What's hot

Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALM
Debora Di Piano
 
QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER
Piyush Prakash
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overview
slides_teltools
 
OOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management PackOOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management Pack
jucaab
 
Alm briefing keynote
Alm briefing keynoteAlm briefing keynote
Alm briefing keynote
Spiffy
 

What's hot (10)

Software testing
Software testingSoftware testing
Software testing
 
Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALM
 
QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER
 
2012 student track - vs2010
2012   student track - vs20102012   student track - vs2010
2012 student track - vs2010
 
ALM for SharePoint projects
ALM for SharePoint projectsALM for SharePoint projects
ALM for SharePoint projects
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overview
 
Alliance Successful Selenium Automation
Alliance Successful Selenium AutomationAlliance Successful Selenium Automation
Alliance Successful Selenium Automation
 
OOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management PackOOW 09 EBS Application Change Management Pack
OOW 09 EBS Application Change Management Pack
 
A Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere toolsA Software Factory Integrating Rational Team Concert and WebSphere tools
A Software Factory Integrating Rational Team Concert and WebSphere tools
 
Alm briefing keynote
Alm briefing keynoteAlm briefing keynote
Alm briefing keynote
 

Similar to Selenium Camp 2012

Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBay
Dominik Dary
 
Sqp 090508084934 Phpapp02
Sqp 090508084934 Phpapp02Sqp 090508084934 Phpapp02
Sqp 090508084934 Phpapp02
sivavis
 
Introducing Obsidian Software and RAVEN-GCS for PowerPC
Introducing Obsidian Software and RAVEN-GCS for PowerPCIntroducing Obsidian Software and RAVEN-GCS for PowerPC
Introducing Obsidian Software and RAVEN-GCS for PowerPC
DVClub
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and Deployit
XebiaLabs
 
No More No Repro
No More No ReproNo More No Repro
No More No Repro
Anna Russo
 
Bridging the gap between pre-production testing and production monitoring
Bridging the gap between pre-production testing and production monitoringBridging the gap between pre-production testing and production monitoring
Bridging the gap between pre-production testing and production monitoring
fsyed
 

Similar to Selenium Camp 2012 (20)

Coding Naked
Coding NakedCoding Naked
Coding Naked
 
Testing In Java
Testing In JavaTesting In Java
Testing In Java
 
Design For Testability
Design For TestabilityDesign For Testability
Design For Testability
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by Example
 
Software Quality Plan
Software Quality PlanSoftware Quality Plan
Software Quality Plan
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an Introduction
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBay
 
ITS-Fidel
ITS-FidelITS-Fidel
ITS-Fidel
 
Code review automation and functional tests on Carrefour
Code review automation and functional tests on CarrefourCode review automation and functional tests on Carrefour
Code review automation and functional tests on Carrefour
 
Visual Studio 2010 Testing Overview
Visual Studio 2010 Testing OverviewVisual Studio 2010 Testing Overview
Visual Studio 2010 Testing Overview
 
TDD in functional testing with WebDriver
TDD in functional testing with WebDriverTDD in functional testing with WebDriver
TDD in functional testing with WebDriver
 
Sqp 090508084934 Phpapp02
Sqp 090508084934 Phpapp02Sqp 090508084934 Phpapp02
Sqp 090508084934 Phpapp02
 
Introducing Obsidian Software and RAVEN-GCS for PowerPC
Introducing Obsidian Software and RAVEN-GCS for PowerPCIntroducing Obsidian Software and RAVEN-GCS for PowerPC
Introducing Obsidian Software and RAVEN-GCS for PowerPC
 
Codesion's Live Webinar: Cutting Edge Cloud Development Tools for Force.com
Codesion's Live Webinar: Cutting Edge Cloud Development Tools for Force.comCodesion's Live Webinar: Cutting Edge Cloud Development Tools for Force.com
Codesion's Live Webinar: Cutting Edge Cloud Development Tools for Force.com
 
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT OpsAgile Open Source Performance Test Workshop for Developers, Testers, IT Ops
Agile Open Source Performance Test Workshop for Developers, Testers, IT Ops
 
Continuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and DeployitContinuous delivery with Jenkins Enterprise and Deployit
Continuous delivery with Jenkins Enterprise and Deployit
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and Chellenges
 
No More No Repro
No More No ReproNo More No Repro
No More No Repro
 
DevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse ConferenceDevOps for Mainframe for IBM Pulse Conference
DevOps for Mainframe for IBM Pulse Conference
 
Bridging the gap between pre-production testing and production monitoring
Bridging the gap between pre-production testing and production monitoringBridging the gap between pre-production testing and production monitoring
Bridging the gap between pre-production testing and production monitoring
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Selenium Camp 2012

  • 1. Designing Automation Framework for Web Applications Testing through TDD • Anatoly Zhukov azhukov@ggasoftware.com • Yan Alexeenko alexeenko@ggasoftware.com
  • 2. About Us Anatoly Zhukov - Senior QA Engineer. • 3+ years of experience • Expert in desktop/web manual/automation testing • Expert in performance testing • Test framework developer • Active participation in software-testing.ru community Yan Alexeenko - Senior QA Engineer • 4+ years of experience • Expert in desktop/web manual/automation testing • Expert in performance testing • Expert in testing of signal processing algorithms • Test framework developer 2
  • 3. About GGA Software Services  200-Person Software Engineering Team: Software • Business Analysis Data • System Design • Software Engineering Science Support • Software Testing • Documentation • Training  Quality Assured • Project Management • Independent team for testing • Quality Assurance and quality assurance • 70 professionally trained quality GGA’s high-throughput engineers screening application • Domain experts in scientific won a global disciplines and software/IT innovation award at a technical skills leading pharmaceutical • QA services available to assist company. client’s internal development 3 teams
  • 4. Presentation Plan  Objectives  Development Problems  Problems Resolving  Techniques & Technologies  Object Patterns  Reporting  Results 4
  • 5. Our Objectives Functional Convenient Fast Flexible Scale 5
  • 6. Development Scheme I believe he wants… Manager Customer Developer 6
  • 8. What’s doing? Customer 8
  • 9. In our case I know what I want… I know how to do it… 9
  • 10. We want…  TDD  Build manager  Continuous Integration  Simple Object Pattern  Simple Result Analysis 10
  • 11. We use…  Java  Selenium 2 (aka WebDriver)  TestNG  AutoIT 11
  • 12. Test Driven Development Write a test that fails Write a test script code that can’t be compiled Eliminate redundancy Make the code work The mantra of Test-Driven Development (TDD) is “red, green, refactor” 12
  • 13. Maven  Maven is a software project management and comprehension tool  Maven is a site and documentation tool  Maven extends Ant to let you download dependencies  Maven is a set of reusable Ant scripts  What is wrong with Maven? – Access to repository. 13
  • 14. Object Description Controls – Links, Buttons, Inputs, etc. Panel – div that contains simple controls 14
  • 15. Object Description <div id=“subpanel1_3” class=“…” style=“…”> <input id=“pageNumberInput” … > 15
  • 16. Code of Test Singleton Panel.get() .action() Return Panel instance .control .controlAction() .[action()/control]…; 16
  • 17. Example ControlPane.get() .open() .page.click() .fullScreen.click() .close(); Generic public class ControlPane extends BasePanel<ControlPane> … public final Button<ControlPane> page = new Button<ControlPane>("Name", "Locator", this); … 17
  • 18. Properties for Panels & Controls Using Standard Maven Layout & ResourceBundle Properties like ControlName = [id/xpath/css]=[locator] 18
  • 19. Reporting  Simple & Dynamic Creation  Style Customization  Easy for Use • Visualization (Levels, Links to source code, Screenshots, Asserts and Exceptions) • Traceability HTML 19
  • 20. Reporting Process Log File Message 1 HTML CSS Message 2 JS jquery.load() Message 3 20
  • 21. Jenkins Tasks Maven Goals & Options -Dtestng_xml=[Config File].xml clean test clean compile -DskipTests javadoc:aggregate 21
  • 22. Reporting Example business level component level technical level asserts 22
  • 23. Java Docs 23
  • 24. Results  Convenient test writing framework Flexible and extendable system  Simple and clear reports  Continuous Integration  Documented source code  Satisfied customer 24
  • 25. Code Lifecycle Test Script Base Functionality for ? ? Components testing ? UI testing Controls Selenium Web Driver … Unit testing Web Services Reporter API 25