SlideShare a Scribd company logo
Test Automation Lesson
Version 1.0 (9th July 2019)
Sadaaki Emura
Agenda
1. Purpose of Test Automation
2. Test automation tool
3. Test automation process (End to End test)
4. Test automation pyramid
Scope
 System under test is Web Application (Browser , Native app)
 Target test level is System Test (End to End)
Purpose of test automation
Purpose of Test Automation
What test automation does
• Set up test preconditions (build server, docker, set up app, create test data etc)
• Execute tests
• Validation (compare actual outcomes to expected outcomes)
@いらすとや
Purpose of Test Automation
What effect comes
• Improve test efficiency
• Provide wider function coverage (improve test coverage)
• Reduce the total test cost
• Speed up test execution , quick feedback , increase the test cycle
@いらすとや
Advantages & Disadvantage Test Automation
Advantage
• Run test repeatedly, faster
• Can do test that cannot be done by manual (complex, wide coverage, repeat)
• Reduce human operation error, improve consistency of tests
• Effective and efficient use of testing resource
Disadvantage
• Additional cost for scripting and maintenance
• Require additional technologies , skills
• Need maintenance ( update script, run stable )
• Test can be more complex
• Additional investigation for errors by automation
Limitation
• Not all manual tests can be automated
• Can only check machine-understandable results
• can only check actual results with test oracle prepared (compare)
• Cannot do exploratory testing
Test automation tool
Tool depend on Test level
@wikipedia
• Requirements and architecture phase
• Check documentation format, proofreading
• Ex. RedPen, ClearDoc
• Implementation
• Statistic analysis
• check coding rule, bug, security issue
• Ex. Coverity , Adlint
• Dynamic analysis (Unit test)
• Check program specification by unit level, white-box
• Ex. Junit, PHPinit
• Integration test and verification
• Check interface level (API)
• Ex. SoapUI
• System Verification and Validation
• Check End to End level, load test, security test
• Ex. Selenium, Appium, Ranorex, UFT
End to End test automation tool
How to
recognize object
License Technical skill
Ranorex Id, XPath Not free Middle level
UFT Id, XPath Not free Middle level
Selenium IDE Id, XPath Free Low level
Eggplant Image Not free Middle level
Selenium +
Webdriver
Id, XPath Free High level
How to recognize objects
Class , Id Xpath
Test automation process (End to End test)
Test Automation process
1. Test scope
2. Test design
3. Coding design
4. Setup scripting environment (System Under Test)
5. Script code
6. Check test automation
7. Run test automation, evolve into Continuous Integration
8. Maintain test automation
Test Automation process
1.Test scope
Decide which area , function should be automated
• Collaborate with manual testing
• Consider cost and building time
Sample standard
• No scope automation cannot do test
• No scope the functions scripting is complex
• No scope scenario reproduce is difficult
• No scope test is seldom used
• No scope the functions specification is changed frequently
Test Automation process
2.Test design
Test automation is same as app.
That’s why test automation specification is needed.
Test design is same as this specification.
• Basically same as manual test design / scenario
• Clarify step, what is validated and what is expectation for machine to understand
• Clarify what is not automated (constraint) in this step to cover it by manual testing
Test Automation process
3.Coding design
Consider architecture same as app programing
• Simple code, coding rule
• Maintainability (library , object oriented re-usable)
• Performance ( minimum steps )
• Data driven ( data and script are separated )
• Keyword driven ( encapsulation steps )
• Consistency ( initialize, tear down )
• Sensitive and robust
Data driven
Capture
1. Input ‘testuser001’ in userid
2. Input ‘abcdefg’ in password
3. Click ‘login’
Data driven
1. Input $userid in userid
2. Input $password in password
3. Click ‘login’
Data source
userid , password
testuser001 , abcdefg
testuser002 , hijklmn
Separate step and data
Reusability
Maintainability
Sensitive and robust
How volume do test automation validate?
Sensitive
• Compare many information to validate
• Coding cost increase
• Easy to fail by little change UI
Robust
• Limit little information to compare
• Coding cost is a small
• Difficult to fail by little change UI
• Miss bug often
Test Automation process
4.Setup scripting environment (System Under Test)
build test environment
• Script test code based on this environment
• If this system does not work, it’s difficult to script code
• If system UI include DOM level was changed , code might be remade
5.Script code
• Recognize object by id, XPath, image etc.
• Build step
• Set validation that compare actual with expectation
When can we start scripting ?
Ex. Waterfall model
requireme
nt
Design coding test release
Class, id 設計する?
Build environment
When is system stable ?
Actually we can
start scripting
Test Automation process
6.Check test automation
• Run script and check if test automation is correct
• Basically if app has bug, test automation might not be correct even if it works successfully
• Need to do failed test pattern
• Check if report is enough
7.Run test automation, evolve into Continuous Integration
• Do test
• Use for contentious integration
Test Automation process
8.Maintain test automation
• Increase coverage
• Up-to-date app specification
• Up-to-date test automation tool version, test device version
• Monitor test results from CI
• Monitor performance , tune up script
• Check flaky test script, investigate and fix it
• Delete unused , un-useful test script
• Reduce task dependency in CI
• Visualize metrics ( success/failed , performance )
• Keep good data ( delete unnecessary data )
Test automation pyramid
Test Automation pyramid
(c) OnTestAutomation
Top Layer : User interface tests
• Scripting test and execution takes long time
• Environment is unstable
Base Layer : Unit tests
• Script test and execute quickly
• Difficult to find integration bugs
• Analyze and fix Bug are easy

More Related Content

What's hot

Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testing
Kanoah
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
Sun Technlogies
 
KeytorcTestTalks #11 - Onur Başkirt, Agile Test Management with Testrail
KeytorcTestTalks #11 - Onur Başkirt, Agile Test Management with Testrail KeytorcTestTalks #11 - Onur Başkirt, Agile Test Management with Testrail
KeytorcTestTalks #11 - Onur Başkirt, Agile Test Management with Testrail Keytorc Software Testing Services
 
Test Automation failure analysis
Test Automation failure analysisTest Automation failure analysis
Test Automation failure analysis
Prashant Chaudhary
 
Testing automation in agile environment
Testing automation in agile environmentTesting automation in agile environment
Testing automation in agile environment
Perfecto Mobile
 
Automation Framework/QTP Framework
Automation Framework/QTP FrameworkAutomation Framework/QTP Framework
Automation Framework/QTP Framework
HeyDay Software Solutions
 
Wso2con test-automation
Wso2con test-automationWso2con test-automation
Wso2con test-automation
krishantha_samaraweera
 
Automation testing
Automation testingAutomation testing
Automation testing
Biswajit Pratihari
 
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
QA or the Highway
 
End-to-End Test Automation for Both Horizontal and Vertical Scale
End-to-End Test Automation for Both Horizontal and Vertical ScaleEnd-to-End Test Automation for Both Horizontal and Vertical Scale
End-to-End Test Automation for Both Horizontal and Vertical Scale
Erdem YILDIRIM
 
30 of the best free software test tools in 60 minutes by Jess Lancaster
30 of the best free software test tools in 60 minutes by Jess Lancaster30 of the best free software test tools in 60 minutes by Jess Lancaster
30 of the best free software test tools in 60 minutes by Jess Lancaster
QA or the Highway
 
5 top pain points of test automation
5 top pain points of test automation5 top pain points of test automation
5 top pain points of test automation
Mikalai Alimenkou
 
Test automation
Test automationTest automation
Test automation
Xavier Yin
 
Test Automation
Test AutomationTest Automation
Test Automation
rockoder
 
Demo1ghjkl
Demo1ghjklDemo1ghjkl
Demo1ghjkl
crazyvirtue
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
ClareMcLennan
 
The Fitnesse Fix
The Fitnesse FixThe Fitnesse Fix
The Fitnesse Fix
Skills Matter
 
Roman iovlev battle - JDI vs Selenide - Selenium Camp
Roman iovlev battle - JDI vs Selenide - Selenium CampRoman iovlev battle - JDI vs Selenide - Selenium Camp
Roman iovlev battle - JDI vs Selenide - Selenium Camp
Роман Иовлев
 
Agile test-management-test-rail-lastest
Agile test-management-test-rail-lastestAgile test-management-test-rail-lastest
Agile test-management-test-rail-lastest
Onur Baskirt
 
Test Automation Architecture in Microservices
Test Automation Architecture in MicroservicesTest Automation Architecture in Microservices
Test Automation Architecture in Microservices
Alper Mermer
 

What's hot (20)

Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testing
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
 
KeytorcTestTalks #11 - Onur Başkirt, Agile Test Management with Testrail
KeytorcTestTalks #11 - Onur Başkirt, Agile Test Management with Testrail KeytorcTestTalks #11 - Onur Başkirt, Agile Test Management with Testrail
KeytorcTestTalks #11 - Onur Başkirt, Agile Test Management with Testrail
 
Test Automation failure analysis
Test Automation failure analysisTest Automation failure analysis
Test Automation failure analysis
 
Testing automation in agile environment
Testing automation in agile environmentTesting automation in agile environment
Testing automation in agile environment
 
Automation Framework/QTP Framework
Automation Framework/QTP FrameworkAutomation Framework/QTP Framework
Automation Framework/QTP Framework
 
Wso2con test-automation
Wso2con test-automationWso2con test-automation
Wso2con test-automation
 
Automation testing
Automation testingAutomation testing
Automation testing
 
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
 
End-to-End Test Automation for Both Horizontal and Vertical Scale
End-to-End Test Automation for Both Horizontal and Vertical ScaleEnd-to-End Test Automation for Both Horizontal and Vertical Scale
End-to-End Test Automation for Both Horizontal and Vertical Scale
 
30 of the best free software test tools in 60 minutes by Jess Lancaster
30 of the best free software test tools in 60 minutes by Jess Lancaster30 of the best free software test tools in 60 minutes by Jess Lancaster
30 of the best free software test tools in 60 minutes by Jess Lancaster
 
5 top pain points of test automation
5 top pain points of test automation5 top pain points of test automation
5 top pain points of test automation
 
Test automation
Test automationTest automation
Test automation
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Demo1ghjkl
Demo1ghjklDemo1ghjkl
Demo1ghjkl
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
The Fitnesse Fix
The Fitnesse FixThe Fitnesse Fix
The Fitnesse Fix
 
Roman iovlev battle - JDI vs Selenide - Selenium Camp
Roman iovlev battle - JDI vs Selenide - Selenium CampRoman iovlev battle - JDI vs Selenide - Selenium Camp
Roman iovlev battle - JDI vs Selenide - Selenium Camp
 
Agile test-management-test-rail-lastest
Agile test-management-test-rail-lastestAgile test-management-test-rail-lastest
Agile test-management-test-rail-lastest
 
Test Automation Architecture in Microservices
Test Automation Architecture in MicroservicesTest Automation Architecture in Microservices
Test Automation Architecture in Microservices
 

Similar to Test automation lesson

Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbsModule 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Shivang100
 
Lightning Talks by Globant - Automation (This app runs by itself )
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself )
Globant
 
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
Bhavin Javia
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
Murageppa-QA
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test CompleteVartika Saxena
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014
Clever Moe
 
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
Clever Moe
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Clever Moe
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
ANKUR-BA
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
Sachin-QA
 
Clean Code in Test Automation Differentiating Between the Good and the Bad
Clean Code in Test Automation  Differentiating Between the Good and the BadClean Code in Test Automation  Differentiating Between the Good and the Bad
Clean Code in Test Automation Differentiating Between the Good and the Bad
Knoldus Inc.
 
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
Quontra Solutions
 
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
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
Fayis-QA
 
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdfTest Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Diana Gray, MBA
 
Qa case study
Qa case studyQa case study
Qa case study
hopperdev
 
Qtp - Introduction values
Qtp - Introduction valuesQtp - Introduction values
Qtp - Introduction values
Vibrant Technologies & Computers
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
BabuDevanandam
 
E2 e test with testcafe
E2 e test with testcafeE2 e test with testcafe
E2 e test with testcafe
Malang QA Community
 

Similar to Test automation lesson (20)

Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbsModule 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
 
Lightning Talks by Globant - Automation (This app runs by itself )
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself )
 
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
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test Complete
 
Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014Continuous Integration, Deploy, Test From Beginning To End 2014
Continuous Integration, Deploy, Test From Beginning To End 2014
 
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test AutomationSTARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
STARWest: Use Jenkins For Continuous 
Load Testing And Mobile Test Automation
 
Use Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test AutomationUse Jenkins For Continuous Load Testing And Mobile Test Automation
Use Jenkins For Continuous Load Testing And Mobile Test Automation
 
Automation Tool Overview
Automation Tool OverviewAutomation Tool Overview
Automation Tool Overview
 
Automation Tools Overview
Automation Tools OverviewAutomation Tools Overview
Automation Tools Overview
 
Clean Code in Test Automation Differentiating Between the Good and the Bad
Clean Code in Test Automation  Differentiating Between the Good and the BadClean Code in Test Automation  Differentiating Between the Good and the Bad
Clean Code in Test Automation Differentiating Between the Good and the Bad
 
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
 
QAorHighway2016
QAorHighway2016QAorHighway2016
QAorHighway2016
 
Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)Lecture #6. automation testing (andrey oleynik)
Lecture #6. automation testing (andrey oleynik)
 
Introduction to Automation Testing
Introduction to Automation TestingIntroduction to Automation Testing
Introduction to Automation Testing
 
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdfTest Automation using UiPath Test Suite - Developer Circle Part-2.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-2.pdf
 
Qa case study
Qa case studyQa case study
Qa case study
 
Qtp - Introduction values
Qtp - Introduction valuesQtp - Introduction values
Qtp - Introduction values
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
 
E2 e test with testcafe
E2 e test with testcafeE2 e test with testcafe
E2 e test with testcafe
 

More from Sadaaki Emura

Test Automation Journey 2023 useful knowledge to start test automation
Test Automation Journey  2023 useful knowledge to start test automationTest Automation Journey  2023 useful knowledge to start test automation
Test Automation Journey 2023 useful knowledge to start test automation
Sadaaki Emura
 
What is Unit Testing
What is Unit TestingWhat is Unit Testing
What is Unit Testing
Sadaaki Emura
 
20220527_JaSST'22 Tohoku
20220527_JaSST'22 Tohoku20220527_JaSST'22 Tohoku
20220527_JaSST'22 Tohoku
Sadaaki Emura
 
How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2
Sadaaki Emura
 
20211221 jasst nano_test automation operation
20211221 jasst nano_test automation operation20211221 jasst nano_test automation operation
20211221 jasst nano_test automation operation
Sadaaki Emura
 
20191029 automation struggle
20191029 automation struggle 20191029 automation struggle
20191029 automation struggle
Sadaaki Emura
 
basic of Test automation installation
basic of Test automation installation basic of Test automation installation
basic of Test automation installation
Sadaaki Emura
 
20190531 jasst19 tohoku
20190531 jasst19 tohoku20190531 jasst19 tohoku
20190531 jasst19 tohoku
Sadaaki Emura
 
Struggles and Challenges in STLC in Ques No.13
Struggles and Challenges in STLC in Ques No.13Struggles and Challenges in STLC in Ques No.13
Struggles and Challenges in STLC in Ques No.13
Sadaaki Emura
 
20190424 q ameetup-m -publish
20190424 q ameetup-m -publish20190424 q ameetup-m -publish
20190424 q ameetup-m -publish
Sadaaki Emura
 
20181211 QA meetup in office
20181211 QA meetup in office20181211 QA meetup in office
20181211 QA meetup in office
Sadaaki Emura
 
JaSST'18 Hokkaido Improve Automation Testing
JaSST'18 Hokkaido Improve Automation TestingJaSST'18 Hokkaido Improve Automation Testing
JaSST'18 Hokkaido Improve Automation Testing
Sadaaki Emura
 
Istqb : Test automation Engineer
Istqb : Test automation EngineerIstqb : Test automation Engineer
Istqb : Test automation Engineer
Sadaaki Emura
 
20180828 QA meetup
20180828 QA meetup20180828 QA meetup
20180828 QA meetup
Sadaaki Emura
 
QA improvement
QA improvementQA improvement
QA improvement
Sadaaki Emura
 

More from Sadaaki Emura (15)

Test Automation Journey 2023 useful knowledge to start test automation
Test Automation Journey  2023 useful knowledge to start test automationTest Automation Journey  2023 useful knowledge to start test automation
Test Automation Journey 2023 useful knowledge to start test automation
 
What is Unit Testing
What is Unit TestingWhat is Unit Testing
What is Unit Testing
 
20220527_JaSST'22 Tohoku
20220527_JaSST'22 Tohoku20220527_JaSST'22 Tohoku
20220527_JaSST'22 Tohoku
 
How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2How to introduce test automation in VeriServe Test Automation Talk #2
How to introduce test automation in VeriServe Test Automation Talk #2
 
20211221 jasst nano_test automation operation
20211221 jasst nano_test automation operation20211221 jasst nano_test automation operation
20211221 jasst nano_test automation operation
 
20191029 automation struggle
20191029 automation struggle 20191029 automation struggle
20191029 automation struggle
 
basic of Test automation installation
basic of Test automation installation basic of Test automation installation
basic of Test automation installation
 
20190531 jasst19 tohoku
20190531 jasst19 tohoku20190531 jasst19 tohoku
20190531 jasst19 tohoku
 
Struggles and Challenges in STLC in Ques No.13
Struggles and Challenges in STLC in Ques No.13Struggles and Challenges in STLC in Ques No.13
Struggles and Challenges in STLC in Ques No.13
 
20190424 q ameetup-m -publish
20190424 q ameetup-m -publish20190424 q ameetup-m -publish
20190424 q ameetup-m -publish
 
20181211 QA meetup in office
20181211 QA meetup in office20181211 QA meetup in office
20181211 QA meetup in office
 
JaSST'18 Hokkaido Improve Automation Testing
JaSST'18 Hokkaido Improve Automation TestingJaSST'18 Hokkaido Improve Automation Testing
JaSST'18 Hokkaido Improve Automation Testing
 
Istqb : Test automation Engineer
Istqb : Test automation EngineerIstqb : Test automation Engineer
Istqb : Test automation Engineer
 
20180828 QA meetup
20180828 QA meetup20180828 QA meetup
20180828 QA meetup
 
QA improvement
QA improvementQA improvement
QA improvement
 

Recently uploaded

The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
Osamah Alsalih
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
Kamal Acharya
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
Kamal Acharya
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
Massimo Talia
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 

Recently uploaded (20)

The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
MCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdfMCQ Soil mechanics questions (Soil shear strength).pdf
MCQ Soil mechanics questions (Soil shear strength).pdf
 
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdfCOLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
COLLEGE BUS MANAGEMENT SYSTEM PROJECT REPORT.pdf
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
Automobile Management System Project Report.pdf
Automobile Management System Project Report.pdfAutomobile Management System Project Report.pdf
Automobile Management System Project Report.pdf
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024Nuclear Power Economics and Structuring 2024
Nuclear Power Economics and Structuring 2024
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 

Test automation lesson

  • 1. Test Automation Lesson Version 1.0 (9th July 2019) Sadaaki Emura
  • 2. Agenda 1. Purpose of Test Automation 2. Test automation tool 3. Test automation process (End to End test) 4. Test automation pyramid
  • 3. Scope  System under test is Web Application (Browser , Native app)  Target test level is System Test (End to End)
  • 4. Purpose of test automation
  • 5. Purpose of Test Automation What test automation does • Set up test preconditions (build server, docker, set up app, create test data etc) • Execute tests • Validation (compare actual outcomes to expected outcomes) @いらすとや
  • 6. Purpose of Test Automation What effect comes • Improve test efficiency • Provide wider function coverage (improve test coverage) • Reduce the total test cost • Speed up test execution , quick feedback , increase the test cycle @いらすとや
  • 7. Advantages & Disadvantage Test Automation Advantage • Run test repeatedly, faster • Can do test that cannot be done by manual (complex, wide coverage, repeat) • Reduce human operation error, improve consistency of tests • Effective and efficient use of testing resource Disadvantage • Additional cost for scripting and maintenance • Require additional technologies , skills • Need maintenance ( update script, run stable ) • Test can be more complex • Additional investigation for errors by automation Limitation • Not all manual tests can be automated • Can only check machine-understandable results • can only check actual results with test oracle prepared (compare) • Cannot do exploratory testing
  • 9. Tool depend on Test level @wikipedia • Requirements and architecture phase • Check documentation format, proofreading • Ex. RedPen, ClearDoc • Implementation • Statistic analysis • check coding rule, bug, security issue • Ex. Coverity , Adlint • Dynamic analysis (Unit test) • Check program specification by unit level, white-box • Ex. Junit, PHPinit • Integration test and verification • Check interface level (API) • Ex. SoapUI • System Verification and Validation • Check End to End level, load test, security test • Ex. Selenium, Appium, Ranorex, UFT
  • 10. End to End test automation tool How to recognize object License Technical skill Ranorex Id, XPath Not free Middle level UFT Id, XPath Not free Middle level Selenium IDE Id, XPath Free Low level Eggplant Image Not free Middle level Selenium + Webdriver Id, XPath Free High level
  • 11. How to recognize objects Class , Id Xpath
  • 12. Test automation process (End to End test)
  • 13. Test Automation process 1. Test scope 2. Test design 3. Coding design 4. Setup scripting environment (System Under Test) 5. Script code 6. Check test automation 7. Run test automation, evolve into Continuous Integration 8. Maintain test automation
  • 14. Test Automation process 1.Test scope Decide which area , function should be automated • Collaborate with manual testing • Consider cost and building time Sample standard • No scope automation cannot do test • No scope the functions scripting is complex • No scope scenario reproduce is difficult • No scope test is seldom used • No scope the functions specification is changed frequently
  • 15. Test Automation process 2.Test design Test automation is same as app. That’s why test automation specification is needed. Test design is same as this specification. • Basically same as manual test design / scenario • Clarify step, what is validated and what is expectation for machine to understand • Clarify what is not automated (constraint) in this step to cover it by manual testing
  • 16. Test Automation process 3.Coding design Consider architecture same as app programing • Simple code, coding rule • Maintainability (library , object oriented re-usable) • Performance ( minimum steps ) • Data driven ( data and script are separated ) • Keyword driven ( encapsulation steps ) • Consistency ( initialize, tear down ) • Sensitive and robust
  • 17. Data driven Capture 1. Input ‘testuser001’ in userid 2. Input ‘abcdefg’ in password 3. Click ‘login’ Data driven 1. Input $userid in userid 2. Input $password in password 3. Click ‘login’ Data source userid , password testuser001 , abcdefg testuser002 , hijklmn Separate step and data Reusability Maintainability
  • 18. Sensitive and robust How volume do test automation validate? Sensitive • Compare many information to validate • Coding cost increase • Easy to fail by little change UI Robust • Limit little information to compare • Coding cost is a small • Difficult to fail by little change UI • Miss bug often
  • 19. Test Automation process 4.Setup scripting environment (System Under Test) build test environment • Script test code based on this environment • If this system does not work, it’s difficult to script code • If system UI include DOM level was changed , code might be remade 5.Script code • Recognize object by id, XPath, image etc. • Build step • Set validation that compare actual with expectation
  • 20. When can we start scripting ? Ex. Waterfall model requireme nt Design coding test release Class, id 設計する? Build environment When is system stable ? Actually we can start scripting
  • 21. Test Automation process 6.Check test automation • Run script and check if test automation is correct • Basically if app has bug, test automation might not be correct even if it works successfully • Need to do failed test pattern • Check if report is enough 7.Run test automation, evolve into Continuous Integration • Do test • Use for contentious integration
  • 22. Test Automation process 8.Maintain test automation • Increase coverage • Up-to-date app specification • Up-to-date test automation tool version, test device version • Monitor test results from CI • Monitor performance , tune up script • Check flaky test script, investigate and fix it • Delete unused , un-useful test script • Reduce task dependency in CI • Visualize metrics ( success/failed , performance ) • Keep good data ( delete unnecessary data )
  • 24. Test Automation pyramid (c) OnTestAutomation Top Layer : User interface tests • Scripting test and execution takes long time • Environment is unstable Base Layer : Unit tests • Script test and execute quickly • Difficult to find integration bugs • Analyze and fix Bug are easy