SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Lanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMLanzamiento Visual Studio 2012 - Modern ALM
Lanzamiento Visual Studio 2012 - Modern ALMDebora Di Piano
 
QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER QUALITY ASSURANCE and VALIDATION ENGINEER
QUALITY ASSURANCE and VALIDATION ENGINEER Piyush Prakash
 
2012 student track - vs2010
2012   student track - vs20102012   student track - vs2010
2012 student track - vs2010Tim Mahy
 
ALM for SharePoint projects
ALM for SharePoint projectsALM for SharePoint projects
ALM for SharePoint projectsSpiffy
 
Software Factory - Overview
Software Factory - OverviewSoftware Factory - Overview
Software Factory - Overviewslides_teltools
 
Alliance Successful Selenium Automation
Alliance Successful Selenium AutomationAlliance Successful Selenium Automation
Alliance Successful Selenium Automationsadams22
 
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 Packjucaab
 
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 toolsProlifics
 
Alm briefing keynote
Alm briefing keynoteAlm briefing keynote
Alm briefing keynoteSpiffy
 

Was ist angesagt? (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
 

Ähnlich wie Selenium Camp 2012

Design For Testability
Design For TestabilityDesign For Testability
Design For TestabilityWill Iverson
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by ExampleNalin Goonawardana
 
Software Quality Plan
Software Quality PlanSoftware Quality Plan
Software Quality Planguy_davis
 
Chef for DevOps - an Introduction
Chef for DevOps - an IntroductionChef for DevOps - an Introduction
Chef for DevOps - an IntroductionSanjeev Sharma
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBayDominik Dary
 
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 CarrefourDenis Santos
 
Visual Studio 2010 Testing Overview
Visual Studio 2010 Testing OverviewVisual Studio 2010 Testing Overview
Visual Studio 2010 Testing OverviewSteve Lange
 
TDD in functional testing with WebDriver
TDD in functional testing with WebDriverTDD in functional testing with WebDriver
TDD in functional testing with WebDriverMikalai Alimenkou
 
Sqp 090508084934 Phpapp02
Sqp 090508084934 Phpapp02Sqp 090508084934 Phpapp02
Sqp 090508084934 Phpapp02sivavis
 
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 PowerPCDVClub
 
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.comCollabNet
 
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 OpsClever Moe
 
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 DeployitXebiaLabs
 
Mobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesMobile DevOps - Trends and Chellenges
Mobile DevOps - Trends and ChellengesSanjeev Sharma
 
No More No Repro
No More No ReproNo More No Repro
No More No ReproAnna Russo
 
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 ConferenceRosalind Radcliffe
 
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 monitoringfsyed
 

Ähnlich wie 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
 

Kürzlich hochgeladen

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
 
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
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
[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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Kürzlich hochgeladen (20)

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
 
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
 
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
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

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