SlideShare a Scribd company logo
1 of 46
Download to read offline
End to End Test Automation for Both
Horizontal and Vertical Scale
Erdem YILDIRIM
2000 – Software Developer
2006 – Discovered Test Automation &
Decided to be Test Engineer
2010 – Test Lead at Defence Technologies
and Engineering (STM)
2013 – Test Lead at İnnova
(Telecommunication)
About Me
Linkedin: https://tr.linkedin.com/in/erdem-yildirim-0b5ab466
E2E Test Automation
(Definition, Improvements, Vertical & Horizontal Scale,
Prerequisites, Advantages of Each Test Levels & Both Scales)
Test Automation Strategy
(Approaches, How to Form, Criteria/Principles, Key Factors For
a Successful Strategy, Gains)
E2E Test Automation Experiences
(ROI, The Problems Faced In the Process)
Need for Both Manual and Automated Testing
(Is Manual Tests Still Needed? Cross Tests)
Agenda
Agenda
E2E Test Automation
(Definition, Improvements, Vertical & Horizontal Scale,
Prerequisites, Advantages of Each Test Levels & Both Scales)
Test Automation Strategy
(Approaches, How to Form, Criteria/Principles, Key Factors For
a Successful Strategy, Gains)
E2E Test Automation Experiences
(ROI, The Problems Faced In the Process)
Need for Both Manual and Automated Testing
(Is Manual Tests Still Needed? Cross Tests)
Machines are great for running
repetetive / straightforward scenarios
that don’t require any intelligence or
experience.
Test Automation
End to end testing is verifying that all units of an
application and all subsystems of a system interact as
expected with each other that the system as a whole
works as intended.
E2E Test Automation
Ideal Software Test Automation Pyramid
UI
Tests
Integration
Tests
Unit Tests
Manual
(Scripted)
Test
It is OK that automating whole Unit,
Inregration, UI levels is great.
Can we improve it?
More Ideal One
CI–ContinuousIntegration
Exploratory
Test
An Extra Level: Test Data Preparation
How to prepare test dataset and bring
database to known state for test cases before
every test run?
Is Teardown Method OK?
Test Data Preparation Automation
Teardown Method with Automation
Setup
Exercise
Verify
Teardown
SUT
Install
Create
Return
ValuesIndirect
Inputs
Record
Mock
Object
Advantages of Automating
Test Data Preparation Phase
Faster coding,
Faster test executions,
Clean test environment,
Testing with real and more complex test data,
Loose coupling between data and code layers
Facilitates testing for multiple customers (each with a DB)
So, we were able to automate the
entire vertical E2E testing:
Unit, Inregration, UI
+Test Data Preparation levels
Can we improve it further?
E2E Test Automation
Horizontal & Vertical Scale
UI
Tests
Integration
Tests
Unit Tests
Test Data Preparation
CI–ContinuousIntegration
Horizontal E2E (UI & Integration Layer) Login / Add to Chart / Checkout / Pay
Vertical E2E
Implementing
tests on all level
of the pyramid
E2E Test Automation
Horizontal & Vertical Scale
UI
Tests
Integration
Tests
Unit Tests
Test Data Preparation
CI–ContinuousIntegration
Horizontal E2E (UI & Integration Layer) Login / Add to Chart / Checkout / Pay
Vertical E2E
Implementing
tests on all level
of the pyramid
Prerequisites of Horizontal E2E Tests
All system and subsystems’ test environments should
be ready.
If they are not ready, mocking work should be
performed.
Prerequisites of Vertical E2E Tests
Having a supporting test/development strategy like
TDD, BDD, Continuous Testing
It should be driven by all stakeholders (dev, tester,
pm, tl) in Project.
Advantages of Vertical and
Horizontal E2E Tests
Advantages of Horizontal E2E Tests:
High business logic coverage,
Testing from the user perspective,
Prevents production incidents,
Gives the confidence that everything is OK
Advantages of Vertical E2E Tests:
High code coverage,
Fast execution,
More determined and focussed tests,
Useful for especially safety critical softwares
UI
Tests
Integration
Tests
Unit Tests
Test
Type
Low
Medium
High
Business Logic
Coverage
Code
Coverage
Low
Medium
High
Execution
Time/Costs
Short/
Low
Medium
Long / High
E2E Test Automation
(Definition, Improvements, Vertical & Horizontal Scale,
Prerequisites, Advantages of Each Test Levels & Both Scales
Test Automation Strategy
(Approaches, How to Form, Criteria/Principles, Key Factors For
a Successful Strategy, Prerequisites, Gains)
E2E Test Automation Experiences
(ROI, The Problems Faced In the Process)
Need for Both Manual and Automated Testing
(Is Manual Tests Still Needed? Cross Tests)
Agenda
E2E Test Strategy
Which projects’ tests strategy should be
designed as E2E?
Can all tests be written as E2E ?
Test Strategy
I Put That Sh t on Everthing*
Alternate Test Automation Approach
Continuous Testing
To develop software within shorter delivery cycles; Agile, DevOps
and Continuous Delivery approaches are on the forefront.
Continuous Delivery supports Continuous Testing which is a
testing strategy that consists of a large number of automated unit
and acceptance tests but a small number of automated end-to-
end tests.
Continuous Testing claims that E2E tests are inefficient and they
should be limited.
It is a means of using Vertical E2E Test Automation effectively but
avoiding Horizontal E2E Test Automation
Which Test Automation Strategy
is the Best?
There isn’t one absolute strategy that is valid for
every SUT
Criteria / Principles
To Form Test Strategy
Test Types / Methodologies that your staff is strong,
Coverage Strategy: Business Logic Coverage or Code
Coverage
Execution Time Priority
Cost
These Criteria should be considered with the dynamics and needs
of Project, Staff, Company, Customer.
It is not an obligation to select & implement a strategy
strictly.
You can mix the approaches and form your own
strategy based on your needs.
It’s about finding the right balance.
Criteria / Principles
To Form Test Strategy
Key Factors To Form & Implement a
Successful Test Automation Strategy
Manage test releases effectively
Establish test measurement strategy & metrics
Establish test management strategy
Choose your test delivery model
Determine & implement test tools strategy
Assess your test & process maturity
Feasibility Analysis
Evaluation of Tools / Methodologies
Forming Automation Strategy (Plan, Design)
Implementation
Test & Maintain
Key Factors To Form & Implement a
Successful Test Automation Strategy
Based on Delivery Strategy
Automated test executions should be planned and
clear CI roadmap should be outlined based on
needs.
An Example
Automated Test Execution/CI Strategy
Based on Below Criteria
Delivery Velocity; should be fast so
smoke Unit test first, smoke UI test second,
full test sets last-after deploy in order.
Test Risk Level: Medium; smoke tests for all test types runs
before deployment. But it is risky to run full sets after
deployment, since bug could stay undetected.
Dev Team
Version
Control
Build & Unit
Tests
UI Test
Automation
(Smoke)
Deploy (Prod)
UI Test
Automation
(Smoke)
UI Test
Automation
(Full Set)
Monitoring
Dev CI Pre-Production Production
Check in
Trigger
Trigger
Approval
Approval
Approval
Approval
Feedback
Feedback
Feedback
Feedback
Feedback
Automated Test Runs
After Nightly Build [1]
• Unit Test
Automation
• Web Service Test
Automation
• UI Test Automation
(Full Set)
• Cross Browser &
Platform Tests
Automated Test Runs
After Weekly Build [2]
• Automated Non
Functional Tests
(Performance &
Load Tests)
• Static Code Quality
Analysis
Feedback
Feedback
Feedback
Communication
Collaboration
Automation
Living Documentation
Drives whole project team
Healthy test basis / requirements
Replaces scripted test with automation scripts
To Strengthen the Automation Process:
BDD – Behaviour Driven Development
Benefits
of E2E Test Automation
Velocity
Stability
Efficiency
Money
E2E Test Automation
(Definition, Improvements, Vertical & Horizontal Scale,
Prerequisites, Advantages of Each Test Levels & Both Scales
Test Automation Strategy
(Approaches, How to Form, Criteria/Principles, Key Factors For
a Successful Strategy, Prerequisites, Gains)
E2E Test Automation Experiences
(ROI, The Problems Faced In the Process)
Need for Both Manual and Automated Testing
(Is Manual Tests Still Needed? Cross Tests)
Agenda
E2E Test Automation
Experiences
7 active projects’ tests that are being automated
as E2E
ROI
Project Name # of E2E Test
Scenarios
Manual Test
Execution Time
Automation
Execution Time
Ratio of Saving
Legalite 235 6 Days (48 hrs) 1,5 Hour 32 times
HOPE 85 2 Days (16 hrs) 1 Hour 16 times
PROTTON 1200 5 Days (40 hrs) 2 Hours 20 times
TTSis 2000 8 Days (64 hrs) 3 Hours 21 times
Planor 110 3 Days (24 hrs) 2 Hours 12 times
TTS 120 2 Days (16 hrs) 1 Hour 16 times
ATS 30 1 Day (8 hrs) 1 Hour 8 times
Challenges / Problems Faced
In the Process
Technical
Staff Training and Motivation
Choice of Tool and Methodology
Planning
Doing Feasibility Analysis Unproperly.
Wrongly designed test automation strategy.
Managerial
Doing incrementally and showing the work & results.
Test Team (Agile)
Organizational Structure
PM
PM
PM
PM
Team
Team
Team
Team
T L
Test Engineers TL: Test Lead
PM: Project Manager
Me!
E2E Test Automation
(Definition, Improvements, Vertical & Horizontal Scale,
Prerequisites, Advantages of Each Test Levels & Both Scales
Test Automation Strategy
(Approaches, How to Form, Criteria/Principles, Key Factors For
a Successful Strategy, Prerequisites, Gains)
E2E Test Automation Experiences
(ROI, The Problems Faced In the Process)
Need for Both Manual and Automated Testing
(Is Manual Tests Still Needed? Cross Tests)
Agenda
Testing cost: testing accounts for roughly 26% of IT budgets
*According to a 2014 industrial survey of 1543 executives from 25
countries
Lack of testing is even more costly; the global cost of locating
and removing bugs from software has risen to $312 billion
annually and it makes up half of the development time of the
average project.
* A 2013 study by the Cambridge University
Testing Cost vs Lack of Testing Cost
Trying to find defects on System Under
Test using human intelligence and
experience.
Manual testing
Is Manual Test Still Needed?
Mostly: Yes!
Avoid Scripted Testing;
Automate it instead
Concantrate on Exploratory Testing;
Machines are great for running straigtforward
tests
Humans are great finding new defects
Support
your team
by moving testers
across teams
and a little
bit of fun
At the End of
Bug Fest
Team Facility;
Playing Tabu,
Surprise Gifts,
Coffee,
Free Time
Thank You
Erdem YILDIRIM
erdemcp@hotmail.com
Linkedin
• V. Garousi and M. V. Mäntylä, "When and what to automate in software testing? A multi-vocal literature review,"
Information and Software Technology, vol. 76, pp. 92-117, 2016.
• Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian Karl
• V. Garousi and D. Pfahl, "When to Automate Software Testing? A Decision-Support Approach Based on Process
Simulation," Wiley Journal of Software: Evolution and Process, vol. 28, pp. 272-285, 2016.
 Effective Software Testing: 50 Ways to Improve Your Software Testing, Addison-Wesley Longman Publishing Co., Inc.
Boston, MA, USA ©2002
 End-to-End Integration Testing Design, Computer Software and Applications Conference, 2001. COMPSAC 2001. 25th
Annual International
 Distributed End-to-End Testing Management, Enterprise Distributed Object Computing Conference, 2001
 HP Capgemini. Sogetti, World quality report 2014-2015. www.sogeti.com/
solutions/testing/wqr/, Last accessed: Sept. 2015.
[2] T. Britton, L. Jeng, G. Carver, P. Cheak, and T. Katzenellenbogen, “Reversible
debugging software,” University of Cambridge, Judge Business School, Tehnical
Report, 2013
 How Google Tests Software, James A. Whittaker
 Behavior Driven Development Webapps mit Groovy Spock und Geb
 http://www.alwaysagileconsulting.com/articles/end-to-end-testing-considered-harmful/
 http://techarcis.com/services/end-to-end-test-strategy/
References

More Related Content

What's hot

Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using SeleniumWeifeng Zhang
 
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Simplilearn
 
How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy Impetus Technologies
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaEdureka!
 
A Top Down Approach to End-to-End Testing
A Top Down Approach to End-to-End TestingA Top Down Approach to End-to-End Testing
A Top Down Approach to End-to-End TestingSmartBear
 
Data driven Automation Framework with Selenium
Data driven Automation Framework with Selenium Data driven Automation Framework with Selenium
Data driven Automation Framework with Selenium Edureka!
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-AutomationMindfire Solutions
 
Hybrid automation framework
Hybrid automation frameworkHybrid automation framework
Hybrid automation frameworkdoai tran
 
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFLINTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFLRahul R Pandya
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automationSrikanth Vuriti
 

What's hot (20)

Automation With A Tool Demo
Automation With A Tool DemoAutomation With A Tool Demo
Automation With A Tool Demo
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using Selenium
 
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
Selenium Tutorial For Beginners | Selenium Automation Testing Tutorial | Sele...
 
How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy
 
How To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | EdurekaHow To Write A Test Case In Software Testing | Edureka
How To Write A Test Case In Software Testing | Edureka
 
A Top Down Approach to End-to-End Testing
A Top Down Approach to End-to-End TestingA Top Down Approach to End-to-End Testing
A Top Down Approach to End-to-End Testing
 
Introduction to Software Test Automation
Introduction to Software Test AutomationIntroduction to Software Test Automation
Introduction to Software Test Automation
 
Nunit
NunitNunit
Nunit
 
Automation testing
Automation testingAutomation testing
Automation testing
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
 
Data driven Automation Framework with Selenium
Data driven Automation Framework with Selenium Data driven Automation Framework with Selenium
Data driven Automation Framework with Selenium
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
 
Hybrid framework
Hybrid frameworkHybrid framework
Hybrid framework
 
Test automation using selenium
Test automation using seleniumTest automation using selenium
Test automation using selenium
 
Cypress testing
Cypress testingCypress testing
Cypress testing
 
Hybrid automation framework
Hybrid automation frameworkHybrid automation framework
Hybrid automation framework
 
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFLINTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
 
Selenium test automation
Selenium test automationSelenium test automation
Selenium test automation
 
Automation testing
Automation testingAutomation testing
Automation testing
 

Viewers also liked

Test Automation Architecture in Microservices
Test Automation Architecture in MicroservicesTest Automation Architecture in Microservices
Test Automation Architecture in MicroservicesAlper Mermer
 
Grading the Quality of Selenium Tests
Grading the Quality of Selenium TestsGrading the Quality of Selenium Tests
Grading the Quality of Selenium TestsMarcus Merrell
 
Design patterns in test automation
Design patterns in test automationDesign patterns in test automation
Design patterns in test automationMikalai Alimenkou
 
Test trend analysis: Towards robust reliable and timely tests
Test trend analysis: Towards robust reliable and timely testsTest trend analysis: Towards robust reliable and timely tests
Test trend analysis: Towards robust reliable and timely testsHugh McCamphill
 
Testing Metrics - Making your tests visible
Testing Metrics - Making your tests visibleTesting Metrics - Making your tests visible
Testing Metrics - Making your tests visibleAlper Mermer
 
An easy way to automate complex UI
An easy way to automate complex UIAn easy way to automate complex UI
An easy way to automate complex UIIvan Pashko
 
Colorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestColorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestOnur Baskirt
 
Protractor framework – how to make stable e2e tests for Angular applications
Protractor framework – how to make stable e2e tests for Angular applicationsProtractor framework – how to make stable e2e tests for Angular applications
Protractor framework – how to make stable e2e tests for Angular applicationsLudmila Nesvitiy
 
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...Badoo
 
Fabulous Tests on Spock and Groovy
Fabulous Tests on Spock and GroovyFabulous Tests on Spock and Groovy
Fabulous Tests on Spock and GroovyYaroslav Pernerovsky
 
SoapUI one key to all doors
SoapUI one key to all doorsSoapUI one key to all doors
SoapUI one key to all doorsYegor Maksymchuk
 
How does Java 8 exert hidden power on Test Automation?
How does Java 8 exert hidden power on Test Automation?How does Java 8 exert hidden power on Test Automation?
How does Java 8 exert hidden power on Test Automation?Sergey Korol
 
WixAutomation - Test State Pattern - Selenium Camp 2017
WixAutomation - Test State Pattern - Selenium Camp 2017WixAutomation - Test State Pattern - Selenium Camp 2017
WixAutomation - Test State Pattern - Selenium Camp 2017Roi Ashkenazi
 
The wild wild west of Selenium Capabilities
The wild wild west of Selenium CapabilitiesThe wild wild west of Selenium Capabilities
The wild wild west of Selenium CapabilitiesAdi Ofri
 
Excuse me, sir, do you have a moment to talk about tests in Kotlin
Excuse me, sir, do you have a moment to talk about tests in KotlinExcuse me, sir, do you have a moment to talk about tests in Kotlin
Excuse me, sir, do you have a moment to talk about tests in Kotlinleonsabr
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategytharindakasun
 
QA Fest 2015. Юлия Завертайло. Практическая визуализация пользы тестирования...
QA Fest 2015. Юлия Завертайло. Практическая визуализация пользы тестирования...QA Fest 2015. Юлия Завертайло. Практическая визуализация пользы тестирования...
QA Fest 2015. Юлия Завертайло. Практическая визуализация пользы тестирования...QAFest
 
Acceptance testing with Geb
Acceptance testing with GebAcceptance testing with Geb
Acceptance testing with GebRichard Paul
 

Viewers also liked (20)

Test Automation Architecture in Microservices
Test Automation Architecture in MicroservicesTest Automation Architecture in Microservices
Test Automation Architecture in Microservices
 
Grading the Quality of Selenium Tests
Grading the Quality of Selenium TestsGrading the Quality of Selenium Tests
Grading the Quality of Selenium Tests
 
Design patterns in test automation
Design patterns in test automationDesign patterns in test automation
Design patterns in test automation
 
Test trend analysis: Towards robust reliable and timely tests
Test trend analysis: Towards robust reliable and timely testsTest trend analysis: Towards robust reliable and timely tests
Test trend analysis: Towards robust reliable and timely tests
 
Testing Metrics - Making your tests visible
Testing Metrics - Making your tests visibleTesting Metrics - Making your tests visible
Testing Metrics - Making your tests visible
 
An easy way to automate complex UI
An easy way to automate complex UIAn easy way to automate complex UI
An easy way to automate complex UI
 
Colorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestColorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latest
 
Protractor framework – how to make stable e2e tests for Angular applications
Protractor framework – how to make stable e2e tests for Angular applicationsProtractor framework – how to make stable e2e tests for Angular applications
Protractor framework – how to make stable e2e tests for Angular applications
 
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...
iOS Parallel Automation: run faster than fast — Viktar Karanevich — SeleniumC...
 
Fabulous Tests on Spock and Groovy
Fabulous Tests on Spock and GroovyFabulous Tests on Spock and Groovy
Fabulous Tests on Spock and Groovy
 
Geb with spock
Geb with spockGeb with spock
Geb with spock
 
SoapUI one key to all doors
SoapUI one key to all doorsSoapUI one key to all doors
SoapUI one key to all doors
 
How does Java 8 exert hidden power on Test Automation?
How does Java 8 exert hidden power on Test Automation?How does Java 8 exert hidden power on Test Automation?
How does Java 8 exert hidden power on Test Automation?
 
WixAutomation - Test State Pattern - Selenium Camp 2017
WixAutomation - Test State Pattern - Selenium Camp 2017WixAutomation - Test State Pattern - Selenium Camp 2017
WixAutomation - Test State Pattern - Selenium Camp 2017
 
The wild wild west of Selenium Capabilities
The wild wild west of Selenium CapabilitiesThe wild wild west of Selenium Capabilities
The wild wild west of Selenium Capabilities
 
Excuse me, sir, do you have a moment to talk about tests in Kotlin
Excuse me, sir, do you have a moment to talk about tests in KotlinExcuse me, sir, do you have a moment to talk about tests in Kotlin
Excuse me, sir, do you have a moment to talk about tests in Kotlin
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
 
QA Fest 2015. Юлия Завертайло. Практическая визуализация пользы тестирования...
QA Fest 2015. Юлия Завертайло. Практическая визуализация пользы тестирования...QA Fest 2015. Юлия Завертайло. Практическая визуализация пользы тестирования...
QA Fest 2015. Юлия Завертайло. Практическая визуализация пользы тестирования...
 
Acceptance testing with Geb
Acceptance testing with GebAcceptance testing with Geb
Acceptance testing with Geb
 
Behavior Driven GUI Testing
Behavior Driven GUI TestingBehavior Driven GUI Testing
Behavior Driven GUI Testing
 

Similar to End-to-End Test Automation for Both Horizontal and Vertical Scale

Alamir Resume
Alamir ResumeAlamir Resume
Alamir ResumeAlamir_QC
 
Software Testing
Software TestingSoftware Testing
Software TestingKiran Kumar
 
Guideto Successful Application Test Automation
Guideto Successful Application Test AutomationGuideto Successful Application Test Automation
Guideto Successful Application Test Automationaimshigh7
 
2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams
2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams
2019 Testim Webinar: Automation Test Strategy and Design for Agile TeamsTristanLombard1
 
Quality for DevOps teams - Quality engineering in the DevOps culture
Quality for DevOps teams - Quality engineering in the DevOps cultureQuality for DevOps teams - Quality engineering in the DevOps culture
Quality for DevOps teams - Quality engineering in the DevOps cultureRik Marselis
 
Quality Engineering and Testing with TMAP in DevOps IT delivery
Quality Engineering and Testing with TMAP in DevOps IT deliveryQuality Engineering and Testing with TMAP in DevOps IT delivery
Quality Engineering and Testing with TMAP in DevOps IT deliveryRik Marselis
 
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...QueBIT Consulting
 
Real Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For SuccessReal Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For SuccessAdam Sandman
 
SAP Testing Services
SAP Testing ServicesSAP Testing Services
SAP Testing Servicesr_shanki
 
Continuous Testing Landscape.pptx
Continuous Testing Landscape.pptxContinuous Testing Landscape.pptx
Continuous Testing Landscape.pptxMarc Hornbeek
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2Yogindernath Gupta
 
Improving ROI and Efficiencies of Software Test Case Automation
Improving ROI and Efficiencies of Software Test Case AutomationImproving ROI and Efficiencies of Software Test Case Automation
Improving ROI and Efficiencies of Software Test Case AutomationVipul Gupta
 
SDT Blended Model V3 2009
SDT Blended Model V3 2009SDT Blended Model V3 2009
SDT Blended Model V3 2009Ed Kit
 
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
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projectsDaniel Ionita
 
Chapter 1 - Introduction and Objectives for Test Automation
Chapter 1 - Introduction and Objectives for Test AutomationChapter 1 - Introduction and Objectives for Test Automation
Chapter 1 - Introduction and Objectives for Test AutomationNeeraj Kumar Singh
 
Zero touch QA automation platform for DevOps
Zero touch QA automation platform for DevOpsZero touch QA automation platform for DevOps
Zero touch QA automation platform for DevOpsTaUB Solutions
 

Similar to End-to-End Test Automation for Both Horizontal and Vertical Scale (20)

Alamir Resume
Alamir ResumeAlamir Resume
Alamir Resume
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Guideto Successful Application Test Automation
Guideto Successful Application Test AutomationGuideto Successful Application Test Automation
Guideto Successful Application Test Automation
 
2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams
2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams
2019 Testim Webinar: Automation Test Strategy and Design for Agile Teams
 
Quality for DevOps teams - Quality engineering in the DevOps culture
Quality for DevOps teams - Quality engineering in the DevOps cultureQuality for DevOps teams - Quality engineering in the DevOps culture
Quality for DevOps teams - Quality engineering in the DevOps culture
 
Quality Engineering and Testing with TMAP in DevOps IT delivery
Quality Engineering and Testing with TMAP in DevOps IT deliveryQuality Engineering and Testing with TMAP in DevOps IT delivery
Quality Engineering and Testing with TMAP in DevOps IT delivery
 
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
The Importance of Performance Testing Theory and Practice - QueBIT Consulting...
 
Real Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For SuccessReal Testing Scenario Strategy - Bringing It All Together For Success
Real Testing Scenario Strategy - Bringing It All Together For Success
 
SAP Testing Services
SAP Testing ServicesSAP Testing Services
SAP Testing Services
 
Continuous Testing Landscape.pptx
Continuous Testing Landscape.pptxContinuous Testing Landscape.pptx
Continuous Testing Landscape.pptx
 
ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2ISTQB / ISEB Foundation Exam Practice - 2
ISTQB / ISEB Foundation Exam Practice - 2
 
CV Of Arun Thimmappa
CV Of Arun ThimmappaCV Of Arun Thimmappa
CV Of Arun Thimmappa
 
Improving ROI and Efficiencies of Software Test Case Automation
Improving ROI and Efficiencies of Software Test Case AutomationImproving ROI and Efficiencies of Software Test Case Automation
Improving ROI and Efficiencies of Software Test Case Automation
 
SDT Blended Model V3 2009
SDT Blended Model V3 2009SDT Blended Model V3 2009
SDT Blended Model V3 2009
 
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 )
 
Questions for successful test automation projects
Questions for successful test automation projectsQuestions for successful test automation projects
Questions for successful test automation projects
 
Chapter 1 - Introduction and Objectives for Test Automation
Chapter 1 - Introduction and Objectives for Test AutomationChapter 1 - Introduction and Objectives for Test Automation
Chapter 1 - Introduction and Objectives for Test Automation
 
Zero touch QA automation platform for DevOps
Zero touch QA automation platform for DevOpsZero touch QA automation platform for DevOps
Zero touch QA automation platform for DevOps
 
Qulaity strategy template
Qulaity strategy templateQulaity strategy template
Qulaity strategy template
 
Softwaretesting
SoftwaretestingSoftwaretesting
Softwaretesting
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

End-to-End Test Automation for Both Horizontal and Vertical Scale

  • 1. End to End Test Automation for Both Horizontal and Vertical Scale Erdem YILDIRIM
  • 2. 2000 – Software Developer 2006 – Discovered Test Automation & Decided to be Test Engineer 2010 – Test Lead at Defence Technologies and Engineering (STM) 2013 – Test Lead at İnnova (Telecommunication) About Me Linkedin: https://tr.linkedin.com/in/erdem-yildirim-0b5ab466
  • 3. E2E Test Automation (Definition, Improvements, Vertical & Horizontal Scale, Prerequisites, Advantages of Each Test Levels & Both Scales) Test Automation Strategy (Approaches, How to Form, Criteria/Principles, Key Factors For a Successful Strategy, Gains) E2E Test Automation Experiences (ROI, The Problems Faced In the Process) Need for Both Manual and Automated Testing (Is Manual Tests Still Needed? Cross Tests) Agenda
  • 4. Agenda E2E Test Automation (Definition, Improvements, Vertical & Horizontal Scale, Prerequisites, Advantages of Each Test Levels & Both Scales) Test Automation Strategy (Approaches, How to Form, Criteria/Principles, Key Factors For a Successful Strategy, Gains) E2E Test Automation Experiences (ROI, The Problems Faced In the Process) Need for Both Manual and Automated Testing (Is Manual Tests Still Needed? Cross Tests)
  • 5. Machines are great for running repetetive / straightforward scenarios that don’t require any intelligence or experience. Test Automation
  • 6. End to end testing is verifying that all units of an application and all subsystems of a system interact as expected with each other that the system as a whole works as intended. E2E Test Automation
  • 7. Ideal Software Test Automation Pyramid UI Tests Integration Tests Unit Tests Manual (Scripted) Test
  • 8. It is OK that automating whole Unit, Inregration, UI levels is great. Can we improve it?
  • 10. An Extra Level: Test Data Preparation How to prepare test dataset and bring database to known state for test cases before every test run? Is Teardown Method OK?
  • 11. Test Data Preparation Automation Teardown Method with Automation Setup Exercise Verify Teardown SUT Install Create Return ValuesIndirect Inputs Record Mock Object
  • 12. Advantages of Automating Test Data Preparation Phase Faster coding, Faster test executions, Clean test environment, Testing with real and more complex test data, Loose coupling between data and code layers Facilitates testing for multiple customers (each with a DB)
  • 13. So, we were able to automate the entire vertical E2E testing: Unit, Inregration, UI +Test Data Preparation levels Can we improve it further?
  • 14. E2E Test Automation Horizontal & Vertical Scale UI Tests Integration Tests Unit Tests Test Data Preparation CI–ContinuousIntegration Horizontal E2E (UI & Integration Layer) Login / Add to Chart / Checkout / Pay Vertical E2E Implementing tests on all level of the pyramid
  • 15. E2E Test Automation Horizontal & Vertical Scale UI Tests Integration Tests Unit Tests Test Data Preparation CI–ContinuousIntegration Horizontal E2E (UI & Integration Layer) Login / Add to Chart / Checkout / Pay Vertical E2E Implementing tests on all level of the pyramid
  • 16. Prerequisites of Horizontal E2E Tests All system and subsystems’ test environments should be ready. If they are not ready, mocking work should be performed.
  • 17. Prerequisites of Vertical E2E Tests Having a supporting test/development strategy like TDD, BDD, Continuous Testing It should be driven by all stakeholders (dev, tester, pm, tl) in Project.
  • 18. Advantages of Vertical and Horizontal E2E Tests Advantages of Horizontal E2E Tests: High business logic coverage, Testing from the user perspective, Prevents production incidents, Gives the confidence that everything is OK Advantages of Vertical E2E Tests: High code coverage, Fast execution, More determined and focussed tests, Useful for especially safety critical softwares
  • 20. E2E Test Automation (Definition, Improvements, Vertical & Horizontal Scale, Prerequisites, Advantages of Each Test Levels & Both Scales Test Automation Strategy (Approaches, How to Form, Criteria/Principles, Key Factors For a Successful Strategy, Prerequisites, Gains) E2E Test Automation Experiences (ROI, The Problems Faced In the Process) Need for Both Manual and Automated Testing (Is Manual Tests Still Needed? Cross Tests) Agenda
  • 21. E2E Test Strategy Which projects’ tests strategy should be designed as E2E? Can all tests be written as E2E ?
  • 22. Test Strategy I Put That Sh t on Everthing*
  • 23. Alternate Test Automation Approach Continuous Testing To develop software within shorter delivery cycles; Agile, DevOps and Continuous Delivery approaches are on the forefront. Continuous Delivery supports Continuous Testing which is a testing strategy that consists of a large number of automated unit and acceptance tests but a small number of automated end-to- end tests. Continuous Testing claims that E2E tests are inefficient and they should be limited. It is a means of using Vertical E2E Test Automation effectively but avoiding Horizontal E2E Test Automation
  • 24. Which Test Automation Strategy is the Best? There isn’t one absolute strategy that is valid for every SUT
  • 25. Criteria / Principles To Form Test Strategy Test Types / Methodologies that your staff is strong, Coverage Strategy: Business Logic Coverage or Code Coverage Execution Time Priority Cost These Criteria should be considered with the dynamics and needs of Project, Staff, Company, Customer.
  • 26. It is not an obligation to select & implement a strategy strictly. You can mix the approaches and form your own strategy based on your needs. It’s about finding the right balance. Criteria / Principles To Form Test Strategy
  • 27. Key Factors To Form & Implement a Successful Test Automation Strategy Manage test releases effectively Establish test measurement strategy & metrics Establish test management strategy Choose your test delivery model Determine & implement test tools strategy Assess your test & process maturity
  • 28. Feasibility Analysis Evaluation of Tools / Methodologies Forming Automation Strategy (Plan, Design) Implementation Test & Maintain Key Factors To Form & Implement a Successful Test Automation Strategy
  • 29. Based on Delivery Strategy Automated test executions should be planned and clear CI roadmap should be outlined based on needs.
  • 30. An Example Automated Test Execution/CI Strategy Based on Below Criteria Delivery Velocity; should be fast so smoke Unit test first, smoke UI test second, full test sets last-after deploy in order. Test Risk Level: Medium; smoke tests for all test types runs before deployment. But it is risky to run full sets after deployment, since bug could stay undetected.
  • 31. Dev Team Version Control Build & Unit Tests UI Test Automation (Smoke) Deploy (Prod) UI Test Automation (Smoke) UI Test Automation (Full Set) Monitoring Dev CI Pre-Production Production Check in Trigger Trigger Approval Approval Approval Approval Feedback Feedback Feedback Feedback Feedback Automated Test Runs After Nightly Build [1] • Unit Test Automation • Web Service Test Automation • UI Test Automation (Full Set) • Cross Browser & Platform Tests Automated Test Runs After Weekly Build [2] • Automated Non Functional Tests (Performance & Load Tests) • Static Code Quality Analysis Feedback Feedback Feedback
  • 32. Communication Collaboration Automation Living Documentation Drives whole project team Healthy test basis / requirements Replaces scripted test with automation scripts To Strengthen the Automation Process: BDD – Behaviour Driven Development
  • 33. Benefits of E2E Test Automation Velocity Stability Efficiency Money
  • 34. E2E Test Automation (Definition, Improvements, Vertical & Horizontal Scale, Prerequisites, Advantages of Each Test Levels & Both Scales Test Automation Strategy (Approaches, How to Form, Criteria/Principles, Key Factors For a Successful Strategy, Prerequisites, Gains) E2E Test Automation Experiences (ROI, The Problems Faced In the Process) Need for Both Manual and Automated Testing (Is Manual Tests Still Needed? Cross Tests) Agenda
  • 35. E2E Test Automation Experiences 7 active projects’ tests that are being automated as E2E
  • 36. ROI Project Name # of E2E Test Scenarios Manual Test Execution Time Automation Execution Time Ratio of Saving Legalite 235 6 Days (48 hrs) 1,5 Hour 32 times HOPE 85 2 Days (16 hrs) 1 Hour 16 times PROTTON 1200 5 Days (40 hrs) 2 Hours 20 times TTSis 2000 8 Days (64 hrs) 3 Hours 21 times Planor 110 3 Days (24 hrs) 2 Hours 12 times TTS 120 2 Days (16 hrs) 1 Hour 16 times ATS 30 1 Day (8 hrs) 1 Hour 8 times
  • 37. Challenges / Problems Faced In the Process Technical Staff Training and Motivation Choice of Tool and Methodology Planning Doing Feasibility Analysis Unproperly. Wrongly designed test automation strategy. Managerial Doing incrementally and showing the work & results.
  • 38. Test Team (Agile) Organizational Structure PM PM PM PM Team Team Team Team T L Test Engineers TL: Test Lead PM: Project Manager Me!
  • 39. E2E Test Automation (Definition, Improvements, Vertical & Horizontal Scale, Prerequisites, Advantages of Each Test Levels & Both Scales Test Automation Strategy (Approaches, How to Form, Criteria/Principles, Key Factors For a Successful Strategy, Prerequisites, Gains) E2E Test Automation Experiences (ROI, The Problems Faced In the Process) Need for Both Manual and Automated Testing (Is Manual Tests Still Needed? Cross Tests) Agenda
  • 40. Testing cost: testing accounts for roughly 26% of IT budgets *According to a 2014 industrial survey of 1543 executives from 25 countries Lack of testing is even more costly; the global cost of locating and removing bugs from software has risen to $312 billion annually and it makes up half of the development time of the average project. * A 2013 study by the Cambridge University Testing Cost vs Lack of Testing Cost
  • 41. Trying to find defects on System Under Test using human intelligence and experience. Manual testing
  • 42. Is Manual Test Still Needed? Mostly: Yes! Avoid Scripted Testing; Automate it instead Concantrate on Exploratory Testing; Machines are great for running straigtforward tests Humans are great finding new defects
  • 43. Support your team by moving testers across teams and a little bit of fun
  • 44. At the End of Bug Fest Team Facility; Playing Tabu, Surprise Gifts, Coffee, Free Time
  • 46. • V. Garousi and M. V. Mäntylä, "When and what to automate in software testing? A multi-vocal literature review," Information and Software Technology, vol. 76, pp. 92-117, 2016. • Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian Karl • V. Garousi and D. Pfahl, "When to Automate Software Testing? A Decision-Support Approach Based on Process Simulation," Wiley Journal of Software: Evolution and Process, vol. 28, pp. 272-285, 2016.  Effective Software Testing: 50 Ways to Improve Your Software Testing, Addison-Wesley Longman Publishing Co., Inc. Boston, MA, USA ©2002  End-to-End Integration Testing Design, Computer Software and Applications Conference, 2001. COMPSAC 2001. 25th Annual International  Distributed End-to-End Testing Management, Enterprise Distributed Object Computing Conference, 2001  HP Capgemini. Sogetti, World quality report 2014-2015. www.sogeti.com/ solutions/testing/wqr/, Last accessed: Sept. 2015. [2] T. Britton, L. Jeng, G. Carver, P. Cheak, and T. Katzenellenbogen, “Reversible debugging software,” University of Cambridge, Judge Business School, Tehnical Report, 2013  How Google Tests Software, James A. Whittaker  Behavior Driven Development Webapps mit Groovy Spock und Geb  http://www.alwaysagileconsulting.com/articles/end-to-end-testing-considered-harmful/  http://techarcis.com/services/end-to-end-test-strategy/ References

Editor's Notes

  1. ...with subtopics of...
  2. ... so we are tring to take advantage of this oppurtunity by automating our tests.
  3. ...automating tests in this style is called E2E Test Automation in grey literature, especially it is called Horizontal E2E Test Automation.
  4. Unit Test; a unit is defined as the smallest testable part of an application. each test case is independent from the others. Integration testing tests integration or interfaces between components, system or hardware. UI Test is also called as acceptance test means testing from the user perspective and validating requirements or user stories. At the top; some limited mauel testing activity.
  5. 1. We can replace manuel test with exploratory test which is an approach not a technique and more productive than scripted testing more traceable than ad-hoc testing. 2. We can add one more layer to the bottom; test data preparation automation layer. 3. We can add Continuous integration that we can execute test automation projects automatically.
  6. Why are we adding test data preparation layer as an extra layer: answer is again a question. ... instead of doing it in extra level, you can also do it using teardown method in coding phase. Sometimes applying Teardown Method as hardcoded in your test automation code is OK. But we can ask the question that is it the best approach all the time? A good automation architect ensures that scripts are reusable. A great automation architect ensures that scripts and test data, both are reusable.
  7. Have a look at the four steps of test automation. Note that teardown is the 4.th step. Setup phase of the test, establishes the prior state of the test. The exercise phase is where we execute our test actions. In the Verify phase; we specify and verify the expected outcome. The final phase teardown, is all about housekeeping, we clean up the test environment and put the world back into the state in which we found it. İf we want to syncronize with BDD given/when/then logic; setup means(given) exercise means(when) action, verify mean(then). This is the ideal scenario that integrated systems are up and ready for testing. When they are not; we should prepare mock objects to emulate real systems. So we can test our system and integration in earlier phase without waiting other systems to be ready. When we use mock objects; Setup Works on mock object, mock objects feeds SUT and verification is done over mock object.
  8. .... it is useful for especially SUT is a Midddleware or you have different test environments that you should run your tests. For example; if you have 5 customers and these customers have different production environments. ------ ------ How can we do this; First extract data from DB, put your DB into that known state DbUnit is a JUnit extension, puts your database into a known state between test runs. Jailer simplifies the extraction of referentially intact data. Once you have defined an extraction model, it can be used to extract data from the production database fast and easy whenever up-to-date test data is required.
  9. ... ... there are two different views on this topic. One says writing tests independent and loosing test cases from each other is better. And the other says writting dependent scenarios from the end user perspective is better. Both of them have some advantages & disadvantages that we will have a look this again on following slides.
  10. Tools can be changed based on the needs, these are the ones we prefer.
  11. ... if they are not even mockable, you can not perform horizontal E2E tests.
  12. 1. Let’s have a look at the advantages & disadvantages based on the test types. 2. If you want to cover business logic with your tests; UI test automation is the right choice. 3. If code coverage is more important then you should perform unit test automation in first order. 4. And also for the short execution time and low costs, you can prefer unit tests.
  13. It can not be used in all projects. It should be applied only for the proper ones... We will have a look how can we know and decide our project is proper for E2E
  14. ...it claims that E2E GUI automation is always tougher than other types of automated tests. So if there is a situation when you can achieve your target by not automating the GUI, but by some other levels like unit and integration.
  15. You should select the test type that your staff is strong or you should be confident to be able to train them. For the coverage strategy: You should make a choice between Business Logic Coverage or Code Coverage For the Execution Time: You should determine your priorities and limits. Cost: you should evaluate your human resources situation that will work for the automation.
  16. These are the steps you should consider to form a automation strategy
  17. In a nutshell, we should work on following topics; Feasibility Analysis Eveluate Project, Staff, Company Culture. There is an important and also trendy topic in test automation World is that you should consider: two W’s of automated testing: when and what Many organizations see software test automation as a solution to decrease testing costs and to reduce cycle time in software development. However, establishment of automated testing may fail if test automation is not applied in the right time, right context and with the appropriate approach. Eveluate Tools / Methodologies [Consider Project Dynamics, third party components that are being used by development team], BDD, TDD Form the Automation Strategy (Plan-Design) “Automating without good test design may result in a lot of activity, but little value.” [Consider reusability & modularity] Test & Maintain [Eveluate defect cause analysis with cause effect analysis]
  18. Lets design a CI-delivery strategy for executions of automated tests. Firstly, we should work on our criteria; the values written next critearia are complete fictitious values. Normally we should form up them based on your Project dynamics and needs.
  19. And we formed up our test execution and delivery strategy. Automation means running fewer tests more often. You have to start small by attacking your build acceptance tests first. Then cover your smoke tests. Then move onto your time taking fulls set of tests. Here in this design the critical question is where you put these automated tests? Before or after deployment? But make sure every test you automate, it saves time for a manual tester to focus on more important things. Automate few tests that are valuable and time savers or difficult to do for manual testers. If you did that, the task of automation is done. http://www.softwaretestinghelp.com/bvt-build-verification-testing-process/
  20. The given part describes the state of the world before you begin the behavior you're specifying in this scenario. You can think of it as the pre-conditions to the test. The when section is that behavior that you're specifying. Finally the then section describes the changes you expect due to the specified behavior
  21. Velocity: faster bug finding & fixation process. It means reducing cycle time for software development. Stability: We have more stable and robust products. You became more comfident before deployment to production environment. Efficiency: We can test more with less effort. And these three bullets means Saving Money
  22. We have 7 active projects whose tests are being automated as E2E
  23. Legalite: Low automation Project works on cloud. It is being automated from the starting point of Project to now with %80 of coverage. In TTSis project: we experienced different kind of FAT (Factory accaptance tests). In this Project test automation coverage is 100 percent. FAT would normally be performed in two weeks with the customer by running all scanarios manually. But we showed them our automated tests and then we executed automated tests instead of manuel tests for FAT. FAT was done in 3 Hours instead of 2 weeks. At the end; customer appraciated us and we had the reputation of doing the product right and our approach of running the automated tests with less effort in less time.
  24. Technical, Staff: You should prepare and trainn your staff for the tools you select. It sometimes means training them but also sometimes mentoring and motivating them and taking care of their problems. Technical, Tools: Sometimes it is hard to find or buy the proper tool for the Project. You might select hybrid solution and use multiple tools like using SeleniumWebDriver as main tool and sometimes Sikuli to automate the components/objects hard to catch with object based test atumation tools like Selenium.
  25. Organizational structure of test team and development teams working for projects using agile methodology. Our test team consists of 14 test engineers working in 8 projects. They work generally with the PM. Daily asignment are made by PM’s. I determine the test strategy for the technical test works (test automation, performance, ui test, BDD, ALM) with the test team. Test engineers do the Daily tasks; write test automation-performance test code. Big thanks to them for their great effort. I work on strategy, roadmap, training and career paths of the team members and things that increase the efficiency of the test activities and test team effort.
  26. Sometimes it is not easy to understand the impact of the testing over product quality and SDLC According to a 2014 industrial survey of 1543 executives from 25 countries, testing and quality assurance of software-intensive systems accounts for roughly 26% of IT budgets [1], but lack of testing is even more costly. A 2013 study by the Cambridge University [2] states that the global cost of locating and removing bugs from software has risen to $312 billion annually and it makes up half of the development time of the average project.
  27. If your project is not suitable for automating all tests with full coverage then somewhere you will need the experience and intelligence of the test engineer. But avoid manually testing of straightforward scenarios that machines are great for running straightforward scenarios as we mentioned in first slide. Take care of choosing the test cases that can not be automated.
  28. We perfromed BugFest testing activity. Here our aim was testing the application from end-to-end maunally across different projects. Normally testers works on their daily tasks generally testing a specific development or bugfix. But after I investigated that when ı put a different tester on a Project, new tester could some bugs be fould?
  29. If there is any questions I would like to answer. You can also ask questions by email or linkedin. Thank you. If we have time I want to give brief information about GEB.