SlideShare a Scribd company logo
1 of 24
Programming
     Skills for Test
      Automation


Mar 9, 2012   Programming Skills for Test Automation   1
Overview

     Programming skills for test architecture
     and design
     Programming skills for automated tests
     Performance testing skills
     Configuration management skills
     Manual testing interaction


Mar 9, 2012       Programming Skills for Test Automation   2
Automation testing
          creating programs to test other programs


     Test engineer implements automated tests using
     the same techniques as the ones used in software
     developments

              This is the point where the fun begins 



Mar 9, 2012             Programming Skills for Test Automation   3
Job Description

Roles and Responsabilities:                  Skills:
          Build advanced automated
          test suites to exercise                     x years relevant work
          applications                                experience
          Work with the development                   Excellent coding skills in C,
          and test engineering teams                  C++, Java, C# or Python.
          to automate testing                         Good scripting skills in at
          Conduct research on                         least one common language
          emerging technologies                       (Python, Perl, Shell).
          Analyze and decompose a
          complicated software
          system and design a strategy
          to test this system


Mar 9, 2012                Programming Skills for Test Automation                     4
Test Automation

     Test automation lifecycle




Mar 9, 2012         Programming Skills for Test Automation   5
Test Automation

     Test automation and software development lifecycle




Mar 9, 2012             Programming Skills for Test Automation   6
Analysis and Prototype

     Select automation use cases from requirements
     No third party tools can guarantee success of test
     automation and return of investment:
          design & implement a customized testing framework
          which can use existing tools - open source/ commercial /
          own custom tools
          create maintainable libraries of tests
     Provide the main models/principles used in
     architecting the testing system

Mar 9, 2012              Programming Skills for Test Automation      7
Architecture and Design


                                               TEST DATA




                                               SELECTS
                                             ACCORDING TO
                                               SETTINGS




                            CHECK               SCRIPTS           USE



                                                                         SCRIPTS
                                                                         SETTINGS
                                          RETRIEVE GUI ELEMENTS
                 MAIN                           FROM AUT
              APPLICATION




                                              AUTOMATION
                                                 TOOL




Mar 9, 2012                         Programming Skills for Test Automation          8
Architectural Skills

     Object oriented analysis and design
     Design patterns
          Creational patterns
              • Singleton, Factory, Builder, Object pool
          Structural patterns
              • Composite, Proxy pattern
          Behavioral patterns
              • Observer pattern, Strategy


Mar 9, 2012                 Programming Skills for Test Automation    9
Test Development
     OOP concepts
               Encapsulation, Abstraction, Inheritance, Polymorphism

     Knowledge of the programming / scripting
     languages
     Selected test tool(s) scripting language(s)
     and capabilities
     Greatest advantages of programming skills:
          Perform verifications accurate and repeatedly
          Build your own tools if nothing helps

Mar 9, 2012              Programming Skills for Test Automation        10
Test Types

     Unit tests
     Regression tests
          GUI testing
          Database
          Files
     Performance tests



Mar 9, 2012             Programming Skills for Test Automation    11
Unit Tests

     Requirements and user documentation knowhow
     Skills:
          Working with value types, strings, objects and
          collections, serialization in selected programming
          language/ or equivalent in scripting language
          WebService: working with SOAP and REST interfaces
          (requests/ responses)
          xUnit frameworks



Mar 9, 2012             Programming Skills for Test Automation    12
GUI Automation

Ease of script maintenance rule:

     Use tool(s) to identify UI controls
          Select properties which are not changed every build
          Don’t depend on the OS environment
              • e.g. select the id/ name of the object, not coordinates
              • tree searching algorithms can improve lookup performance


     Desktop applications:
          Win32 API can be used


Mar 9, 2012                   Programming Skills for Test Automation       13
GUI Automation

Direct access to the GUI specific remarks:

     .NET:
              • invoke delegates to manage control
              • STA threads for GUI operations

     Android:
              • Perform operations on main thread



     Others have their rules too 
Mar 9, 2012                  Programming Skills for Test Automations   14
Database

     DB skills used from test tool or in custom
     program :
          Database connection
          SQL CRUD operations
          Data structures to compare GUI / DB values and
          expected result




Mar 9, 2012           Programming Skills for Test Automation    15
Files – Logs verification

     File handling:
              •   Open
              •   Read/ write (if needed)
              •   Close
              •   Watch for changes
     (Large) Strings handling methods:
              • search for strings
              • extract substrings
     XML parsing

Mar 9, 2012                    Programming Skills for Test Automation   16
Performance Testing

     Existing tools:
          JMeter, Test complete, etc for the AUT load/
          stress testing


     Build custom tools for better coverage of
     the business use cases



Mar 9, 2012             Programming Skills for Test Automation   17
Custom Performance Tests
     Measuring responsiveness:
          Multimedia timers
          Operations on date/ time objects

     Simulate users with threads
          Operations with threads
          Thread synchronization and data structure
          access
          Concurrency design patterns: active object,
          thread pool pattern
Mar 9, 2012                                                      18
                        Programming Skills for Test Automation
Performance Tests Extras

     Nice to have:

          Working with Performance counters

          Chart controls for displaying results




Mar 9, 2012                <Presentation Name>         19
Continuous Execution

     Configuration management:
          Automated tests can be integrated in build systems or in
          dedicated systems for continuous execution
     Skills:
          Usage of batch/ bash files
          Working with schedules tasks
          Integration in continuous build systems (Cruise Control,
          Hudson, etc)



Mar 9, 2012              Programming Skills for Test Automation      20
Don’t Forget

     Coding guidelines

     Naming conventions

     In case the scripting language does not
     support OOP try to avoid as much as
     possible having duplicate code

Mar 9, 2012        Programming Skills for Test Automation   21
Manual Interaction

     Test failures from an automated test run
     still must be analyzed manually
     Any part of:
          Provisioning and setting up the machine to run
          the tests
          Kicking off the test run




Mar 9, 2012            Programming Skills for Test Automation   22
Conclusion

Successful tool automation depends on:
  The tools
  (Standard) testing process
  The right test team roles, duties
  Skills - blend of:
          Testing
          Programming
          Tools knowledge

Mar 9, 2012          Programming Skills for Test Automation   23
Questions




                          ?

Mar 9, 2012   Programming Skills for Test Automation   24

More Related Content

What's hot

Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation FailsRanorex
 
Automation testing IBM RFT - Rational Functional Tester
Automation testing IBM RFT - Rational Functional TesterAutomation testing IBM RFT - Rational Functional Tester
Automation testing IBM RFT - Rational Functional TesterVijayChowthri Nagaprakasham
 
Best practices for writing good automated tests
Best practices for writing good automated testsBest practices for writing good automated tests
Best practices for writing good automated testsFelipe Lima
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with AgileKen McCorkell
 
Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testingKanoah
 
Learning's from mobile testing
Learning's from mobile testingLearning's from mobile testing
Learning's from mobile testingVikrant Chauhan
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation ArchitectureErdem YILDIRIM
 
Introduction to Gauge
Introduction to GaugeIntroduction to Gauge
Introduction to Gaugevodqancr
 
Guideto Successful Application Test Automation
Guideto Successful Application Test AutomationGuideto Successful Application Test Automation
Guideto Successful Application Test Automationaimshigh7
 
Selenium RC, Selenium WebDriver and HP LoadRunner
Selenium RC, Selenium WebDriver and HP LoadRunnerSelenium RC, Selenium WebDriver and HP LoadRunner
Selenium RC, Selenium WebDriver and HP LoadRunnerMurageppa-QA
 
Developing a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian BayerDeveloping a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian BayerQA or the Highway
 
Testing automation in agile environment
Testing automation in agile environmentTesting automation in agile environment
Testing automation in agile environmentPerfecto Mobile
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testingdidev
 
Selenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework BasicsSelenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework BasicsTechcanvass
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsSteven Li
 
Automation test scripting techniques
Automation test scripting techniquesAutomation test scripting techniques
Automation test scripting techniquesZhu Zhong
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing FrameworksMoataz Nabil
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing ToolsDr Ganesh Iyer
 

What's hot (20)

10 Benefits of Automated Testing
10 Benefits of Automated Testing10 Benefits of Automated Testing
10 Benefits of Automated Testing
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation Fails
 
Automation testing IBM RFT - Rational Functional Tester
Automation testing IBM RFT - Rational Functional TesterAutomation testing IBM RFT - Rational Functional Tester
Automation testing IBM RFT - Rational Functional Tester
 
Best practices for writing good automated tests
Best practices for writing good automated testsBest practices for writing good automated tests
Best practices for writing good automated tests
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testing
 
Learning's from mobile testing
Learning's from mobile testingLearning's from mobile testing
Learning's from mobile testing
 
6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture
 
Introduction to Gauge
Introduction to GaugeIntroduction to Gauge
Introduction to Gauge
 
Guideto Successful Application Test Automation
Guideto Successful Application Test AutomationGuideto Successful Application Test Automation
Guideto Successful Application Test Automation
 
Selenium RC, Selenium WebDriver and HP LoadRunner
Selenium RC, Selenium WebDriver and HP LoadRunnerSelenium RC, Selenium WebDriver and HP LoadRunner
Selenium RC, Selenium WebDriver and HP LoadRunner
 
Developing a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian BayerDeveloping a test automation strategy by Brian Bayer
Developing a test automation strategy by Brian Bayer
 
Testing automation in agile environment
Testing automation in agile environmentTesting automation in agile environment
Testing automation in agile environment
 
Automated Testing vs Manual Testing
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
 
Selenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework BasicsSelenium Tutorial for Beginners | Automation framework Basics
Selenium Tutorial for Beginners | Automation framework Basics
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
 
Automation test scripting techniques
Automation test scripting techniquesAutomation test scripting techniques
Automation test scripting techniques
 
Testing Tools
Testing ToolsTesting Tools
Testing Tools
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
 

Similar to Programming skills for test automation

Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsQuontra Solutions
 
Katalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and DevelopersKatalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and DevelopersKatalon Studio
 
Microsoft Stack Visual Studio 2010 Overview
Microsoft  Stack   Visual Studio 2010 OverviewMicrosoft  Stack   Visual Studio 2010 Overview
Microsoft Stack Visual Studio 2010 Overviewrfennell
 
Rajiv Profile_Sept_2016
Rajiv Profile_Sept_2016Rajiv Profile_Sept_2016
Rajiv Profile_Sept_2016Rajiv Joseph
 
Abhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -BothAbhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -BothAbhiram Bharadwaj
 
Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsBhavin Javia
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012Justin Gordon
 
Model For Applying Unit Test
Model For Applying Unit TestModel For Applying Unit Test
Model For Applying Unit TestHieu Le Trung
 
Planning & building scalable test infrastructure
Planning  & building scalable test infrastructurePlanning  & building scalable test infrastructure
Planning & building scalable test infrastructureVijayan Reddy
 
Designing a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutionsDesigning a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutionsQUONTRASOLUTIONS
 
Play with Testing on Android - Gilang Ramadhan (Academy Content Writer at Dic...
Play with Testing on Android - Gilang Ramadhan (Academy Content Writer at Dic...Play with Testing on Android - Gilang Ramadhan (Academy Content Writer at Dic...
Play with Testing on Android - Gilang Ramadhan (Academy Content Writer at Dic...DicodingEvent
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software designTech_MX
 
Test Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutionsTest Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutionsQuontra Solutions
 

Similar to Programming skills for test automation (20)

Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
 
Katalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and DevelopersKatalon Studio - Successful Test Automation for both Testers and Developers
Katalon Studio - Successful Test Automation for both Testers and Developers
 
Microsoft Stack Visual Studio 2010 Overview
Microsoft  Stack   Visual Studio 2010 OverviewMicrosoft  Stack   Visual Studio 2010 Overview
Microsoft Stack Visual Studio 2010 Overview
 
Rajiv Profile_Sept_2016
Rajiv Profile_Sept_2016Rajiv Profile_Sept_2016
Rajiv Profile_Sept_2016
 
Abhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -BothAbhiram_Bharadwaj_Resume -Both
Abhiram_Bharadwaj_Resume -Both
 
Resume
ResumeResume
Resume
 
expBSIT (1) (1)
expBSIT (1) (1)expBSIT (1) (1)
expBSIT (1) (1)
 
Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails Applications
 
Coding Naked
Coding NakedCoding Naked
Coding Naked
 
CV Of Arun Thimmappa
CV Of Arun ThimmappaCV Of Arun Thimmappa
CV Of Arun Thimmappa
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012
 
Model For Applying Unit Test
Model For Applying Unit TestModel For Applying Unit Test
Model For Applying Unit Test
 
Planning & building scalable test infrastructure
Planning  & building scalable test infrastructurePlanning  & building scalable test infrastructure
Planning & building scalable test infrastructure
 
Rajiv Profile
Rajiv ProfileRajiv Profile
Rajiv Profile
 
Designing a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutionsDesigning a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutions
 
Ravindra Prasad
Ravindra PrasadRavindra Prasad
Ravindra Prasad
 
Sarathi_Resume_June 2016
Sarathi_Resume_June 2016Sarathi_Resume_June 2016
Sarathi_Resume_June 2016
 
Play with Testing on Android - Gilang Ramadhan (Academy Content Writer at Dic...
Play with Testing on Android - Gilang Ramadhan (Academy Content Writer at Dic...Play with Testing on Android - Gilang Ramadhan (Academy Content Writer at Dic...
Play with Testing on Android - Gilang Ramadhan (Academy Content Writer at Dic...
 
Software engineering principles in system software design
Software engineering principles in system software designSoftware engineering principles in system software design
Software engineering principles in system software design
 
Test Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutionsTest Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutions
 

More from Romania Testing

Baris sarialioglu testing on the move, mobile testing
Baris sarialioglu   testing on the move, mobile testingBaris sarialioglu   testing on the move, mobile testing
Baris sarialioglu testing on the move, mobile testingRomania Testing
 
Jan jaap TMMi facts and figures v2
Jan jaap TMMi facts and figures v2Jan jaap TMMi facts and figures v2
Jan jaap TMMi facts and figures v2Romania Testing
 
Kiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-finalKiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-finalRomania Testing
 
Luis fraile exploratory testing myths ro
Luis fraile   exploratory testing myths roLuis fraile   exploratory testing myths ro
Luis fraile exploratory testing myths roRomania Testing
 
Stephen janaway mobile testing - that's just a smaller screen, right
Stephen janaway  mobile testing - that's just a smaller screen, rightStephen janaway  mobile testing - that's just a smaller screen, right
Stephen janaway mobile testing - that's just a smaller screen, rightRomania Testing
 
Roland van leusden mobile performance testing rtc 2014 v0.6
Roland van leusden   mobile performance testing  rtc 2014 v0.6Roland van leusden   mobile performance testing  rtc 2014 v0.6
Roland van leusden mobile performance testing rtc 2014 v0.6Romania Testing
 
Rene tuinhout passionate dating for testers and vice versa
Rene tuinhout   passionate dating for testers and vice versaRene tuinhout   passionate dating for testers and vice versa
Rene tuinhout passionate dating for testers and vice versaRomania Testing
 
Georgi hristov continuous integration-for mobile test automation
Georgi hristov   continuous integration-for mobile test automationGeorgi hristov   continuous integration-for mobile test automation
Georgi hristov continuous integration-for mobile test automationRomania Testing
 
Gabriel carabat a healthy approach for test automation
Gabriel carabat   a healthy approach for test automationGabriel carabat   a healthy approach for test automation
Gabriel carabat a healthy approach for test automationRomania Testing
 
Daniel billing exploring the security testers toolbox
Daniel billing   exploring the security testers toolboxDaniel billing   exploring the security testers toolbox
Daniel billing exploring the security testers toolboxRomania Testing
 
Codruta bunea establishing a test approach for a private cloud environment
Codruta bunea   establishing a test approach for a private cloud environmentCodruta bunea   establishing a test approach for a private cloud environment
Codruta bunea establishing a test approach for a private cloud environmentRomania Testing
 
Ciprian balea automated performance-testing
Ciprian balea   automated performance-testingCiprian balea   automated performance-testing
Ciprian balea automated performance-testingRomania Testing
 
Andy glover - Artist within everyone
Andy glover - Artist within everyoneAndy glover - Artist within everyone
Andy glover - Artist within everyoneRomania Testing
 
Andy glover - Visual Testing Workshop
Andy glover  - Visual Testing WorkshopAndy glover  - Visual Testing Workshop
Andy glover - Visual Testing WorkshopRomania Testing
 
Ady beleanu automate-theprocessdelivery
Ady beleanu   automate-theprocessdeliveryAdy beleanu   automate-theprocessdelivery
Ady beleanu automate-theprocessdeliveryRomania Testing
 
Adrian bolboaca sherlock holmesandpairing-adibolboaca
Adrian bolboaca   sherlock holmesandpairing-adibolboacaAdrian bolboaca   sherlock holmesandpairing-adibolboaca
Adrian bolboaca sherlock holmesandpairing-adibolboacaRomania Testing
 
Stephen blower inspiring testers - rtc2014
Stephen blower   inspiring testers - rtc2014Stephen blower   inspiring testers - rtc2014
Stephen blower inspiring testers - rtc2014Romania Testing
 
Testing-as-a-service on demand
Testing-as-a-service on demandTesting-as-a-service on demand
Testing-as-a-service on demandRomania Testing
 
10 Lessons learned in test automation
10 Lessons learned in test automation10 Lessons learned in test automation
10 Lessons learned in test automationRomania Testing
 
Mentoring embedded testing
Mentoring embedded testingMentoring embedded testing
Mentoring embedded testingRomania Testing
 

More from Romania Testing (20)

Baris sarialioglu testing on the move, mobile testing
Baris sarialioglu   testing on the move, mobile testingBaris sarialioglu   testing on the move, mobile testing
Baris sarialioglu testing on the move, mobile testing
 
Jan jaap TMMi facts and figures v2
Jan jaap TMMi facts and figures v2Jan jaap TMMi facts and figures v2
Jan jaap TMMi facts and figures v2
 
Kiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-finalKiran karnad rtc2014 ghdb-final
Kiran karnad rtc2014 ghdb-final
 
Luis fraile exploratory testing myths ro
Luis fraile   exploratory testing myths roLuis fraile   exploratory testing myths ro
Luis fraile exploratory testing myths ro
 
Stephen janaway mobile testing - that's just a smaller screen, right
Stephen janaway  mobile testing - that's just a smaller screen, rightStephen janaway  mobile testing - that's just a smaller screen, right
Stephen janaway mobile testing - that's just a smaller screen, right
 
Roland van leusden mobile performance testing rtc 2014 v0.6
Roland van leusden   mobile performance testing  rtc 2014 v0.6Roland van leusden   mobile performance testing  rtc 2014 v0.6
Roland van leusden mobile performance testing rtc 2014 v0.6
 
Rene tuinhout passionate dating for testers and vice versa
Rene tuinhout   passionate dating for testers and vice versaRene tuinhout   passionate dating for testers and vice versa
Rene tuinhout passionate dating for testers and vice versa
 
Georgi hristov continuous integration-for mobile test automation
Georgi hristov   continuous integration-for mobile test automationGeorgi hristov   continuous integration-for mobile test automation
Georgi hristov continuous integration-for mobile test automation
 
Gabriel carabat a healthy approach for test automation
Gabriel carabat   a healthy approach for test automationGabriel carabat   a healthy approach for test automation
Gabriel carabat a healthy approach for test automation
 
Daniel billing exploring the security testers toolbox
Daniel billing   exploring the security testers toolboxDaniel billing   exploring the security testers toolbox
Daniel billing exploring the security testers toolbox
 
Codruta bunea establishing a test approach for a private cloud environment
Codruta bunea   establishing a test approach for a private cloud environmentCodruta bunea   establishing a test approach for a private cloud environment
Codruta bunea establishing a test approach for a private cloud environment
 
Ciprian balea automated performance-testing
Ciprian balea   automated performance-testingCiprian balea   automated performance-testing
Ciprian balea automated performance-testing
 
Andy glover - Artist within everyone
Andy glover - Artist within everyoneAndy glover - Artist within everyone
Andy glover - Artist within everyone
 
Andy glover - Visual Testing Workshop
Andy glover  - Visual Testing WorkshopAndy glover  - Visual Testing Workshop
Andy glover - Visual Testing Workshop
 
Ady beleanu automate-theprocessdelivery
Ady beleanu   automate-theprocessdeliveryAdy beleanu   automate-theprocessdelivery
Ady beleanu automate-theprocessdelivery
 
Adrian bolboaca sherlock holmesandpairing-adibolboaca
Adrian bolboaca   sherlock holmesandpairing-adibolboacaAdrian bolboaca   sherlock holmesandpairing-adibolboaca
Adrian bolboaca sherlock holmesandpairing-adibolboaca
 
Stephen blower inspiring testers - rtc2014
Stephen blower   inspiring testers - rtc2014Stephen blower   inspiring testers - rtc2014
Stephen blower inspiring testers - rtc2014
 
Testing-as-a-service on demand
Testing-as-a-service on demandTesting-as-a-service on demand
Testing-as-a-service on demand
 
10 Lessons learned in test automation
10 Lessons learned in test automation10 Lessons learned in test automation
10 Lessons learned in test automation
 
Mentoring embedded testing
Mentoring embedded testingMentoring embedded testing
Mentoring embedded testing
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
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
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
[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
 
🐬 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
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
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...
 
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
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
[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
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Programming skills for test automation

  • 1. Programming Skills for Test Automation Mar 9, 2012 Programming Skills for Test Automation 1
  • 2. Overview Programming skills for test architecture and design Programming skills for automated tests Performance testing skills Configuration management skills Manual testing interaction Mar 9, 2012 Programming Skills for Test Automation 2
  • 3. Automation testing creating programs to test other programs Test engineer implements automated tests using the same techniques as the ones used in software developments This is the point where the fun begins  Mar 9, 2012 Programming Skills for Test Automation 3
  • 4. Job Description Roles and Responsabilities: Skills: Build advanced automated test suites to exercise x years relevant work applications experience Work with the development Excellent coding skills in C, and test engineering teams C++, Java, C# or Python. to automate testing Good scripting skills in at Conduct research on least one common language emerging technologies (Python, Perl, Shell). Analyze and decompose a complicated software system and design a strategy to test this system Mar 9, 2012 Programming Skills for Test Automation 4
  • 5. Test Automation Test automation lifecycle Mar 9, 2012 Programming Skills for Test Automation 5
  • 6. Test Automation Test automation and software development lifecycle Mar 9, 2012 Programming Skills for Test Automation 6
  • 7. Analysis and Prototype Select automation use cases from requirements No third party tools can guarantee success of test automation and return of investment: design & implement a customized testing framework which can use existing tools - open source/ commercial / own custom tools create maintainable libraries of tests Provide the main models/principles used in architecting the testing system Mar 9, 2012 Programming Skills for Test Automation 7
  • 8. Architecture and Design TEST DATA SELECTS ACCORDING TO SETTINGS CHECK SCRIPTS USE SCRIPTS SETTINGS RETRIEVE GUI ELEMENTS MAIN FROM AUT APPLICATION AUTOMATION TOOL Mar 9, 2012 Programming Skills for Test Automation 8
  • 9. Architectural Skills Object oriented analysis and design Design patterns Creational patterns • Singleton, Factory, Builder, Object pool Structural patterns • Composite, Proxy pattern Behavioral patterns • Observer pattern, Strategy Mar 9, 2012 Programming Skills for Test Automation 9
  • 10. Test Development OOP concepts Encapsulation, Abstraction, Inheritance, Polymorphism Knowledge of the programming / scripting languages Selected test tool(s) scripting language(s) and capabilities Greatest advantages of programming skills: Perform verifications accurate and repeatedly Build your own tools if nothing helps Mar 9, 2012 Programming Skills for Test Automation 10
  • 11. Test Types Unit tests Regression tests GUI testing Database Files Performance tests Mar 9, 2012 Programming Skills for Test Automation 11
  • 12. Unit Tests Requirements and user documentation knowhow Skills: Working with value types, strings, objects and collections, serialization in selected programming language/ or equivalent in scripting language WebService: working with SOAP and REST interfaces (requests/ responses) xUnit frameworks Mar 9, 2012 Programming Skills for Test Automation 12
  • 13. GUI Automation Ease of script maintenance rule: Use tool(s) to identify UI controls Select properties which are not changed every build Don’t depend on the OS environment • e.g. select the id/ name of the object, not coordinates • tree searching algorithms can improve lookup performance Desktop applications: Win32 API can be used Mar 9, 2012 Programming Skills for Test Automation 13
  • 14. GUI Automation Direct access to the GUI specific remarks: .NET: • invoke delegates to manage control • STA threads for GUI operations Android: • Perform operations on main thread Others have their rules too  Mar 9, 2012 Programming Skills for Test Automations 14
  • 15. Database DB skills used from test tool or in custom program : Database connection SQL CRUD operations Data structures to compare GUI / DB values and expected result Mar 9, 2012 Programming Skills for Test Automation 15
  • 16. Files – Logs verification File handling: • Open • Read/ write (if needed) • Close • Watch for changes (Large) Strings handling methods: • search for strings • extract substrings XML parsing Mar 9, 2012 Programming Skills for Test Automation 16
  • 17. Performance Testing Existing tools: JMeter, Test complete, etc for the AUT load/ stress testing Build custom tools for better coverage of the business use cases Mar 9, 2012 Programming Skills for Test Automation 17
  • 18. Custom Performance Tests Measuring responsiveness: Multimedia timers Operations on date/ time objects Simulate users with threads Operations with threads Thread synchronization and data structure access Concurrency design patterns: active object, thread pool pattern Mar 9, 2012 18 Programming Skills for Test Automation
  • 19. Performance Tests Extras Nice to have: Working with Performance counters Chart controls for displaying results Mar 9, 2012 <Presentation Name> 19
  • 20. Continuous Execution Configuration management: Automated tests can be integrated in build systems or in dedicated systems for continuous execution Skills: Usage of batch/ bash files Working with schedules tasks Integration in continuous build systems (Cruise Control, Hudson, etc) Mar 9, 2012 Programming Skills for Test Automation 20
  • 21. Don’t Forget Coding guidelines Naming conventions In case the scripting language does not support OOP try to avoid as much as possible having duplicate code Mar 9, 2012 Programming Skills for Test Automation 21
  • 22. Manual Interaction Test failures from an automated test run still must be analyzed manually Any part of: Provisioning and setting up the machine to run the tests Kicking off the test run Mar 9, 2012 Programming Skills for Test Automation 22
  • 23. Conclusion Successful tool automation depends on: The tools (Standard) testing process The right test team roles, duties Skills - blend of: Testing Programming Tools knowledge Mar 9, 2012 Programming Skills for Test Automation 23
  • 24. Questions ? Mar 9, 2012 Programming Skills for Test Automation 24

Editor's Notes

  1. No third party tools can guarantee success of test automation and return of investment: long term scope: design and implement a customized testing framework which can use existing tools - open source/ commercial / own custom tools - to create maintainable libraries of tests for the business use cases of our AUT Select automation use cases from requirements Provide the main models/principles used in architecting the testing system
  2. If the test tool has some limitations in automating the test case, you can create anytime a custom tool which solves this issue
  3. Usually done by developers, Requirements and user documentation knowhow is a must Skills: Understanding the business cases of the software under test s