SlideShare a Scribd company logo
1 of 15
An introduction
to Test
Automation
Denys Zaiats
Type of testing
• Desktop application
• Web-application
• Web-services
• Data Base
Different scripting
approaches
• Record and playback
• Linear scripting
• Modular scripting
• Data-driven testing
• Keyword-driven testing
Record and playback
• Capture interaction with
system and replay it
• Popular approach among
commercial tools
Record and playback:
Benefits
• Very easy and fast to create
initially
• No programming skills needed
Record and playback:
Problems
• Does not test anything unless checkpoints added
• Very fragile
1. Often single change in UI can break all tests
• Hard to maintain
1. Plenty of separate test scripts
2. No modularity or reuse
• System must be ready before automation can start
1. Does not support acceptance test driven
development (ATDD)
Linear scripting
• Non-structured scripts interact
directly with the system under test
(SUT)
• Can use any programming
language
• Also produced by capture and
replay tools
Linear scripting: Example
import unittest
from selenium import webdriver
class Login(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
def tearDown(self):
self.driver.quit()
def test_login(self):
driver = self.driver
driver.get('http://testurl')
username = driver.find_element_by_name('user_id')
submit_button = driver.
find_element_by_xpath(“//a*contains(@class,’a1’)+”)
username.send_keys('admin')
submit_button.click()
Linear scripting: Benefits
• Fast to create initially
• Flexible
• Can use common scripting
languages
• No license costs
Data-driven testing
• Test data taken out of test scripts
• Customarily presented in tabular
format
• One driver script can execute
multiple similar tests
• New driver script still needed for
different kinds of tests
Data-driven testing:
Example
Test Case Number 1 Operation Number 2 Expected
TC1 1 + 3 4
TC2 2 * 4 8
Keyword-driven testing
• Not only test data but also
directives (keywords) telling
how to use the data taken out
of the test scripts
• Keywords and the test data
associated with them drive test
execution
Keyword-driven testing:
Example
Action Selector Data
insertText #example_id Test_Text
Generic skills to learn
• Scripting languages (Python, Java,
C#, Javascript, ... )
• Regular expressions
• XPath and CSS selectors
• SQL
• Using version control
Tools for automation
testing
• Selenium (IDE, driver) – Web application
• Apache Jmeter (Performance, Load testing) – Web
services
• Test complete – Desktop + Web
• QTP – Desktop + Web
• Silk Test – Desktop + Web
• AutoIT – Desktop (Windows)
• White – Desktop (Windows)
• Automator – (Mac OS)
• Silkuli – cross-platform

More Related Content

What's hot

Alina Cojocariu - Flex and Android tests with Ranorex
Alina Cojocariu - Flex and Android tests with RanorexAlina Cojocariu - Flex and Android tests with Ranorex
Alina Cojocariu - Flex and Android tests with RanorexCodecamp Romania
 
Automation is Easy! (python version)
Automation is Easy! (python version)Automation is Easy! (python version)
Automation is Easy! (python version)Iakiv Kramarenko
 
Robot framework short talk
Robot framework short talkRobot framework short talk
Robot framework short talkNola Stowe
 
Level Up Your Salesforce Unit Testing
Level Up Your Salesforce Unit TestingLevel Up Your Salesforce Unit Testing
Level Up Your Salesforce Unit TestingGordon Bockus
 
1.microsoft visual studio 2010 test manager
1.microsoft visual studio 2010  test manager1.microsoft visual studio 2010  test manager
1.microsoft visual studio 2010 test managerAshwin Jujgar
 
RoboCon 2018: How did we get here? Where do we go next?
RoboCon 2018: How did we get here? Where do we go next?RoboCon 2018: How did we get here? Where do we go next?
RoboCon 2018: How did we get here? Where do we go next?Pekka Klärck
 
Continuous integration
Continuous integrationContinuous integration
Continuous integrationLior Tal
 
Robot Framework for beginners and what is new at 2019
Robot Framework for beginners and what is new at 2019Robot Framework for beginners and what is new at 2019
Robot Framework for beginners and what is new at 2019Laura Ojala
 
Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Red Gate Software
 
Object-oriented Analysis, Design & Programming
Object-oriented Analysis, Design & ProgrammingObject-oriented Analysis, Design & Programming
Object-oriented Analysis, Design & ProgrammingAllan Mangune
 
Integration system acceptance test
Integration system acceptance testIntegration system acceptance test
Integration system acceptance testSyed Usman Ahmed
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot FrameworkPekka Klärck
 
Use notes objects in memory and other useful java tips for xpages development
Use notes objects in memory and other useful java tips for xpages developmentUse notes objects in memory and other useful java tips for xpages development
Use notes objects in memory and other useful java tips for xpages developmentFrank van der Linden
 
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...Xebia Nederland BV
 
Build, Test and Extend Integrated Workflows 3.7
Build, Test and Extend Integrated Workflows 3.7Build, Test and Extend Integrated Workflows 3.7
Build, Test and Extend Integrated Workflows 3.7StephenKardian
 
Robot Framework with actual robot
Robot Framework with actual robot Robot Framework with actual robot
Robot Framework with actual robot Eficode
 

What's hot (20)

Alina Cojocariu - Flex and Android tests with Ranorex
Alina Cojocariu - Flex and Android tests with RanorexAlina Cojocariu - Flex and Android tests with Ranorex
Alina Cojocariu - Flex and Android tests with Ranorex
 
Scripting robot
Scripting robotScripting robot
Scripting robot
 
Automation is Easy! (python version)
Automation is Easy! (python version)Automation is Easy! (python version)
Automation is Easy! (python version)
 
Robot framework short talk
Robot framework short talkRobot framework short talk
Robot framework short talk
 
Level Up Your Salesforce Unit Testing
Level Up Your Salesforce Unit TestingLevel Up Your Salesforce Unit Testing
Level Up Your Salesforce Unit Testing
 
1.microsoft visual studio 2010 test manager
1.microsoft visual studio 2010  test manager1.microsoft visual studio 2010  test manager
1.microsoft visual studio 2010 test manager
 
RoboCon 2018: How did we get here? Where do we go next?
RoboCon 2018: How did we get here? Where do we go next?RoboCon 2018: How did we get here? Where do we go next?
RoboCon 2018: How did we get here? Where do we go next?
 
Agile Tools
Agile ToolsAgile Tools
Agile Tools
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Robot Framework for beginners and what is new at 2019
Robot Framework for beginners and what is new at 2019Robot Framework for beginners and what is new at 2019
Robot Framework for beginners and what is new at 2019
 
Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014Get Testing with tSQLt - SQL In The City Workshop 2014
Get Testing with tSQLt - SQL In The City Workshop 2014
 
Object-oriented Analysis, Design & Programming
Object-oriented Analysis, Design & ProgrammingObject-oriented Analysis, Design & Programming
Object-oriented Analysis, Design & Programming
 
Software testing
Software testingSoftware testing
Software testing
 
Integration system acceptance test
Integration system acceptance testIntegration system acceptance test
Integration system acceptance test
 
ATDD Using Robot Framework
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot Framework
 
Use notes objects in memory and other useful java tips for xpages development
Use notes objects in memory and other useful java tips for xpages developmentUse notes objects in memory and other useful java tips for xpages development
Use notes objects in memory and other useful java tips for xpages development
 
Introduction to Robot Framework
Introduction to Robot FrameworkIntroduction to Robot Framework
Introduction to Robot Framework
 
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
TestWorks Conf Robot framework - the unsung hero of test automation - Michael...
 
Build, Test and Extend Integrated Workflows 3.7
Build, Test and Extend Integrated Workflows 3.7Build, Test and Extend Integrated Workflows 3.7
Build, Test and Extend Integrated Workflows 3.7
 
Robot Framework with actual robot
Robot Framework with actual robot Robot Framework with actual robot
Robot Framework with actual robot
 

Viewers also liked

Tutorial meng upload ppt ke blogspot
Tutorial meng upload ppt ke blogspotTutorial meng upload ppt ke blogspot
Tutorial meng upload ppt ke blogspotMuhammad AlGazali
 
Pakkoruotsianimationfix
PakkoruotsianimationfixPakkoruotsianimationfix
PakkoruotsianimationfixBenkku
 
Poetry dedication
Poetry dedicationPoetry dedication
Poetry dedicationwagonerm360
 
Penggunaan antasida
Penggunaan antasidaPenggunaan antasida
Penggunaan antasidaIskani kasim
 
Kti (membuat proposal)
Kti (membuat proposal)Kti (membuat proposal)
Kti (membuat proposal)Iskani kasim
 
PERBEDAAN SKALA GUTTMAN DAN SKALA LIKERT
PERBEDAAN SKALA GUTTMAN DAN SKALA LIKERTPERBEDAAN SKALA GUTTMAN DAN SKALA LIKERT
PERBEDAAN SKALA GUTTMAN DAN SKALA LIKERTIskani kasim
 
Terapi Hipertensi non Farmakologis
Terapi Hipertensi non FarmakologisTerapi Hipertensi non Farmakologis
Terapi Hipertensi non FarmakologisIskani kasim
 
materi perbandingan smp kelas 7
materi perbandingan smp kelas 7materi perbandingan smp kelas 7
materi perbandingan smp kelas 7Varizka Amelia
 

Viewers also liked (16)

Material POP Nuevo
Material POP NuevoMaterial POP Nuevo
Material POP Nuevo
 
Tutorial meng upload ppt ke blogspot
Tutorial meng upload ppt ke blogspotTutorial meng upload ppt ke blogspot
Tutorial meng upload ppt ke blogspot
 
Cover
CoverCover
Cover
 
Blogspot v wordpress
Blogspot v wordpressBlogspot v wordpress
Blogspot v wordpress
 
Pakkoruotsianimationfix
PakkoruotsianimationfixPakkoruotsianimationfix
Pakkoruotsianimationfix
 
25 de mayo
25 de mayo25 de mayo
25 de mayo
 
Poetry dedication
Poetry dedicationPoetry dedication
Poetry dedication
 
Kimia bahan alam 2
Kimia bahan alam 2Kimia bahan alam 2
Kimia bahan alam 2
 
SuperGroup Website Review
SuperGroup Website ReviewSuperGroup Website Review
SuperGroup Website Review
 
Penggunaan antasida
Penggunaan antasidaPenggunaan antasida
Penggunaan antasida
 
Bahan alam 5
Bahan alam 5Bahan alam 5
Bahan alam 5
 
Kti (membuat proposal)
Kti (membuat proposal)Kti (membuat proposal)
Kti (membuat proposal)
 
PERBEDAAN SKALA GUTTMAN DAN SKALA LIKERT
PERBEDAAN SKALA GUTTMAN DAN SKALA LIKERTPERBEDAAN SKALA GUTTMAN DAN SKALA LIKERT
PERBEDAAN SKALA GUTTMAN DAN SKALA LIKERT
 
Format jurnal ilmiah
Format jurnal ilmiahFormat jurnal ilmiah
Format jurnal ilmiah
 
Terapi Hipertensi non Farmakologis
Terapi Hipertensi non FarmakologisTerapi Hipertensi non Farmakologis
Terapi Hipertensi non Farmakologis
 
materi perbandingan smp kelas 7
materi perbandingan smp kelas 7materi perbandingan smp kelas 7
materi perbandingan smp kelas 7
 

Similar to Part1 my

Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing ToolsDr Ganesh Iyer
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lessonSadaaki Emura
 
Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Andrey Oleynik
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalQA or the Highway
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automationEran Kinsbrunner
 
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...Imaginet
 
FUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemFUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemQualitest
 
Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Jeff Bramwell
 
May: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and ChallengesMay: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and ChallengesTriTAUG
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environmentMatanGoren
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsTest Automaton
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test CompleteVartika Saxena
 
Performance testing with VSTs on- and off-premises
Performance testing with VSTs on-  and off-premisesPerformance testing with VSTs on-  and off-premises
Performance testing with VSTs on- and off-premisesJeff Bramwell
 
Structured Functional Automated Web Service Testing
Structured Functional Automated Web Service TestingStructured Functional Automated Web Service Testing
Structured Functional Automated Web Service Testingrdekleijn
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfQA or the Highway
 
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
 
Automated Developer Testing: Achievements and Challenges
Automated Developer Testing: Achievements and ChallengesAutomated Developer Testing: Achievements and Challenges
Automated Developer Testing: Achievements and ChallengesTao Xie
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Shelley Lambert
 

Similar to Part1 my (20)

Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lesson
 
Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh Dahal
 
New trends in testing automation
New trends in testing automationNew trends in testing automation
New trends in testing automation
 
QAorHighway2016
QAorHighway2016QAorHighway2016
QAorHighway2016
 
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...
Getting Started with Visual Studio’s Coded UI Testing: Building Your First Au...
 
FUNTASY - Functional testing automated system
FUNTASY - Functional testing automated systemFUNTASY - Functional testing automated system
FUNTASY - Functional testing automated system
 
Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?Visual studio 2012 - What's in it for me?
Visual studio 2012 - What's in it for me?
 
May: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and ChallengesMay: Automated Developer Testing: Achievements and Challenges
May: Automated Developer Testing: Achievements and Challenges
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test Complete
 
Performance testing with VSTs on- and off-premises
Performance testing with VSTs on-  and off-premisesPerformance testing with VSTs on-  and off-premises
Performance testing with VSTs on- and off-premises
 
Structured Functional Automated Web Service Testing
Structured Functional Automated Web Service TestingStructured Functional Automated Web Service Testing
Structured Functional Automated Web Service Testing
 
KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
 
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
 
Automated Developer Testing: Achievements and Challenges
Automated Developer Testing: Achievements and ChallengesAutomated Developer Testing: Achievements and Challenges
Automated Developer Testing: Achievements and Challenges
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014
 

Part1 my

  • 2. Type of testing • Desktop application • Web-application • Web-services • Data Base
  • 3. Different scripting approaches • Record and playback • Linear scripting • Modular scripting • Data-driven testing • Keyword-driven testing
  • 4. Record and playback • Capture interaction with system and replay it • Popular approach among commercial tools
  • 5. Record and playback: Benefits • Very easy and fast to create initially • No programming skills needed
  • 6. Record and playback: Problems • Does not test anything unless checkpoints added • Very fragile 1. Often single change in UI can break all tests • Hard to maintain 1. Plenty of separate test scripts 2. No modularity or reuse • System must be ready before automation can start 1. Does not support acceptance test driven development (ATDD)
  • 7. Linear scripting • Non-structured scripts interact directly with the system under test (SUT) • Can use any programming language • Also produced by capture and replay tools
  • 8. Linear scripting: Example import unittest from selenium import webdriver class Login(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() def tearDown(self): self.driver.quit() def test_login(self): driver = self.driver driver.get('http://testurl') username = driver.find_element_by_name('user_id') submit_button = driver. find_element_by_xpath(“//a*contains(@class,’a1’)+”) username.send_keys('admin') submit_button.click()
  • 9. Linear scripting: Benefits • Fast to create initially • Flexible • Can use common scripting languages • No license costs
  • 10. Data-driven testing • Test data taken out of test scripts • Customarily presented in tabular format • One driver script can execute multiple similar tests • New driver script still needed for different kinds of tests
  • 11. Data-driven testing: Example Test Case Number 1 Operation Number 2 Expected TC1 1 + 3 4 TC2 2 * 4 8
  • 12. Keyword-driven testing • Not only test data but also directives (keywords) telling how to use the data taken out of the test scripts • Keywords and the test data associated with them drive test execution
  • 13. Keyword-driven testing: Example Action Selector Data insertText #example_id Test_Text
  • 14. Generic skills to learn • Scripting languages (Python, Java, C#, Javascript, ... ) • Regular expressions • XPath and CSS selectors • SQL • Using version control
  • 15. Tools for automation testing • Selenium (IDE, driver) – Web application • Apache Jmeter (Performance, Load testing) – Web services • Test complete – Desktop + Web • QTP – Desktop + Web • Silk Test – Desktop + Web • AutoIT – Desktop (Windows) • White – Desktop (Windows) • Automator – (Mac OS) • Silkuli – cross-platform