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

PPTX
Test automation engineer
PPTX
Test Automation Improvement by Machine Learning Jasst'21 Tokyo
PPTX
20200630 Rakuten QA meetup #2 "Improve test automation operation"
PPTX
ISTQB Advanced Test Manager Training
PPTX
ISTQB Foundation and Selenium Java Automation Testing
PPTX
Test management struggles and challenges in SDLC
PPTX
Test Automation Architecture That Works by Bhupesh Dahal
PPTX
5 Considerations When Adopting Automated Testing
Test automation engineer
Test Automation Improvement by Machine Learning Jasst'21 Tokyo
20200630 Rakuten QA meetup #2 "Improve test automation operation"
ISTQB Advanced Test Manager Training
ISTQB Foundation and Selenium Java Automation Testing
Test management struggles and challenges in SDLC
Test Automation Architecture That Works by Bhupesh Dahal
5 Considerations When Adopting Automated Testing

What's hot (20)

PDF
Automated vs manual testing
PPTX
Automation Testing
PDF
KeytorcTestTalks #11 - Onur Başkirt, Agile Test Management with Testrail
PPTX
Test Automation failure analysis
PDF
Testing automation in agile environment
PPT
Automation Framework/QTP Framework
PDF
Wso2con test-automation
PPT
Automation testing
PDF
Developing a test automation strategy by Brian Bayer
PDF
End-to-End Test Automation for Both Horizontal and Vertical Scale
PDF
30 of the best free software test tools in 60 minutes by Jess Lancaster
PPTX
5 top pain points of test automation
PPTX
Test automation
PDF
Test Automation
PPT
Demo1ghjkl
PDF
Agile Acceptance testing with Fitnesse
PDF
The Fitnesse Fix
PPTX
Roman iovlev battle - JDI vs Selenide - Selenium Camp
PPTX
Agile test-management-test-rail-lastest
PPTX
Test Automation Architecture in Microservices
Automated vs manual testing
Automation Testing
KeytorcTestTalks #11 - Onur Başkirt, Agile Test Management with Testrail
Test Automation failure analysis
Testing automation in agile environment
Automation Framework/QTP Framework
Wso2con test-automation
Automation testing
Developing a test automation strategy by Brian Bayer
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
5 top pain points of test automation
Test automation
Test Automation
Demo1ghjkl
Agile Acceptance testing with Fitnesse
The Fitnesse Fix
Roman iovlev battle - JDI vs Selenide - Selenium Camp
Agile test-management-test-rail-lastest
Test Automation Architecture in Microservices
Ad

Similar to Test automation lesson (20)

PPSX
Software automation
PPTX
Karishma Kolli – Myth Busters on Test Automation
PPTX
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
PPTX
5. Automation Testing.pptxSoftawre Quality
PPTX
Real Testing Scenario Strategy - Bringing It All Together For Success
PDF
SauceCon 2017: Making Your Mobile App Automatable
PDF
Understanding the Basics of Automation Testing.pdf
PPTX
Lecture-11-AutomatedTesting-software.pptx
PPTX
TEST AUTOMATION for S/W Q/A Process.pptx
PPT
Automation Concepts
PPTX
Test Automation Techniques for Windows Applications
PPTX
It's Automation, Not Automagic
PPTX
How to make Automation an asset for Organization
PDF
Test Automation
PDF
Automated testing-whitepaper
PPTX
Master-Automation-Testing-and-Boost-Your-Tech-Career (1).pptx
PDF
5 Steps to Jump Start Your Test Automation
PDF
Mastering Software Test Automation: A Comprehensive Guide for Beginners and E...
PDF
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
PPTX
Real Testing Scenario Strategy Practical TestOps Presentation
Software automation
Karishma Kolli – Myth Busters on Test Automation
Module 4.pptxbsbsnsnsnsbsbbsjsjzbsbbsbsbsbs
5. Automation Testing.pptxSoftawre Quality
Real Testing Scenario Strategy - Bringing It All Together For Success
SauceCon 2017: Making Your Mobile App Automatable
Understanding the Basics of Automation Testing.pdf
Lecture-11-AutomatedTesting-software.pptx
TEST AUTOMATION for S/W Q/A Process.pptx
Automation Concepts
Test Automation Techniques for Windows Applications
It's Automation, Not Automagic
How to make Automation an asset for Organization
Test Automation
Automated testing-whitepaper
Master-Automation-Testing-and-Boost-Your-Tech-Career (1).pptx
5 Steps to Jump Start Your Test Automation
Mastering Software Test Automation: A Comprehensive Guide for Beginners and E...
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
Real Testing Scenario Strategy Practical TestOps Presentation
Ad

More from Sadaaki Emura (15)

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

Recently uploaded (20)

PPTX
Sustainable Sites - Green Building Construction
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
DOCX
573137875-Attendance-Management-System-original
PPTX
additive manufacturing of ss316l using mig welding
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PPTX
Welding lecture in detail for understanding
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PDF
Well-logging-methods_new................
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
Model Code of Practice - Construction Work - 21102022 .pdf
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
web development for engineering and engineering
PDF
PPT on Performance Review to get promotions
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Sustainable Sites - Green Building Construction
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
573137875-Attendance-Management-System-original
additive manufacturing of ss316l using mig welding
Lesson 3_Tessellation.pptx finite Mathematics
Welding lecture in detail for understanding
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
Well-logging-methods_new................
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
CH1 Production IntroductoryConcepts.pptx
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Model Code of Practice - Construction Work - 21102022 .pdf
OOP with Java - Java Introduction (Basics)
MCN 401 KTU-2019-PPE KITS-MODULE 2.pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
web development for engineering and engineering
PPT on Performance Review to get promotions
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.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