SlideShare a Scribd company logo
To Automate or Not to Automate
5 Things to Consider when Building Your Test Automation Strategy
Dr Maciej Gryka
Agenda
1. Introduction
2. Creating a testing strategy
3. The knowns (unit testing, CI/CD, usability, pentesting)
4. The fuzzies: functional testing
5. Guidance on how things break
6. Final Takeaways
About Me
Maciej Gryka
Senior Manager
Rainforest QA
Maciej analyzes data and leads the science team at RainforestQA.
He enjoys solving data-related problems while defining roadmaps,
leading teams and projects, and planning releases. He’s currently
developing machine learning algorithms and helping define
Rainforest’s automation roadmap.
Specialities: R&D, Machine Learning
Quality Assurance, automation and dogma
- Quality Assurance is means to an end.
- Very few best practices work equally well for every team.
- Developing a QA strategy for your specific case is key.
- Automation might fit into this picture, but there are important caveats.
Creating a QA Strategy
- Do you even need one?
- What is and isn’t a good strategy?
- Think about the trade-offs.
- To incorporate automation into your
strategy, you need to know what to expect
down the line.
X
Some things have simple answers
- You should have code reviews.
- You should have decent unit test coverage.
- You should use CI and execute your unit tests before
every deployment.
- You should not ship code without tests.
- Automating accessibility/usability/penetration testing is
probably not a great idea.
Poll
Which is the best description of your current testing setup?
How much functional testing to automate
- When things get less clear is functional testing: while it’s possible to
automate it, it’s certainly not easy.
- In a way, functional testing is the essence: do things even work?
- It can be tricky to know how much to automate, because there are multiple
areas where you can spend your effort and they provide different return on
your investment depending on the scenario.
Testing ROI: 4 areas
Execute Triage MaintainBuild
Testing ROI: manual testing
Execute Triage MaintainBuild
Build
Testing ROI: automation
Execute Triage Maintain
Build
Testing ROI: RainforestQA
Execute Triage Maintain
Automated tests often break for similar reasons
- If you wrote Selenium (or similar) tests before, you probably know this.
- Failures repeat, e.g. it’s tricky to robustly specify how to find an element.
- Developing this intuition takes a lot of effort and it differs depending on your
background.
- We need a systematic way to talk about such problem.
- Scientists to the rescue!
Why do Record/Replay Tests of Web Applications Break?, Hammoudi et al., ICST 2016
Research methodology
1. Assemble a collection of web applications.
2. For each application, start with an early version.
3. Develop automated tests for that application version.
4. Update the app, running the tests at each update, recording and fixing
breakage reasons.
5. Convert the results into a taxonomy of failures, sorted by importance.
Why do Record/Replay Tests of Web Applications Break?, Hammoudi et al., ICST 2016
Automated tests often break for similar reasons
1. Element locators changes
2. Value changes
3. Page reloading
4. User session times
5. Pop-up windows
Why do Record/Replay Tests of Web Applications Break?, Hammoudi et al., ICST 2016
Breakage reason 1: locator changes
Breakage reason 1: locator changes
1. You need to find interface elements to interact with and verify them.
2. This is done using “locators” such as element type, id, CSS class etc.
3. Such locators often change, even when the appearance stays the same.
4. What looks the same to a human, might be very different to a testing script.
5. No easy way around this, fixing takes effort.
Breakage reason 2: value changes
Breakage reason 2: value changes
1. Verifying whether your application reacts appropriately to certain input and
produces the correct output: you need to assume certain values.
2. Your back-end will change (e.g. updated password requirements, adding a
new field to a form).
3. You will have to update your automation script accordingly.
Breakage reason 3: page reloads
Breakage reason 3: page reloads
1. All useful applications need to store some state. Very often, page reload
affects that state.
2. E.g. a reload might be necessary to update the UI or it might be critical for
the user to not reload until some requirement is met (did you ever partially fill
in a form only to lose progress by reloading by accident?).
3. The points at which reloads are necessary/dangerous change as your
developers work on the product.
4. The automation scripts need to be kept in sync, but it’s not always obvious.
Breakage reason 4: user session timing
Breakage reason 4: user session timing
1. In many cases, session timings are important: do you want to log out inactive
users after some time? Or remind someone that they’ve had items left in their
cart for a while?
2. Testing this is important too: affects security, conversion rates etc. and it’s
possible to automate.
3. As your implementation changes, your script will need to be updated as well.
Breakage reason 5: pop-ups
Breakage reason 5: pop-ups
1. Absence or presence of pop-ups is another common breakage reason.
2. We’ve seen many examples of this ourselves at Rainforest: newsletters,
promotions, support integrations etc. all produce pop-ups.
3. While they are easy to ignore for automation scripts (less so for humans!),
they can be on a critical path and therefore in need of testing.
4. Updating their triggers means updating the automation.
Poll
Which breakage reason do you encounter most often?
Final Takeaways
1. Develop your own testing strategy.
2. Cover the bases (e.g. unit tests, CI).
3. When automating tests, mind the maintenance costs and common pitfalls.
Thank you!
If you have additional questions, feel free to
reach out to me at maciej@rainforestqa.com

More Related Content

What's hot

Influence of emphasized automation in ci
Influence of emphasized automation in ciInfluence of emphasized automation in ci
Influence of emphasized automation in ci
BugRaptors
 
Lessons Learned in a Continuously Developing Service-Oriented Architecture
Lessons Learned in a Continuously Developing Service-Oriented ArchitectureLessons Learned in a Continuously Developing Service-Oriented Architecture
Lessons Learned in a Continuously Developing Service-Oriented Architecture
mdwheele
 
Agile Testing Dilemmas
Agile Testing DilemmasAgile Testing Dilemmas
Agile Testing Dilemmas
Aman King
 
30 of the best free software test tools in 60 minutes by Jess Lancaster
30 of the best free software test tools in 60 minutes by Jess Lancaster30 of the best free software test tools in 60 minutes by Jess Lancaster
30 of the best free software test tools in 60 minutes by Jess Lancaster
QA or the Highway
 
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and Practices
Anand Bagmar
 
7 Deadly Sins of Agile Software Test Automation
7 Deadly Sins of Agile Software Test Automation7 Deadly Sins of Agile Software Test Automation
7 Deadly Sins of Agile Software Test Automation
Adrian Smith
 
Tool Support For Testing (Types of Test Tool)
Tool Support For Testing (Types of Test Tool)Tool Support For Testing (Types of Test Tool)
Tool Support For Testing (Types of Test Tool)
sarahrambe
 
Defects in software testing
Defects in software testingDefects in software testing
Defects in software testing
sandeepsingh2808
 
Effective specifications for agile teams
Effective specifications for agile teamsEffective specifications for agile teams
Effective specifications for agile teams
gojkoadzic
 
Testing in the Age of Machine Learning
Testing in the Age of Machine Learning Testing in the Age of Machine Learning
Testing in the Age of Machine Learning
vinaya muralidharan
 
Bug Advocacy
Bug AdvocacyBug Advocacy
Bug Advocacy
nazeer pasha
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh Dahal
QA or the Highway
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
Naresh Jain
 
What is the difference between manual testing and automation testing
What is the difference between manual testing and automation testingWhat is the difference between manual testing and automation testing
What is the difference between manual testing and automation testing
Er Mahednra Chauhan
 
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
 
User Acceptance Testing (Uat)
User Acceptance Testing (Uat)User Acceptance Testing (Uat)
User Acceptance Testing (Uat)
Thomas Martin
 
User acceptance testing_(uat) 2013
User acceptance testing_(uat) 2013User acceptance testing_(uat) 2013
User acceptance testing_(uat) 2013
Amrita Sinha
 
Top Agile Myths & Misconceptions
Top Agile Myths & MisconceptionsTop Agile Myths & Misconceptions
Top Agile Myths & Misconceptions
David Tzemach
 
Test cases for effective testing - part 1
Test cases for effective testing - part 1Test cases for effective testing - part 1
Test cases for effective testing - part 1
Mona M. Abd El-Rahman
 
Presentation On Software Testing Bug Life Cycle
Presentation On Software Testing Bug Life CyclePresentation On Software Testing Bug Life Cycle
Presentation On Software Testing Bug Life Cycle
Rajon
 

What's hot (20)

Influence of emphasized automation in ci
Influence of emphasized automation in ciInfluence of emphasized automation in ci
Influence of emphasized automation in ci
 
Lessons Learned in a Continuously Developing Service-Oriented Architecture
Lessons Learned in a Continuously Developing Service-Oriented ArchitectureLessons Learned in a Continuously Developing Service-Oriented Architecture
Lessons Learned in a Continuously Developing Service-Oriented Architecture
 
Agile Testing Dilemmas
Agile Testing DilemmasAgile Testing Dilemmas
Agile Testing Dilemmas
 
30 of the best free software test tools in 60 minutes by Jess Lancaster
30 of the best free software test tools in 60 minutes by Jess Lancaster30 of the best free software test tools in 60 minutes by Jess Lancaster
30 of the best free software test tools in 60 minutes by Jess Lancaster
 
Test Automation - Principles and Practices
Test Automation - Principles and PracticesTest Automation - Principles and Practices
Test Automation - Principles and Practices
 
7 Deadly Sins of Agile Software Test Automation
7 Deadly Sins of Agile Software Test Automation7 Deadly Sins of Agile Software Test Automation
7 Deadly Sins of Agile Software Test Automation
 
Tool Support For Testing (Types of Test Tool)
Tool Support For Testing (Types of Test Tool)Tool Support For Testing (Types of Test Tool)
Tool Support For Testing (Types of Test Tool)
 
Defects in software testing
Defects in software testingDefects in software testing
Defects in software testing
 
Effective specifications for agile teams
Effective specifications for agile teamsEffective specifications for agile teams
Effective specifications for agile teams
 
Testing in the Age of Machine Learning
Testing in the Age of Machine Learning Testing in the Age of Machine Learning
Testing in the Age of Machine Learning
 
Bug Advocacy
Bug AdvocacyBug Advocacy
Bug Advocacy
 
Test Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh DahalTest Automation Architecture That Works by Bhupesh Dahal
Test Automation Architecture That Works by Bhupesh Dahal
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 
What is the difference between manual testing and automation testing
What is the difference between manual testing and automation testingWhat is the difference between manual testing and automation testing
What is the difference between manual testing and automation testing
 
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)
 
User Acceptance Testing (Uat)
User Acceptance Testing (Uat)User Acceptance Testing (Uat)
User Acceptance Testing (Uat)
 
User acceptance testing_(uat) 2013
User acceptance testing_(uat) 2013User acceptance testing_(uat) 2013
User acceptance testing_(uat) 2013
 
Top Agile Myths & Misconceptions
Top Agile Myths & MisconceptionsTop Agile Myths & Misconceptions
Top Agile Myths & Misconceptions
 
Test cases for effective testing - part 1
Test cases for effective testing - part 1Test cases for effective testing - part 1
Test cases for effective testing - part 1
 
Presentation On Software Testing Bug Life Cycle
Presentation On Software Testing Bug Life CyclePresentation On Software Testing Bug Life Cycle
Presentation On Software Testing Bug Life Cycle
 

Similar to WEBINAR: To Automate or Not to Automate

Test automation: Are Enterprises ready to bite the bullet?
Test automation: Are Enterprises ready to bite the bullet?Test automation: Are Enterprises ready to bite the bullet?
Test automation: Are Enterprises ready to bite the bullet?
Aspire Systems
 
Use Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual TestingUse Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual Testing
TechWell
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
Perfecto by Perforce
 
Fundamental Of Testing
Fundamental Of TestingFundamental Of Testing
Fundamental Of Testing
suci maisaroh
 
Effective Testing fo Startups
Effective Testing fo StartupsEffective Testing fo Startups
Effective Testing fo Startups
Testnetic
 
Automation testing interview pdf org
Automation testing interview pdf orgAutomation testing interview pdf org
Automation testing interview pdf org
Testbytes
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
Javier Gonzalez-Sanchez
 
Software testing for project report .pdf
Software testing for project report .pdfSoftware testing for project report .pdf
Software testing for project report .pdf
Kamal Acharya
 
M. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестированияM. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестирования
Alex
 
Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success
TEST Huddle
 
5 Reasons Why Test Automation Can Fail.pdf
5 Reasons Why Test Automation Can Fail.pdf5 Reasons Why Test Automation Can Fail.pdf
5 Reasons Why Test Automation Can Fail.pdf
AnanthReddy38
 
Simplify 3X
Simplify 3XSimplify 3X
Simplify 3X
Amitayu Chakraborty
 
Creating testing tools to support development
Creating testing tools to support developmentCreating testing tools to support development
Creating testing tools to support development
Chema del Barco
 
Are you getting traction - Tales from the tech transfer trenches
Are you getting traction - Tales from the tech transfer trenchesAre you getting traction - Tales from the tech transfer trenches
Are you getting traction - Tales from the tech transfer trenches
Satish Chandra
 
Test Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back TomorrowTest Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back Tomorrow
TechWell
 
Automation Framework Design
Automation Framework DesignAutomation Framework Design
Automation Framework Design
Kunal Saxena
 
Selenium - A Trending Automation Testing Tool
Selenium - A Trending Automation Testing ToolSelenium - A Trending Automation Testing Tool
Selenium - A Trending Automation Testing Tool
ijtsrd
 
Automation Responsibility
Automation ResponsibilityAutomation Responsibility
Automation Responsibility
Zbyszek Mockun
 
How to make Automation an asset for Organization
How to make Automation an asset for OrganizationHow to make Automation an asset for Organization
How to make Automation an asset for Organization
anuvip
 
Why Automation Fails—in Theory and Practice
Why Automation Fails—in Theory and PracticeWhy Automation Fails—in Theory and Practice
Why Automation Fails—in Theory and Practice
TechWell
 

Similar to WEBINAR: To Automate or Not to Automate (20)

Test automation: Are Enterprises ready to bite the bullet?
Test automation: Are Enterprises ready to bite the bullet?Test automation: Are Enterprises ready to bite the bullet?
Test automation: Are Enterprises ready to bite the bullet?
 
Use Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual TestingUse Automation to Assist—Not Replace—Manual Testing
Use Automation to Assist—Not Replace—Manual Testing
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
Fundamental Of Testing
Fundamental Of TestingFundamental Of Testing
Fundamental Of Testing
 
Effective Testing fo Startups
Effective Testing fo StartupsEffective Testing fo Startups
Effective Testing fo Startups
 
Automation testing interview pdf org
Automation testing interview pdf orgAutomation testing interview pdf org
Automation testing interview pdf org
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
 
Software testing for project report .pdf
Software testing for project report .pdfSoftware testing for project report .pdf
Software testing for project report .pdf
 
M. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестированияM. Holovaty, Концепции автоматизированного тестирования
M. Holovaty, Концепции автоматизированного тестирования
 
Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success
 
5 Reasons Why Test Automation Can Fail.pdf
5 Reasons Why Test Automation Can Fail.pdf5 Reasons Why Test Automation Can Fail.pdf
5 Reasons Why Test Automation Can Fail.pdf
 
Simplify 3X
Simplify 3XSimplify 3X
Simplify 3X
 
Creating testing tools to support development
Creating testing tools to support developmentCreating testing tools to support development
Creating testing tools to support development
 
Are you getting traction - Tales from the tech transfer trenches
Are you getting traction - Tales from the tech transfer trenchesAre you getting traction - Tales from the tech transfer trenches
Are you getting traction - Tales from the tech transfer trenches
 
Test Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back TomorrowTest Automation: Investment Today Pays Back Tomorrow
Test Automation: Investment Today Pays Back Tomorrow
 
Automation Framework Design
Automation Framework DesignAutomation Framework Design
Automation Framework Design
 
Selenium - A Trending Automation Testing Tool
Selenium - A Trending Automation Testing ToolSelenium - A Trending Automation Testing Tool
Selenium - A Trending Automation Testing Tool
 
Automation Responsibility
Automation ResponsibilityAutomation Responsibility
Automation Responsibility
 
How to make Automation an asset for Organization
How to make Automation an asset for OrganizationHow to make Automation an asset for Organization
How to make Automation an asset for Organization
 
Why Automation Fails—in Theory and Practice
Why Automation Fails—in Theory and PracticeWhy Automation Fails—in Theory and Practice
Why Automation Fails—in Theory and Practice
 

Recently uploaded

Levelised Cost of Hydrogen (LCOH) Calculator Manual
Levelised Cost of Hydrogen  (LCOH) Calculator ManualLevelised Cost of Hydrogen  (LCOH) Calculator Manual
Levelised Cost of Hydrogen (LCOH) Calculator Manual
Massimo Talia
 
OOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming languageOOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming language
PreethaV16
 
smart pill dispenser is designed to improve medication adherence and safety f...
smart pill dispenser is designed to improve medication adherence and safety f...smart pill dispenser is designed to improve medication adherence and safety f...
smart pill dispenser is designed to improve medication adherence and safety f...
um7474492
 
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
upoux
 
SCALING OF MOS CIRCUITS m .pptx
SCALING OF MOS CIRCUITS m                 .pptxSCALING OF MOS CIRCUITS m                 .pptx
SCALING OF MOS CIRCUITS m .pptx
harshapolam10
 
Unit -II Spectroscopy - EC I B.Tech.pdf
Unit -II Spectroscopy - EC  I B.Tech.pdfUnit -II Spectroscopy - EC  I B.Tech.pdf
Unit -II Spectroscopy - EC I B.Tech.pdf
TeluguBadi
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
Roger Rozario
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 
Power Electronics- AC -AC Converters.pptx
Power Electronics- AC -AC Converters.pptxPower Electronics- AC -AC Converters.pptx
Power Electronics- AC -AC Converters.pptx
Poornima D
 
A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...
A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...
A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...
DharmaBanothu
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
Blood finder application project report (1).pdf
Blood finder application project report (1).pdfBlood finder application project report (1).pdf
Blood finder application project report (1).pdf
Kamal Acharya
 
Ericsson LTE Throughput Troubleshooting Techniques.ppt
Ericsson LTE Throughput Troubleshooting Techniques.pptEricsson LTE Throughput Troubleshooting Techniques.ppt
Ericsson LTE Throughput Troubleshooting Techniques.ppt
wafawafa52
 
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
ijseajournal
 
Bituminous road construction project based learning report
Bituminous road construction project based learning reportBituminous road construction project based learning report
Bituminous road construction project based learning report
CE19KaushlendraKumar
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
Paris Salesforce Developer Group
 
Supermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdfSupermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdf
Kamal Acharya
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
nedcocy
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
PriyankaKilaniya
 

Recently uploaded (20)

Levelised Cost of Hydrogen (LCOH) Calculator Manual
Levelised Cost of Hydrogen  (LCOH) Calculator ManualLevelised Cost of Hydrogen  (LCOH) Calculator Manual
Levelised Cost of Hydrogen (LCOH) Calculator Manual
 
OOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming languageOOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming language
 
smart pill dispenser is designed to improve medication adherence and safety f...
smart pill dispenser is designed to improve medication adherence and safety f...smart pill dispenser is designed to improve medication adherence and safety f...
smart pill dispenser is designed to improve medication adherence and safety f...
 
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
 
SCALING OF MOS CIRCUITS m .pptx
SCALING OF MOS CIRCUITS m                 .pptxSCALING OF MOS CIRCUITS m                 .pptx
SCALING OF MOS CIRCUITS m .pptx
 
Unit -II Spectroscopy - EC I B.Tech.pdf
Unit -II Spectroscopy - EC  I B.Tech.pdfUnit -II Spectroscopy - EC  I B.Tech.pdf
Unit -II Spectroscopy - EC I B.Tech.pdf
 
Transformers design and coooling methods
Transformers design and coooling methodsTransformers design and coooling methods
Transformers design and coooling methods
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 
Power Electronics- AC -AC Converters.pptx
Power Electronics- AC -AC Converters.pptxPower Electronics- AC -AC Converters.pptx
Power Electronics- AC -AC Converters.pptx
 
A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...
A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...
A high-Speed Communication System is based on the Design of a Bi-NoC Router, ...
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
Blood finder application project report (1).pdf
Blood finder application project report (1).pdfBlood finder application project report (1).pdf
Blood finder application project report (1).pdf
 
Ericsson LTE Throughput Troubleshooting Techniques.ppt
Ericsson LTE Throughput Troubleshooting Techniques.pptEricsson LTE Throughput Troubleshooting Techniques.ppt
Ericsson LTE Throughput Troubleshooting Techniques.ppt
 
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
 
Bituminous road construction project based learning report
Bituminous road construction project based learning reportBituminous road construction project based learning report
Bituminous road construction project based learning report
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
 
Supermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdfSupermarket Management System Project Report.pdf
Supermarket Management System Project Report.pdf
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
 
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
Prediction of Electrical Energy Efficiency Using Information on Consumer's Ac...
 

WEBINAR: To Automate or Not to Automate

  • 1. To Automate or Not to Automate 5 Things to Consider when Building Your Test Automation Strategy Dr Maciej Gryka
  • 2. Agenda 1. Introduction 2. Creating a testing strategy 3. The knowns (unit testing, CI/CD, usability, pentesting) 4. The fuzzies: functional testing 5. Guidance on how things break 6. Final Takeaways
  • 3. About Me Maciej Gryka Senior Manager Rainforest QA Maciej analyzes data and leads the science team at RainforestQA. He enjoys solving data-related problems while defining roadmaps, leading teams and projects, and planning releases. He’s currently developing machine learning algorithms and helping define Rainforest’s automation roadmap. Specialities: R&D, Machine Learning
  • 4. Quality Assurance, automation and dogma - Quality Assurance is means to an end. - Very few best practices work equally well for every team. - Developing a QA strategy for your specific case is key. - Automation might fit into this picture, but there are important caveats.
  • 5. Creating a QA Strategy - Do you even need one? - What is and isn’t a good strategy? - Think about the trade-offs. - To incorporate automation into your strategy, you need to know what to expect down the line. X
  • 6. Some things have simple answers - You should have code reviews. - You should have decent unit test coverage. - You should use CI and execute your unit tests before every deployment. - You should not ship code without tests. - Automating accessibility/usability/penetration testing is probably not a great idea.
  • 7. Poll Which is the best description of your current testing setup?
  • 8. How much functional testing to automate - When things get less clear is functional testing: while it’s possible to automate it, it’s certainly not easy. - In a way, functional testing is the essence: do things even work? - It can be tricky to know how much to automate, because there are multiple areas where you can spend your effort and they provide different return on your investment depending on the scenario.
  • 9. Testing ROI: 4 areas Execute Triage MaintainBuild
  • 10. Testing ROI: manual testing Execute Triage MaintainBuild
  • 13. Automated tests often break for similar reasons - If you wrote Selenium (or similar) tests before, you probably know this. - Failures repeat, e.g. it’s tricky to robustly specify how to find an element. - Developing this intuition takes a lot of effort and it differs depending on your background. - We need a systematic way to talk about such problem. - Scientists to the rescue! Why do Record/Replay Tests of Web Applications Break?, Hammoudi et al., ICST 2016
  • 14. Research methodology 1. Assemble a collection of web applications. 2. For each application, start with an early version. 3. Develop automated tests for that application version. 4. Update the app, running the tests at each update, recording and fixing breakage reasons. 5. Convert the results into a taxonomy of failures, sorted by importance. Why do Record/Replay Tests of Web Applications Break?, Hammoudi et al., ICST 2016
  • 15. Automated tests often break for similar reasons 1. Element locators changes 2. Value changes 3. Page reloading 4. User session times 5. Pop-up windows Why do Record/Replay Tests of Web Applications Break?, Hammoudi et al., ICST 2016
  • 16. Breakage reason 1: locator changes
  • 17. Breakage reason 1: locator changes 1. You need to find interface elements to interact with and verify them. 2. This is done using “locators” such as element type, id, CSS class etc. 3. Such locators often change, even when the appearance stays the same. 4. What looks the same to a human, might be very different to a testing script. 5. No easy way around this, fixing takes effort.
  • 18. Breakage reason 2: value changes
  • 19. Breakage reason 2: value changes 1. Verifying whether your application reacts appropriately to certain input and produces the correct output: you need to assume certain values. 2. Your back-end will change (e.g. updated password requirements, adding a new field to a form). 3. You will have to update your automation script accordingly.
  • 20. Breakage reason 3: page reloads
  • 21. Breakage reason 3: page reloads 1. All useful applications need to store some state. Very often, page reload affects that state. 2. E.g. a reload might be necessary to update the UI or it might be critical for the user to not reload until some requirement is met (did you ever partially fill in a form only to lose progress by reloading by accident?). 3. The points at which reloads are necessary/dangerous change as your developers work on the product. 4. The automation scripts need to be kept in sync, but it’s not always obvious.
  • 22. Breakage reason 4: user session timing
  • 23. Breakage reason 4: user session timing 1. In many cases, session timings are important: do you want to log out inactive users after some time? Or remind someone that they’ve had items left in their cart for a while? 2. Testing this is important too: affects security, conversion rates etc. and it’s possible to automate. 3. As your implementation changes, your script will need to be updated as well.
  • 25. Breakage reason 5: pop-ups 1. Absence or presence of pop-ups is another common breakage reason. 2. We’ve seen many examples of this ourselves at Rainforest: newsletters, promotions, support integrations etc. all produce pop-ups. 3. While they are easy to ignore for automation scripts (less so for humans!), they can be on a critical path and therefore in need of testing. 4. Updating their triggers means updating the automation.
  • 26. Poll Which breakage reason do you encounter most often?
  • 27. Final Takeaways 1. Develop your own testing strategy. 2. Cover the bases (e.g. unit tests, CI). 3. When automating tests, mind the maintenance costs and common pitfalls.
  • 28. Thank you! If you have additional questions, feel free to reach out to me at maciej@rainforestqa.com