SlideShare a Scribd company logo
 
	
  
	
  
	
  
W9	
  
Test	
  Automation	
  
10/5/16	
  13:45	
  
	
  
	
  
	
  
	
  
	
  
Adaptive	
  Automation:	
  Tests	
  that	
  
Recover	
  Instead	
  of	
  Failing	
  
Presented	
  by:	
  	
  
	
  
	
   Scott	
  Miles	
   	
  
	
  
Aconex	
  
	
  
Brought	
  to	
  you	
  by:	
  	
  
	
  	
  
	
  
	
  
	
  
	
  
350	
  Corporate	
  Way,	
  Suite	
  400,	
  Orange	
  Park,	
  FL	
  32073	
  	
  
888-­‐-­‐-­‐268-­‐-­‐-­‐8770	
  ·∙·∙	
  904-­‐-­‐-­‐278-­‐-­‐-­‐0524	
  -­‐	
  info@techwell.com	
  -­‐	
  http://www.starwest.techwell.com/	
  	
  	
  
	
  
	
  	
  
 
	
  
Scott	
  Miles	
  
	
  
	
  
A	
  quality	
  engineer	
  and	
  ScrumMaster	
  at	
  Aconex,	
  Scott	
  Miles	
  is	
  an	
  experienced	
  
automation	
  engineer	
  and	
  testing	
  enthusiast	
  from	
  Melbourne,	
  Australia.	
  Scott	
  enjoys	
  
challenging	
  what	
  is	
  accepted	
  as	
  standard	
  practice	
  and	
  is	
  always	
  striving	
  to	
  get	
  more	
  
out	
  of	
  his	
  team	
  and	
  tools.	
  To	
  this	
  end,	
  he	
  has	
  published	
  several	
  articles	
  and	
  papers	
  
about	
  the	
  limitation	
  of	
  automation	
  techniques	
  and	
  is	
  constantly	
  promoting	
  the	
  use	
  
of	
  smarter	
  and	
  better	
  tools.	
  A	
  prominent	
  member	
  of	
  the	
  Context	
  Driven	
  Tester	
  
community	
  in	
  Melbourne,	
  Scott	
  is	
  an	
  organizer	
  of	
  both	
  the	
  Australian	
  Testing	
  Days	
  
2016	
  conference	
  as	
  well	
  as	
  the	
  Test	
  Engineering	
  Alliance	
  of	
  Melbourne.	
  
9/21/16
1
ADAPTIVE AUTOMATION
Tests that recover instead of failing
Scott Miles
What is Adaptive Automation?
a series of techniques to
make automation more…
adaptive agile smarter
9/21/16
2
In the beginning
Me
What we had
Submit Button
Parent = login_frame
Type = button
X Pos = 233
Y Pos = 841
Colour = #2d145e
…. and so on
9/21/16
3
Required constant maintenance
UI Designers Testers
Caused delay in feedback
Run 1 Run 2 Run 3
9/21/16
4
Update selectors?
Submit Button
Css = #btn_login
What would we miss?
9/21/16
5
Two goals, one solution
Don’t block tests from continuing after failing
Reduce maintenance without reducing coverage
Adaptive Elements!
Adaptive Elements!
Don’t block tests from continuing after failing
If no exact match found, see if there is a close match,
log the difference and continue
9/21/16
6
Adaptive Elements!
Don’t block tests from continuing after failing
If no exact match found, see if there is a close match,
log the difference and continue
Reduce maintenance without reducing coverage
If test continued with new element, allow the user to
automatically update tests with new element selector
When should it happen?
Find Element
Continue
located?
Adaptive Elements
Yes
No
9/21/16
7
Figuring it out
If we cant find the element, which one do we use?
Figuring it out
If we cant find the element, which one do we use?
Compare all elements on the page and find the closest
9/21/16
8
Figuring it out
If we cant find the element, which one do we use?
Compare all elements on the page and find the closest
A page has a lot of elements, how can we speed things up
and increase accuracy?
Figuring it out
If we cant find the element, which one do we use?
Compare all elements on the page and find the closest
A page has a lot of elements, how can we speed things up
and increase accuracy?
We can eliminate almost all elements by excluding
those that haven’t changed since last run
9/21/16
9
Figuring it out
How much effort will it be to update my tests?
Figuring it out
How much effort will it be to update my tests?
Your tests and element definitions wouldn’t need to
change at all. Once the framework is modified, all
existing tests will work with adaptive elements.
9/21/16
10
Figuring it out
How much effort will it be to update my tests?
Your tests and element definitions wouldn’t need to
change at all. Once the framework is modified, all
existing tests will work with adaptive elements.
How can determine which element is the closest match?
Figuring it out
How much effort will it be to update my tests?
Your tests and element definitions wouldn’t need to
change at all. Once the framework is modified, all
existing tests will work with adaptive elements.
How can determine which element is the closest match?
We can compare the each property of an expected
match with the same property of the missing element
9/21/16
11
Configure Properties
Property Measurement
Css selector CSS Path
X (int) Distance
Y (int) Distance
Length (int) Size
Height (int) Size
Type (string) Hierarchy
Parent (string) CSS Path
Text (string) Text
Timestamp (string) -- ignore --
Configure Expectations
**Maximum threshold = 20
Measurement Weight
Distance 100px = 1
Size 10px = 1
Text 1 edit = 1
Hierarchy 1 step = 10
Css Path
1 step = 10,
1 property = 5
9/21/16
12
Example
Definition
Text = “Login”
Type = Button2
Element A
Text = “Login”
Type = Button1
Element B
Text = “Login now”
Type = Button2
?
Example
Definition
Text = “Login”
Type = Button2
Element A
Text = “Login”
Type = Button1
Element B
Text = “Login now”
Type = Button2
1 hierarchy step
10 points
?
∆
4 edit distance
4 points∆
9/21/16
13
Example
Definition
Text = “Login”
Type = Button2
Element B
Text = “Login now”
Type = Button2
Benefit
NEVER UPDATE AN
ELEMENT SELECTOR AGAIN!
9/21/16
14
Demo
Demo removed to reduce upload size
What if…
What if the element changing is a valid bug?
9/21/16
15
What if…
What if the element changing is a valid bug?
You don’t have to accept the elements changes and
at least the test didn’t stop at that point.
What if…
What if the element changing is a valid bug?
You don’t have to accept the elements changes and
at least the test didn’t stop at that point.
What if it selects the wrong element?
9/21/16
16
What if…
What if the element changing is a valid bug?
You don’t have to accept the elements changes and
at least the test didn’t stop at that point.
What if it selects the wrong element?
You can still mark the test as failed afterwards, but at
least we tried!
Adaptive Actions
Find Element
Continue
located?
located?Adaptive Elements
Adaptive Actions
Yes
Yes
No
No
9/21/16
17
In the beginning
In the beginning
9/21/16
18
In the beginning
In the beginning
9/21/16
19
In the beginning
Run Test Failed? Try Again!
Yes
Re-run restrictions
9/21/16
20
Small steps
Run Test Failed? Fix Database
Yes
Select Tests
Try Again!
Shared environment
9/21/16
21
Small steps
Run Test Failed? Fix Database
Yes
Select Tests
Try Again!
Config
Correct?
Fix Config
Try Again!
Yes
No
Interruptions
9/21/16
22
Interruptions
Small steps
Run Test
Failed?
Fix Database
Yes
Select Tests
Try Again!
Config
Correct?
Fix Config
Try Again!
No
No
Popup?
Close Popup
Try Again!
Yes
9/21/16
23
Adaptive Actions
Recovered?Defined RecoveryAdaptive Actions
Application
Recovery
Pattern Recovery
Recovered?
Recovered? Continue
No
Yes
No
Yes
Yes
Adaptive Actions
9/21/16
24
Adaptive Reporting
What techniques?
Find Element
Continue
located?
located?Adaptive Elements
Adaptive Actions
Yes
Yes
No
No
9/21/16
25
Adaptive Elements
Contact Me
Scott Miles
au.linkedin.com/in/scottymiles
@adaptivetester
http://www.adaptivetester.com
http://www.meetup.com/TestEngineeringAlliance/
9/21/16
26
Questions
Any Questions?

More Related Content

What's hot

Petri for kyiv.pptx
Petri for kyiv.pptxPetri for kyiv.pptx
Petri for kyiv.pptx
Talya Gendler
 
Shawn Wallace - Test automation in brownfield applications
Shawn Wallace - Test automation in brownfield applicationsShawn Wallace - Test automation in brownfield applications
Shawn Wallace - Test automation in brownfield applications
QA or the Highway
 
Integration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSIntegration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaS
Anand Bagmar
 
8 Blind Spots Often Overlooked When Testing on Mobile
8 Blind Spots Often Overlooked When Testing on Mobile8 Blind Spots Often Overlooked When Testing on Mobile
8 Blind Spots Often Overlooked When Testing on Mobile
Neotys
 
Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...
Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...
Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...
Neotys
 
Testing Legacy Apps
Testing Legacy AppsTesting Legacy Apps
Testing Legacy Apps
Dawn Code
 
Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)
Anand Bagmar
 
Devry netw 204 week 5 i lab new
Devry netw 204 week 5 i lab newDevry netw 204 week 5 i lab new
Devry netw 204 week 5 i lab new
Faarooqkhaann
 
Knowledge sharing
Knowledge sharingKnowledge sharing
Knowledge sharing
Darshit Shah
 
Designing Self-maintaining UI Tests for Web Applications
Designing Self-maintaining UI Tests for Web ApplicationsDesigning Self-maintaining UI Tests for Web Applications
Designing Self-maintaining UI Tests for Web Applications
TechWell
 
Socialcam - Ammon bartam
Socialcam - Ammon bartamSocialcam - Ammon bartam
Socialcam - Ammon bartam
nxtcon
 
Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)
Anand Bagmar
 
Microservices Summit - The Human Side of Services
Microservices Summit - The Human Side of ServicesMicroservices Summit - The Human Side of Services
Microservices Summit - The Human Side of Services
Yelp Engineering
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Codemotion
 
Testing in-production
Testing in-productionTesting in-production
Testing in-production
Evgeny Rahman
 
Alexa Skill Maintenance
Alexa Skill MaintenanceAlexa Skill Maintenance
Alexa Skill Maintenance
Ralf Eggert
 
Exploring with Automation
Exploring with AutomationExploring with Automation
Exploring with Automation
James Thomas
 
Tales from tester developer collaboration
Tales from tester developer collaborationTales from tester developer collaboration
Tales from tester developer collaboration
Maaret Pyhäjärvi
 
Check methods params_for_validity
Check methods params_for_validityCheck methods params_for_validity
Check methods params_for_validity
parag
 
Talentum: Testiautomaation tekemisen taito
Talentum: Testiautomaation tekemisen taitoTalentum: Testiautomaation tekemisen taito
Talentum: Testiautomaation tekemisen taito
Maaret Pyhäjärvi
 

What's hot (20)

Petri for kyiv.pptx
Petri for kyiv.pptxPetri for kyiv.pptx
Petri for kyiv.pptx
 
Shawn Wallace - Test automation in brownfield applications
Shawn Wallace - Test automation in brownfield applicationsShawn Wallace - Test automation in brownfield applications
Shawn Wallace - Test automation in brownfield applications
 
Integration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSIntegration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaS
 
8 Blind Spots Often Overlooked When Testing on Mobile
8 Blind Spots Often Overlooked When Testing on Mobile8 Blind Spots Often Overlooked When Testing on Mobile
8 Blind Spots Often Overlooked When Testing on Mobile
 
Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...
Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...
Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...
 
Testing Legacy Apps
Testing Legacy AppsTesting Legacy Apps
Testing Legacy Apps
 
Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)
 
Devry netw 204 week 5 i lab new
Devry netw 204 week 5 i lab newDevry netw 204 week 5 i lab new
Devry netw 204 week 5 i lab new
 
Knowledge sharing
Knowledge sharingKnowledge sharing
Knowledge sharing
 
Designing Self-maintaining UI Tests for Web Applications
Designing Self-maintaining UI Tests for Web ApplicationsDesigning Self-maintaining UI Tests for Web Applications
Designing Self-maintaining UI Tests for Web Applications
 
Socialcam - Ammon bartam
Socialcam - Ammon bartamSocialcam - Ammon bartam
Socialcam - Ammon bartam
 
Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)Build the "right" regression suite using Behavior Driven Testing (BDT)
Build the "right" regression suite using Behavior Driven Testing (BDT)
 
Microservices Summit - The Human Side of Services
Microservices Summit - The Human Side of ServicesMicroservices Summit - The Human Side of Services
Microservices Summit - The Human Side of Services
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
Testing in-production
Testing in-productionTesting in-production
Testing in-production
 
Alexa Skill Maintenance
Alexa Skill MaintenanceAlexa Skill Maintenance
Alexa Skill Maintenance
 
Exploring with Automation
Exploring with AutomationExploring with Automation
Exploring with Automation
 
Tales from tester developer collaboration
Tales from tester developer collaborationTales from tester developer collaboration
Tales from tester developer collaboration
 
Check methods params_for_validity
Check methods params_for_validityCheck methods params_for_validity
Check methods params_for_validity
 
Talentum: Testiautomaation tekemisen taito
Talentum: Testiautomaation tekemisen taitoTalentum: Testiautomaation tekemisen taito
Talentum: Testiautomaation tekemisen taito
 

Viewers also liked

A Day in the Life of a Test Architect
A Day in the Life of a Test ArchitectA Day in the Life of a Test Architect
A Day in the Life of a Test Architect
TechWell
 
Conquer the Murky Waters of Test Automation
Conquer the Murky Waters of Test AutomationConquer the Murky Waters of Test Automation
Conquer the Murky Waters of Test Automation
TechWell
 
Build Fail-Proof Tests in Any Browser with Selenium
Build Fail-Proof Tests in Any Browser with SeleniumBuild Fail-Proof Tests in Any Browser with Selenium
Build Fail-Proof Tests in Any Browser with Selenium
TechWell
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
TechWell
 
Testing in an Agile World: The Current State and Future Possibilities
Testing in an Agile World: The Current State and Future PossibilitiesTesting in an Agile World: The Current State and Future Possibilities
Testing in an Agile World: The Current State and Future Possibilities
TechWell
 
Big Data, Big Trouble: Getting into the Flow of Hadoop Testing
Big Data, Big Trouble: Getting into the Flow of Hadoop TestingBig Data, Big Trouble: Getting into the Flow of Hadoop Testing
Big Data, Big Trouble: Getting into the Flow of Hadoop Testing
TechWell
 
Comprehensive Performance Testing: From Early Dev to Live Production
Comprehensive Performance Testing: From Early Dev to Live ProductionComprehensive Performance Testing: From Early Dev to Live Production
Comprehensive Performance Testing: From Early Dev to Live Production
TechWell
 
Agile Testing at Etsy: How and Why It Works
Agile Testing at Etsy: How and Why It WorksAgile Testing at Etsy: How and Why It Works
Agile Testing at Etsy: How and Why It Works
TechWell
 
Automated Testing: Go Beyond the Basics
Automated Testing: Go Beyond the BasicsAutomated Testing: Go Beyond the Basics
Automated Testing: Go Beyond the Basics
TechWell
 
The Journey to Continuous Testing
The Journey to Continuous TestingThe Journey to Continuous Testing
The Journey to Continuous Testing
TechWell
 
Testing in a Continuous Delivery Pipeline: Faster, Better, Cheaper
Testing in a Continuous Delivery Pipeline: Faster, Better, CheaperTesting in a Continuous Delivery Pipeline: Faster, Better, Cheaper
Testing in a Continuous Delivery Pipeline: Faster, Better, Cheaper
TechWell
 
Agile Metrics: Make Better Decisions with Data
Agile Metrics: Make Better Decisions with DataAgile Metrics: Make Better Decisions with Data
Agile Metrics: Make Better Decisions with Data
TechWell
 
Agile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful InformationAgile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful Information
TechWell
 
It’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory TestingIt’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory Testing
TechWell
 
Agile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development TeamsAgile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development Teams
TechWell
 
IoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentIoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really Different
TechWell
 
Making the Move to Behavior-Driven Development
Making the Move to Behavior-Driven DevelopmentMaking the Move to Behavior-Driven Development
Making the Move to Behavior-Driven Development
TechWell
 
A Tester’s Experience with User Experience Mapping
A Tester’s Experience with User Experience MappingA Tester’s Experience with User Experience Mapping
A Tester’s Experience with User Experience Mapping
Josiah Renaudin
 
Seven Steps to Pragmatic Mobile Testing
Seven Steps to Pragmatic Mobile TestingSeven Steps to Pragmatic Mobile Testing
Seven Steps to Pragmatic Mobile Testing
TechWell
 
A DevOps Primer: Whole Team Approaches for Better Software Quality
A DevOps Primer: Whole Team Approaches for Better Software QualityA DevOps Primer: Whole Team Approaches for Better Software Quality
A DevOps Primer: Whole Team Approaches for Better Software Quality
TechWell
 

Viewers also liked (20)

A Day in the Life of a Test Architect
A Day in the Life of a Test ArchitectA Day in the Life of a Test Architect
A Day in the Life of a Test Architect
 
Conquer the Murky Waters of Test Automation
Conquer the Murky Waters of Test AutomationConquer the Murky Waters of Test Automation
Conquer the Murky Waters of Test Automation
 
Build Fail-Proof Tests in Any Browser with Selenium
Build Fail-Proof Tests in Any Browser with SeleniumBuild Fail-Proof Tests in Any Browser with Selenium
Build Fail-Proof Tests in Any Browser with Selenium
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
 
Testing in an Agile World: The Current State and Future Possibilities
Testing in an Agile World: The Current State and Future PossibilitiesTesting in an Agile World: The Current State and Future Possibilities
Testing in an Agile World: The Current State and Future Possibilities
 
Big Data, Big Trouble: Getting into the Flow of Hadoop Testing
Big Data, Big Trouble: Getting into the Flow of Hadoop TestingBig Data, Big Trouble: Getting into the Flow of Hadoop Testing
Big Data, Big Trouble: Getting into the Flow of Hadoop Testing
 
Comprehensive Performance Testing: From Early Dev to Live Production
Comprehensive Performance Testing: From Early Dev to Live ProductionComprehensive Performance Testing: From Early Dev to Live Production
Comprehensive Performance Testing: From Early Dev to Live Production
 
Agile Testing at Etsy: How and Why It Works
Agile Testing at Etsy: How and Why It WorksAgile Testing at Etsy: How and Why It Works
Agile Testing at Etsy: How and Why It Works
 
Automated Testing: Go Beyond the Basics
Automated Testing: Go Beyond the BasicsAutomated Testing: Go Beyond the Basics
Automated Testing: Go Beyond the Basics
 
The Journey to Continuous Testing
The Journey to Continuous TestingThe Journey to Continuous Testing
The Journey to Continuous Testing
 
Testing in a Continuous Delivery Pipeline: Faster, Better, Cheaper
Testing in a Continuous Delivery Pipeline: Faster, Better, CheaperTesting in a Continuous Delivery Pipeline: Faster, Better, Cheaper
Testing in a Continuous Delivery Pipeline: Faster, Better, Cheaper
 
Agile Metrics: Make Better Decisions with Data
Agile Metrics: Make Better Decisions with DataAgile Metrics: Make Better Decisions with Data
Agile Metrics: Make Better Decisions with Data
 
Agile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful InformationAgile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful Information
 
It’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory TestingIt’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory Testing
 
Agile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development TeamsAgile Strategies for Traditional Software Development Teams
Agile Strategies for Traditional Software Development Teams
 
IoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentIoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really Different
 
Making the Move to Behavior-Driven Development
Making the Move to Behavior-Driven DevelopmentMaking the Move to Behavior-Driven Development
Making the Move to Behavior-Driven Development
 
A Tester’s Experience with User Experience Mapping
A Tester’s Experience with User Experience MappingA Tester’s Experience with User Experience Mapping
A Tester’s Experience with User Experience Mapping
 
Seven Steps to Pragmatic Mobile Testing
Seven Steps to Pragmatic Mobile TestingSeven Steps to Pragmatic Mobile Testing
Seven Steps to Pragmatic Mobile Testing
 
A DevOps Primer: Whole Team Approaches for Better Software Quality
A DevOps Primer: Whole Team Approaches for Better Software QualityA DevOps Primer: Whole Team Approaches for Better Software Quality
A DevOps Primer: Whole Team Approaches for Better Software Quality
 

Similar to Adaptive Automation: Tests that Recover Instead of Failing

Why Unit Testingl
Why Unit TestinglWhy Unit Testingl
Why Unit Testingl
priya_trivedi
 
Why unit testingl
Why unit testinglWhy unit testingl
Why unit testingl
Priya Sharma
 
Why Unit Testingl
Why Unit TestinglWhy Unit Testingl
Why Unit Testingl
priya_trivedi
 
cypress course slides e2e automatic testing .pptx
cypress course slides e2e automatic testing .pptxcypress course slides e2e automatic testing .pptx
cypress course slides e2e automatic testing .pptx
MuhammadSaadBashir2
 
Acceptance And Story Testing Patterns - By Charles Bradley
Acceptance And Story Testing Patterns - By Charles BradleyAcceptance And Story Testing Patterns - By Charles Bradley
Acceptance And Story Testing Patterns - By Charles Bradley
Synerzip
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
Anuj Arora
 
Design Analysis - Planning for Your Next SOLIDWORKS Simulation Project
Design Analysis - Planning for Your Next SOLIDWORKS Simulation ProjectDesign Analysis - Planning for Your Next SOLIDWORKS Simulation Project
Design Analysis - Planning for Your Next SOLIDWORKS Simulation Project
Hawk Ridge Systems
 
No estimates - a controversial way to improve estimation with results-handouts
No estimates - a controversial way to improve estimation with results-handoutsNo estimates - a controversial way to improve estimation with results-handouts
No estimates - a controversial way to improve estimation with results-handouts
Vasco Duarte
 
Writing useful automated tests for the single page applications you build
Writing useful automated tests for the single page applications you buildWriting useful automated tests for the single page applications you build
Writing useful automated tests for the single page applications you build
Andrei Sebastian Cîmpean
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
michael.labriola
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New Normal
TechWell
 
Building a Secure DevOps Pipeline - for your AppSec Program
Building a Secure DevOps Pipeline - for your AppSec Program   Building a Secure DevOps Pipeline - for your AppSec Program
Building a Secure DevOps Pipeline - for your AppSec Program
Matt Tesauro
 
End-to-End Testing with the Heuristic Software Test Model
End-to-End Testing with the Heuristic Software Test ModelEnd-to-End Testing with the Heuristic Software Test Model
End-to-End Testing with the Heuristic Software Test Model
TechWell
 
5 Essential Tips for Load Testing Beginners
5 Essential Tips for Load Testing Beginners5 Essential Tips for Load Testing Beginners
5 Essential Tips for Load Testing Beginners
Neotys
 
Software Testing
Software TestingSoftware Testing
Software Testing
AdroitLogic
 
The Art of Unit Testing Feedback
The Art of Unit Testing FeedbackThe Art of Unit Testing Feedback
The Art of Unit Testing Feedback
Deon Huang
 
Test process - Important Concepts
Test process - Important ConceptsTest process - Important Concepts
Test process - Important Concepts
Sunil Kumar Gunasekaran
 
[DevDay 2016] The toolkit for an amazing product - Speaker: Sebastian Sussman...
[DevDay 2016] The toolkit for an amazing product - Speaker: Sebastian Sussman...[DevDay 2016] The toolkit for an amazing product - Speaker: Sebastian Sussman...
[DevDay 2016] The toolkit for an amazing product - Speaker: Sebastian Sussman...
DevDay Da Nang
 
Successful Teams are TDD Teams
Successful Teams are TDD TeamsSuccessful Teams are TDD Teams
Successful Teams are TDD Teams
Rob Myers
 
Pairwise testing
Pairwise testingPairwise testing
Pairwise testing
Kanoah
 

Similar to Adaptive Automation: Tests that Recover Instead of Failing (20)

Why Unit Testingl
Why Unit TestinglWhy Unit Testingl
Why Unit Testingl
 
Why unit testingl
Why unit testinglWhy unit testingl
Why unit testingl
 
Why Unit Testingl
Why Unit TestinglWhy Unit Testingl
Why Unit Testingl
 
cypress course slides e2e automatic testing .pptx
cypress course slides e2e automatic testing .pptxcypress course slides e2e automatic testing .pptx
cypress course slides e2e automatic testing .pptx
 
Acceptance And Story Testing Patterns - By Charles Bradley
Acceptance And Story Testing Patterns - By Charles BradleyAcceptance And Story Testing Patterns - By Charles Bradley
Acceptance And Story Testing Patterns - By Charles Bradley
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Design Analysis - Planning for Your Next SOLIDWORKS Simulation Project
Design Analysis - Planning for Your Next SOLIDWORKS Simulation ProjectDesign Analysis - Planning for Your Next SOLIDWORKS Simulation Project
Design Analysis - Planning for Your Next SOLIDWORKS Simulation Project
 
No estimates - a controversial way to improve estimation with results-handouts
No estimates - a controversial way to improve estimation with results-handoutsNo estimates - a controversial way to improve estimation with results-handouts
No estimates - a controversial way to improve estimation with results-handouts
 
Writing useful automated tests for the single page applications you build
Writing useful automated tests for the single page applications you buildWriting useful automated tests for the single page applications you build
Writing useful automated tests for the single page applications you build
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
 
Continuous Testing - The New Normal
Continuous Testing - The New NormalContinuous Testing - The New Normal
Continuous Testing - The New Normal
 
Building a Secure DevOps Pipeline - for your AppSec Program
Building a Secure DevOps Pipeline - for your AppSec Program   Building a Secure DevOps Pipeline - for your AppSec Program
Building a Secure DevOps Pipeline - for your AppSec Program
 
End-to-End Testing with the Heuristic Software Test Model
End-to-End Testing with the Heuristic Software Test ModelEnd-to-End Testing with the Heuristic Software Test Model
End-to-End Testing with the Heuristic Software Test Model
 
5 Essential Tips for Load Testing Beginners
5 Essential Tips for Load Testing Beginners5 Essential Tips for Load Testing Beginners
5 Essential Tips for Load Testing Beginners
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
The Art of Unit Testing Feedback
The Art of Unit Testing FeedbackThe Art of Unit Testing Feedback
The Art of Unit Testing Feedback
 
Test process - Important Concepts
Test process - Important ConceptsTest process - Important Concepts
Test process - Important Concepts
 
[DevDay 2016] The toolkit for an amazing product - Speaker: Sebastian Sussman...
[DevDay 2016] The toolkit for an amazing product - Speaker: Sebastian Sussman...[DevDay 2016] The toolkit for an amazing product - Speaker: Sebastian Sussman...
[DevDay 2016] The toolkit for an amazing product - Speaker: Sebastian Sussman...
 
Successful Teams are TDD Teams
Successful Teams are TDD TeamsSuccessful Teams are TDD Teams
Successful Teams are TDD Teams
 
Pairwise testing
Pairwise testingPairwise testing
Pairwise testing
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
TechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
TechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
TechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
TechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
TechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
TechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
TechWell
 
Ma 15
Ma 15Ma 15
Ma 15
TechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
TechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
TechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
TechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
TechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
TechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
TechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
TechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
TechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
TechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
TechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
TechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
KrishnaveniMohan1
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
vaishalijagtap12
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 
The Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdfThe Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdf
mohitd6
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
kgyxske
 
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
Flutter vs. React Native: A Detailed Comparison for App Development in 2024Flutter vs. React Native: A Detailed Comparison for App Development in 2024
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
dhavalvaghelanectarb
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
widenerjobeyrl638
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
confluent
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
Pedro J. Molina
 
Hands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion StepsHands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion Steps
servicesNitor
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
sandeepmenon62
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
Anand Bagmar
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 

Recently uploaded (20)

Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 
The Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdfThe Role of DevOps in Digital Transformation.pdf
The Role of DevOps in Digital Transformation.pdf
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
 
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
Flutter vs. React Native: A Detailed Comparison for App Development in 2024Flutter vs. React Native: A Detailed Comparison for App Development in 2024
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
 
Hands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion StepsHands-on with Apache Druid: Installation & Data Ingestion Steps
Hands-on with Apache Druid: Installation & Data Ingestion Steps
 
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptxOperational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
Operational ease MuleSoft and Salesforce Service Cloud Solution v1.0.pptx
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 

Adaptive Automation: Tests that Recover Instead of Failing

  • 1.         W9   Test  Automation   10/5/16  13:45             Adaptive  Automation:  Tests  that   Recover  Instead  of  Failing   Presented  by:         Scott  Miles       Aconex     Brought  to  you  by:                 350  Corporate  Way,  Suite  400,  Orange  Park,  FL  32073     888-­‐-­‐-­‐268-­‐-­‐-­‐8770  ·∙·∙  904-­‐-­‐-­‐278-­‐-­‐-­‐0524  -­‐  info@techwell.com  -­‐  http://www.starwest.techwell.com/            
  • 2.     Scott  Miles       A  quality  engineer  and  ScrumMaster  at  Aconex,  Scott  Miles  is  an  experienced   automation  engineer  and  testing  enthusiast  from  Melbourne,  Australia.  Scott  enjoys   challenging  what  is  accepted  as  standard  practice  and  is  always  striving  to  get  more   out  of  his  team  and  tools.  To  this  end,  he  has  published  several  articles  and  papers   about  the  limitation  of  automation  techniques  and  is  constantly  promoting  the  use   of  smarter  and  better  tools.  A  prominent  member  of  the  Context  Driven  Tester   community  in  Melbourne,  Scott  is  an  organizer  of  both  the  Australian  Testing  Days   2016  conference  as  well  as  the  Test  Engineering  Alliance  of  Melbourne.  
  • 3. 9/21/16 1 ADAPTIVE AUTOMATION Tests that recover instead of failing Scott Miles What is Adaptive Automation? a series of techniques to make automation more… adaptive agile smarter
  • 4. 9/21/16 2 In the beginning Me What we had Submit Button Parent = login_frame Type = button X Pos = 233 Y Pos = 841 Colour = #2d145e …. and so on
  • 5. 9/21/16 3 Required constant maintenance UI Designers Testers Caused delay in feedback Run 1 Run 2 Run 3
  • 6. 9/21/16 4 Update selectors? Submit Button Css = #btn_login What would we miss?
  • 7. 9/21/16 5 Two goals, one solution Don’t block tests from continuing after failing Reduce maintenance without reducing coverage Adaptive Elements! Adaptive Elements! Don’t block tests from continuing after failing If no exact match found, see if there is a close match, log the difference and continue
  • 8. 9/21/16 6 Adaptive Elements! Don’t block tests from continuing after failing If no exact match found, see if there is a close match, log the difference and continue Reduce maintenance without reducing coverage If test continued with new element, allow the user to automatically update tests with new element selector When should it happen? Find Element Continue located? Adaptive Elements Yes No
  • 9. 9/21/16 7 Figuring it out If we cant find the element, which one do we use? Figuring it out If we cant find the element, which one do we use? Compare all elements on the page and find the closest
  • 10. 9/21/16 8 Figuring it out If we cant find the element, which one do we use? Compare all elements on the page and find the closest A page has a lot of elements, how can we speed things up and increase accuracy? Figuring it out If we cant find the element, which one do we use? Compare all elements on the page and find the closest A page has a lot of elements, how can we speed things up and increase accuracy? We can eliminate almost all elements by excluding those that haven’t changed since last run
  • 11. 9/21/16 9 Figuring it out How much effort will it be to update my tests? Figuring it out How much effort will it be to update my tests? Your tests and element definitions wouldn’t need to change at all. Once the framework is modified, all existing tests will work with adaptive elements.
  • 12. 9/21/16 10 Figuring it out How much effort will it be to update my tests? Your tests and element definitions wouldn’t need to change at all. Once the framework is modified, all existing tests will work with adaptive elements. How can determine which element is the closest match? Figuring it out How much effort will it be to update my tests? Your tests and element definitions wouldn’t need to change at all. Once the framework is modified, all existing tests will work with adaptive elements. How can determine which element is the closest match? We can compare the each property of an expected match with the same property of the missing element
  • 13. 9/21/16 11 Configure Properties Property Measurement Css selector CSS Path X (int) Distance Y (int) Distance Length (int) Size Height (int) Size Type (string) Hierarchy Parent (string) CSS Path Text (string) Text Timestamp (string) -- ignore -- Configure Expectations **Maximum threshold = 20 Measurement Weight Distance 100px = 1 Size 10px = 1 Text 1 edit = 1 Hierarchy 1 step = 10 Css Path 1 step = 10, 1 property = 5
  • 14. 9/21/16 12 Example Definition Text = “Login” Type = Button2 Element A Text = “Login” Type = Button1 Element B Text = “Login now” Type = Button2 ? Example Definition Text = “Login” Type = Button2 Element A Text = “Login” Type = Button1 Element B Text = “Login now” Type = Button2 1 hierarchy step 10 points ? ∆ 4 edit distance 4 points∆
  • 15. 9/21/16 13 Example Definition Text = “Login” Type = Button2 Element B Text = “Login now” Type = Button2 Benefit NEVER UPDATE AN ELEMENT SELECTOR AGAIN!
  • 16. 9/21/16 14 Demo Demo removed to reduce upload size What if… What if the element changing is a valid bug?
  • 17. 9/21/16 15 What if… What if the element changing is a valid bug? You don’t have to accept the elements changes and at least the test didn’t stop at that point. What if… What if the element changing is a valid bug? You don’t have to accept the elements changes and at least the test didn’t stop at that point. What if it selects the wrong element?
  • 18. 9/21/16 16 What if… What if the element changing is a valid bug? You don’t have to accept the elements changes and at least the test didn’t stop at that point. What if it selects the wrong element? You can still mark the test as failed afterwards, but at least we tried! Adaptive Actions Find Element Continue located? located?Adaptive Elements Adaptive Actions Yes Yes No No
  • 21. 9/21/16 19 In the beginning Run Test Failed? Try Again! Yes Re-run restrictions
  • 22. 9/21/16 20 Small steps Run Test Failed? Fix Database Yes Select Tests Try Again! Shared environment
  • 23. 9/21/16 21 Small steps Run Test Failed? Fix Database Yes Select Tests Try Again! Config Correct? Fix Config Try Again! Yes No Interruptions
  • 24. 9/21/16 22 Interruptions Small steps Run Test Failed? Fix Database Yes Select Tests Try Again! Config Correct? Fix Config Try Again! No No Popup? Close Popup Try Again! Yes
  • 25. 9/21/16 23 Adaptive Actions Recovered?Defined RecoveryAdaptive Actions Application Recovery Pattern Recovery Recovered? Recovered? Continue No Yes No Yes Yes Adaptive Actions
  • 26. 9/21/16 24 Adaptive Reporting What techniques? Find Element Continue located? located?Adaptive Elements Adaptive Actions Yes Yes No No
  • 27. 9/21/16 25 Adaptive Elements Contact Me Scott Miles au.linkedin.com/in/scottymiles @adaptivetester http://www.adaptivetester.com http://www.meetup.com/TestEngineeringAlliance/