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
Ad

More Related Content

What's hot (20)

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
 
Automated vs manual testing
Automated vs manual testingAutomated vs manual testing
Automated vs manual testing
Kanoah
 
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
 
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
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
ClareMcLennan
 
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
 

Similar to Test automation lesson (20)

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 Complete
Vartika 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
 
QAorHighway2016
QAorHighway2016QAorHighway2016
QAorHighway2016
Bhupesh Dahal
 
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
 
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 Complete
Vartika 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
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
BabuDevanandam
 
Ad

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
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
 
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
 
Ad

Recently uploaded (20)

Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
The Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLabThe Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLab
Journal of Soft Computing in Civil Engineering
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
π0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalizationπ0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalization
NABLAS株式会社
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
railway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forgingrailway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forging
Javad Kadkhodapour
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
Mathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdfMathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdf
TalhaShahid49
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
DSP and MV the Color image processing.ppt
DSP and MV the  Color image processing.pptDSP and MV the  Color image processing.ppt
DSP and MV the Color image processing.ppt
HafizAhamed8
 
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Process Parameter Optimization for Minimizing Springback in Cold Drawing Proc...
Journal of Soft Computing in Civil Engineering
 
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Development of MLR, ANN and ANFIS Models for Estimation of PCUs at Different ...
Journal of Soft Computing in Civil Engineering
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
Compiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptxCompiler Design_Lexical Analysis phase.pptx
Compiler Design_Lexical Analysis phase.pptx
RushaliDeshmukh2
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
π0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalizationπ0.5: a Vision-Language-Action Model with Open-World Generalization
π0.5: a Vision-Language-Action Model with Open-World Generalization
NABLAS株式会社
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E..."Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
"Boiler Feed Pump (BFP): Working, Applications, Advantages, and Limitations E...
Infopitaara
 
railway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forgingrailway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forging
Javad Kadkhodapour
 
Compiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptxCompiler Design Unit1 PPT Phases of Compiler.pptx
Compiler Design Unit1 PPT Phases of Compiler.pptx
RushaliDeshmukh2
 
Mathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdfMathematical foundation machine learning.pdf
Mathematical foundation machine learning.pdf
TalhaShahid49
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
DSP and MV the Color image processing.ppt
DSP and MV the  Color image processing.pptDSP and MV the  Color image processing.ppt
DSP and MV the Color image processing.ppt
HafizAhamed8
 
Level 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical SafetyLevel 1-Safety.pptx Presentation of Electrical Safety
Level 1-Safety.pptx Presentation of Electrical Safety
JoseAlbertoCariasDel
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITYADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ADVXAI IN MALWARE ANALYSIS FRAMEWORK: BALANCING EXPLAINABILITY WITH SECURITY
ijscai
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 

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