SlideShare a Scribd company logo
Automation in Testing - © Mark Winteringham - 2019Automation in Testing - © Mark Winteringham - 2019
The automation
‘breakup’
Saying goodbye to full stack tests with task analysis
Mark Winteringham
@2bittester
Automation in Testing - © Mark Winteringham - 2019Automation in Testing - © Mark Winteringham - 2019
How do we know if a
check is valuable?
Automation in Testing - © Mark Winteringham - 2019
User can log into an
application
Automation in Testing - © Mark Winteringham - 2019
Targeted?
Automation in Testing - © Mark Winteringham - 2019
Reliable?
Automation in Testing - © Mark Winteringham - 2019
Informative?
Automation in Testing - © Mark Winteringham - 2019
Maintainable?
Automation in Testing - © Mark Winteringham - 2019
Speedy?
Automation in Testing - © Mark Winteringham - 2019
Automation in Testing - © Mark Winteringham - 2019Automation in Testing - © Mark Winteringham - 2019
How do we identify and
implement valuable
checks?
Automation in Testing - © Mark Winteringham - 2019Automation in Testing - © Mark Winteringham - 2019
TASK ANALYSIS!
Automation in Testing - © Mark Winteringham - 2019
www.thunderboltkids.co.za
Automation in Testing - © Mark Winteringham - 2019
UI
JS
API
SVC
Click login
link
Build
login page
Interact
with Login
Send credentials
to Auth API
Parse
credential
s
Check credentials /
Create token
Send token
Flag as
logged in
Render
room comp.
View
rooms
Successful
login flow
Initial state:
• Single page app code loaded into browser
• Current state is not logged in Triggers
Seam /
LayerAction
Key:
JS/HTML
HTTP
JAVA
USER
Automation in Testing - © Mark Winteringham - 2019Automation in Testing - © Mark Winteringham - 2019
Risk analysis
Automation in Testing - © Mark Winteringham - 2019
Parse
credential
s
UI
JS
API
SVC
Click login
link
Build
login page
Interact
with Login
Send credentials
to Auth API
Check credentials /
Create token
Flag as
logged in
View
rooms
Successful
login flow Triggers
Seam /
LayerAction
Key:
JS/HTML
HTTP
JAVA
Send token
USER
🔎
Initial state:
• Single page app code loaded into browser
• Current state is not logged in
Check form is
rendered correctly
Visual check
🤖
Render
room comp.
Automation in Testing - © Mark Winteringham - 2019
UI
JS
API
SVC
Click login
link
Build
login page
Interact
with Login
Send credentials
to Auth API
Check credentials /
Create token
Flag as
logged in
View
rooms
Successful
login flow Triggers
Seam /
LayerAction
Key:
JS/HTML
HTTP
JAVA
Parse
credential
s
Send token
🤖 🔎
Initial state:
• Single page app code loaded into browser
• Current state is not logged in
Check API handles
request and response
correctly
API check
USER
Render
room comp.
Automation in Testing - © Mark Winteringham - 2019
Parse
credential
s
UI
JS
API
SVC
Click login
link
Build
login page
Interact
with Login
Send credentials
to Auth API
Check credentials /
Create token
Flag as
logged in
View
rooms
Successful
login flow Triggers
Seam /
LayerAction
Key:
JS/HTML
HTTP
JAVA
Send token
Render
room comp.
🤖 🔎
Initial state:
• Single page app code loaded into browser
• Current state is not logged in
Check token is
created correctly
Unit check
USER
Automation in Testing - © Mark Winteringham - 2019
Parse
credential
s
UI
JS
API
SVC
Click login
link
Build
login page
Interact
with Login
Send credentials
to Auth API
Check credentials /
Create token
Flag as
logged in
View
rooms
Successful
login flow Triggers
Seam /
LayerAction
Key:
JS/HTML
HTTP
JAVA
Send token
🤖 🔎
Initial state:
• Single page app code loaded into browser
• Current state is not logged in
Check login page
HTML is correct
Unit check
USER
Render
room comp.
Automation in Testing - © Mark Winteringham - 2019
Visual checks
Check form is
rendered
correctly
JavaScript unit
checks
Backend unit checks Backend API checks
Full stack smoke
check
Check API
handles request
and response
correctly
Check login page
HTML is correct
Check token is
created correctly
Automation in Testing - © Mark Winteringham - 2019Automation in Testing - © Mark Winteringham - 2019
In Summary
Automation in Testing - © Mark Winteringham - 2019
Are your checks TRIMS?
Apply task analysis
Use task analysis to identify targeted checks
Connect checks in a ‘chain of trust’
Automation in Testing - © Mark Winteringham - 2019
Mark Winteringham
@2bittester
www.mwtestconsultancy.co.uk
www.automationintesting.com
github.com/mwinteringham/restful-booker-platform

More Related Content

What's hot

API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
BizTalk360
 
Developer Experience (DX) for UX Professionals
Developer Experience (DX) for UX ProfessionalsDeveloper Experience (DX) for UX Professionals
Developer Experience (DX) for UX Professionals
Ian Jennings
 
API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)
Bishoy Demian
 
API Security Lifecycle
API Security LifecycleAPI Security Lifecycle
API Security Lifecycle
Apigee | Google Cloud
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
Daniel Toomey
 
OWASP Top Ten API Project 2019
OWASP Top Ten API Project 2019OWASP Top Ten API Project 2019
OWASP Top Ten API Project 2019
Fernando Galves
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API Security
Matt Tesauro
 
Tips for Building a Compelling Product Vision by Amazon Sr PM
Tips for Building a Compelling Product Vision by Amazon Sr PMTips for Building a Compelling Product Vision by Amazon Sr PM
Tips for Building a Compelling Product Vision by Amazon Sr PM
Product School
 
What the heck is Product-led Growth?
What the heck is Product-led Growth?What the heck is Product-led Growth?
What the heck is Product-led Growth?
OpenView
 
Brian Balfour: Building A Growth Machine
Brian Balfour: Building A Growth MachineBrian Balfour: Building A Growth Machine
Brian Balfour: Building A Growth Machine
Heavybit
 
Kuala Lumpur CTO Summit - How to fire employees
Kuala Lumpur CTO Summit - How to fire employeesKuala Lumpur CTO Summit - How to fire employees
Kuala Lumpur CTO Summit - How to fire employees
Eric Tachibana
 
User Stories
User StoriesUser Stories
User Stories
Tathagat Varma
 
Lessons from DevOps: Taking DevOps practices into your AppSec Life
Lessons from DevOps: Taking DevOps practices into your AppSec LifeLessons from DevOps: Taking DevOps practices into your AppSec Life
Lessons from DevOps: Taking DevOps practices into your AppSec Life
Matt Tesauro
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital Transformation
Aditya Thatte
 
API Monetization
API MonetizationAPI Monetization
API Monetization
Capgemini
 
Building a Lean Startup
Building a Lean StartupBuilding a Lean Startup
Building a Lean Startup
Ash Maurya
 
API Security - Everything You Need to Know To Protect Your APIs
API Security - Everything You Need to Know To Protect Your APIsAPI Security - Everything You Need to Know To Protect Your APIs
API Security - Everything You Need to Know To Protect Your APIs
AaronLieberman5
 
WSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and RoadmapWSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and Roadmap
WSO2
 
Five Ways to Automate API Testing with Postman
Five Ways to Automate API Testing with PostmanFive Ways to Automate API Testing with Postman
Five Ways to Automate API Testing with Postman
Postman
 
2022 APIsecure_Shift Left API Security - The Right Way
2022 APIsecure_Shift Left API Security - The Right Way2022 APIsecure_Shift Left API Security - The Right Way
2022 APIsecure_Shift Left API Security - The Right Way
APIsecure_ Official
 

What's hot (20)

API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
 
Developer Experience (DX) for UX Professionals
Developer Experience (DX) for UX ProfessionalsDeveloper Experience (DX) for UX Professionals
Developer Experience (DX) for UX Professionals
 
API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)
 
API Security Lifecycle
API Security LifecycleAPI Security Lifecycle
API Security Lifecycle
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
OWASP Top Ten API Project 2019
OWASP Top Ten API Project 2019OWASP Top Ten API Project 2019
OWASP Top Ten API Project 2019
 
Peeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API SecurityPeeling the Onion: Making Sense of the Layers of API Security
Peeling the Onion: Making Sense of the Layers of API Security
 
Tips for Building a Compelling Product Vision by Amazon Sr PM
Tips for Building a Compelling Product Vision by Amazon Sr PMTips for Building a Compelling Product Vision by Amazon Sr PM
Tips for Building a Compelling Product Vision by Amazon Sr PM
 
What the heck is Product-led Growth?
What the heck is Product-led Growth?What the heck is Product-led Growth?
What the heck is Product-led Growth?
 
Brian Balfour: Building A Growth Machine
Brian Balfour: Building A Growth MachineBrian Balfour: Building A Growth Machine
Brian Balfour: Building A Growth Machine
 
Kuala Lumpur CTO Summit - How to fire employees
Kuala Lumpur CTO Summit - How to fire employeesKuala Lumpur CTO Summit - How to fire employees
Kuala Lumpur CTO Summit - How to fire employees
 
User Stories
User StoriesUser Stories
User Stories
 
Lessons from DevOps: Taking DevOps practices into your AppSec Life
Lessons from DevOps: Taking DevOps practices into your AppSec LifeLessons from DevOps: Taking DevOps practices into your AppSec Life
Lessons from DevOps: Taking DevOps practices into your AppSec Life
 
API Management in Digital Transformation
API Management in Digital TransformationAPI Management in Digital Transformation
API Management in Digital Transformation
 
API Monetization
API MonetizationAPI Monetization
API Monetization
 
Building a Lean Startup
Building a Lean StartupBuilding a Lean Startup
Building a Lean Startup
 
API Security - Everything You Need to Know To Protect Your APIs
API Security - Everything You Need to Know To Protect Your APIsAPI Security - Everything You Need to Know To Protect Your APIs
API Security - Everything You Need to Know To Protect Your APIs
 
WSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and RoadmapWSO2 API Platform: Vision and Roadmap
WSO2 API Platform: Vision and Roadmap
 
Five Ways to Automate API Testing with Postman
Five Ways to Automate API Testing with PostmanFive Ways to Automate API Testing with Postman
Five Ways to Automate API Testing with Postman
 
2022 APIsecure_Shift Left API Security - The Right Way
2022 APIsecure_Shift Left API Security - The Right Way2022 APIsecure_Shift Left API Security - The Right Way
2022 APIsecure_Shift Left API Security - The Right Way
 

Similar to The automation break up: saying goodbye to full stack tests with task analysis

[WSO2 Integration Summit Nairobi 2019] Identity and Access Management in an A...
[WSO2 Integration Summit Nairobi 2019] Identity and Access Management in an A...[WSO2 Integration Summit Nairobi 2019] Identity and Access Management in an A...
[WSO2 Integration Summit Nairobi 2019] Identity and Access Management in an A...
WSO2
 
[WSO2 Integration Summit Johannesburg 2019] Identity and Access Management in...
[WSO2 Integration Summit Johannesburg 2019] Identity and Access Management in...[WSO2 Integration Summit Johannesburg 2019] Identity and Access Management in...
[WSO2 Integration Summit Johannesburg 2019] Identity and Access Management in...
WSO2
 
[WSO2 Integration Summit Madrid 2019] Identity and Access Management in an AP...
[WSO2 Integration Summit Madrid 2019] Identity and Access Management in an AP...[WSO2 Integration Summit Madrid 2019] Identity and Access Management in an AP...
[WSO2 Integration Summit Madrid 2019] Identity and Access Management in an AP...
WSO2
 
[WSO2 Integration Summit Stuttgart 2019] Identity and Access Management in an...
[WSO2 Integration Summit Stuttgart 2019] Identity and Access Management in an...[WSO2 Integration Summit Stuttgart 2019] Identity and Access Management in an...
[WSO2 Integration Summit Stuttgart 2019] Identity and Access Management in an...
WSO2
 
WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - IAM in an API Driven ...
WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - IAM in an API Driven ...WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - IAM in an API Driven ...
WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - IAM in an API Driven ...
Yenlo
 
[WSO2 API Day Chicago 2019] Sustainable Competitive Advantage
[WSO2 API Day Chicago 2019] Sustainable Competitive Advantage [WSO2 API Day Chicago 2019] Sustainable Competitive Advantage
[WSO2 API Day Chicago 2019] Sustainable Competitive Advantage
WSO2
 
[WSO2 Summit Sydney 2019] Identity and Access Management in an API-driven World
[WSO2 Summit Sydney 2019] Identity and Access Management in an API-driven World[WSO2 Summit Sydney 2019] Identity and Access Management in an API-driven World
[WSO2 Summit Sydney 2019] Identity and Access Management in an API-driven World
WSO2
 
Takeaways from API Security Breaches Webinar
Takeaways from API Security Breaches WebinarTakeaways from API Security Breaches Webinar
Takeaways from API Security Breaches Webinar
CA API Management
 
How to avoid Java and .Net Application Performance Issues using Business Tran...
How to avoid Java and .Net Application Performance Issues using Business Tran...How to avoid Java and .Net Application Performance Issues using Business Tran...
How to avoid Java and .Net Application Performance Issues using Business Tran...
eG Innovations
 
Continuous Testing vs Test Automation Share on Facebook Share on LinkedIn Sha...
Continuous Testing vs Test Automation Share on Facebook Share on LinkedIn Sha...Continuous Testing vs Test Automation Share on Facebook Share on LinkedIn Sha...
Continuous Testing vs Test Automation Share on Facebook Share on LinkedIn Sha...
DevOps.com
 
Creating a Machine Learning Factory
Creating a Machine Learning FactoryCreating a Machine Learning Factory
Creating a Machine Learning Factory
Amazon Web Services
 
IRJET- Agriculture Business to Business Website
IRJET- Agriculture Business to Business WebsiteIRJET- Agriculture Business to Business Website
IRJET- Agriculture Business to Business Website
IRJET Journal
 
Eradicate Flaky Tests
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky Tests
Anand Bagmar
 
Fraud detection using machine learning with Amazon SageMaker - AIM306 - New Y...
Fraud detection using machine learning with Amazon SageMaker - AIM306 - New Y...Fraud detection using machine learning with Amazon SageMaker - AIM306 - New Y...
Fraud detection using machine learning with Amazon SageMaker - AIM306 - New Y...
Amazon Web Services
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
WSO2
 
Competitive EDGE - Data Driven Differentiation
Competitive EDGE - Data Driven DifferentiationCompetitive EDGE - Data Driven Differentiation
Competitive EDGE - Data Driven Differentiation
Akamai Technologies
 
AlertSite Slideshow at Web 2.0 Expo 2009
AlertSite Slideshow at Web 2.0 Expo 2009AlertSite Slideshow at Web 2.0 Expo 2009
AlertSite Slideshow at Web 2.0 Expo 2009
AlertSite
 
AlertSite Slideshow for the Booth at Web 2.0 Expo 2009
AlertSite Slideshow for the Booth at Web 2.0 Expo 2009AlertSite Slideshow for the Booth at Web 2.0 Expo 2009
AlertSite Slideshow for the Booth at Web 2.0 Expo 2009
AlertSite
 

Similar to The automation break up: saying goodbye to full stack tests with task analysis (20)

[WSO2 Integration Summit Nairobi 2019] Identity and Access Management in an A...
[WSO2 Integration Summit Nairobi 2019] Identity and Access Management in an A...[WSO2 Integration Summit Nairobi 2019] Identity and Access Management in an A...
[WSO2 Integration Summit Nairobi 2019] Identity and Access Management in an A...
 
[WSO2 Integration Summit Johannesburg 2019] Identity and Access Management in...
[WSO2 Integration Summit Johannesburg 2019] Identity and Access Management in...[WSO2 Integration Summit Johannesburg 2019] Identity and Access Management in...
[WSO2 Integration Summit Johannesburg 2019] Identity and Access Management in...
 
[WSO2 Integration Summit Madrid 2019] Identity and Access Management in an AP...
[WSO2 Integration Summit Madrid 2019] Identity and Access Management in an AP...[WSO2 Integration Summit Madrid 2019] Identity and Access Management in an AP...
[WSO2 Integration Summit Madrid 2019] Identity and Access Management in an AP...
 
[WSO2 Integration Summit Stuttgart 2019] Identity and Access Management in an...
[WSO2 Integration Summit Stuttgart 2019] Identity and Access Management in an...[WSO2 Integration Summit Stuttgart 2019] Identity and Access Management in an...
[WSO2 Integration Summit Stuttgart 2019] Identity and Access Management in an...
 
WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - IAM in an API Driven ...
WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - IAM in an API Driven ...WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - IAM in an API Driven ...
WSO2 - Yenlo Integration Summit Stuttgart 15 May 2019 - IAM in an API Driven ...
 
[WSO2 API Day Chicago 2019] Sustainable Competitive Advantage
[WSO2 API Day Chicago 2019] Sustainable Competitive Advantage [WSO2 API Day Chicago 2019] Sustainable Competitive Advantage
[WSO2 API Day Chicago 2019] Sustainable Competitive Advantage
 
[WSO2 Summit Sydney 2019] Identity and Access Management in an API-driven World
[WSO2 Summit Sydney 2019] Identity and Access Management in an API-driven World[WSO2 Summit Sydney 2019] Identity and Access Management in an API-driven World
[WSO2 Summit Sydney 2019] Identity and Access Management in an API-driven World
 
Takeaways from API Security Breaches Webinar
Takeaways from API Security Breaches WebinarTakeaways from API Security Breaches Webinar
Takeaways from API Security Breaches Webinar
 
How to avoid Java and .Net Application Performance Issues using Business Tran...
How to avoid Java and .Net Application Performance Issues using Business Tran...How to avoid Java and .Net Application Performance Issues using Business Tran...
How to avoid Java and .Net Application Performance Issues using Business Tran...
 
Continuous Testing vs Test Automation Share on Facebook Share on LinkedIn Sha...
Continuous Testing vs Test Automation Share on Facebook Share on LinkedIn Sha...Continuous Testing vs Test Automation Share on Facebook Share on LinkedIn Sha...
Continuous Testing vs Test Automation Share on Facebook Share on LinkedIn Sha...
 
Creating a Machine Learning Factory
Creating a Machine Learning FactoryCreating a Machine Learning Factory
Creating a Machine Learning Factory
 
IRJET- Agriculture Business to Business Website
IRJET- Agriculture Business to Business WebsiteIRJET- Agriculture Business to Business Website
IRJET- Agriculture Business to Business Website
 
A perspective on web testing
A perspective on web testingA perspective on web testing
A perspective on web testing
 
A perspective on web testing
A perspective on web testingA perspective on web testing
A perspective on web testing
 
Eradicate Flaky Tests
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky Tests
 
Fraud detection using machine learning with Amazon SageMaker - AIM306 - New Y...
Fraud detection using machine learning with Amazon SageMaker - AIM306 - New Y...Fraud detection using machine learning with Amazon SageMaker - AIM306 - New Y...
Fraud detection using machine learning with Amazon SageMaker - AIM306 - New Y...
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Competitive EDGE - Data Driven Differentiation
Competitive EDGE - Data Driven DifferentiationCompetitive EDGE - Data Driven Differentiation
Competitive EDGE - Data Driven Differentiation
 
AlertSite Slideshow at Web 2.0 Expo 2009
AlertSite Slideshow at Web 2.0 Expo 2009AlertSite Slideshow at Web 2.0 Expo 2009
AlertSite Slideshow at Web 2.0 Expo 2009
 
AlertSite Slideshow for the Booth at Web 2.0 Expo 2009
AlertSite Slideshow for the Booth at Web 2.0 Expo 2009AlertSite Slideshow for the Booth at Web 2.0 Expo 2009
AlertSite Slideshow for the Booth at Web 2.0 Expo 2009
 

Recently uploaded

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 

Recently uploaded (20)

Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 

The automation break up: saying goodbye to full stack tests with task analysis

  • 1. Automation in Testing - © Mark Winteringham - 2019Automation in Testing - © Mark Winteringham - 2019 The automation ‘breakup’ Saying goodbye to full stack tests with task analysis Mark Winteringham @2bittester
  • 2. Automation in Testing - © Mark Winteringham - 2019Automation in Testing - © Mark Winteringham - 2019 How do we know if a check is valuable?
  • 3. Automation in Testing - © Mark Winteringham - 2019 User can log into an application
  • 4. Automation in Testing - © Mark Winteringham - 2019 Targeted?
  • 5. Automation in Testing - © Mark Winteringham - 2019 Reliable?
  • 6. Automation in Testing - © Mark Winteringham - 2019 Informative?
  • 7. Automation in Testing - © Mark Winteringham - 2019 Maintainable?
  • 8. Automation in Testing - © Mark Winteringham - 2019 Speedy?
  • 9. Automation in Testing - © Mark Winteringham - 2019
  • 10. Automation in Testing - © Mark Winteringham - 2019Automation in Testing - © Mark Winteringham - 2019 How do we identify and implement valuable checks?
  • 11. Automation in Testing - © Mark Winteringham - 2019Automation in Testing - © Mark Winteringham - 2019 TASK ANALYSIS!
  • 12. Automation in Testing - © Mark Winteringham - 2019 www.thunderboltkids.co.za
  • 13. Automation in Testing - © Mark Winteringham - 2019 UI JS API SVC Click login link Build login page Interact with Login Send credentials to Auth API Parse credential s Check credentials / Create token Send token Flag as logged in Render room comp. View rooms Successful login flow Initial state: • Single page app code loaded into browser • Current state is not logged in Triggers Seam / LayerAction Key: JS/HTML HTTP JAVA USER
  • 14. Automation in Testing - © Mark Winteringham - 2019Automation in Testing - © Mark Winteringham - 2019 Risk analysis
  • 15. Automation in Testing - © Mark Winteringham - 2019 Parse credential s UI JS API SVC Click login link Build login page Interact with Login Send credentials to Auth API Check credentials / Create token Flag as logged in View rooms Successful login flow Triggers Seam / LayerAction Key: JS/HTML HTTP JAVA Send token USER 🔎 Initial state: • Single page app code loaded into browser • Current state is not logged in Check form is rendered correctly Visual check 🤖 Render room comp.
  • 16. Automation in Testing - © Mark Winteringham - 2019 UI JS API SVC Click login link Build login page Interact with Login Send credentials to Auth API Check credentials / Create token Flag as logged in View rooms Successful login flow Triggers Seam / LayerAction Key: JS/HTML HTTP JAVA Parse credential s Send token 🤖 🔎 Initial state: • Single page app code loaded into browser • Current state is not logged in Check API handles request and response correctly API check USER Render room comp.
  • 17. Automation in Testing - © Mark Winteringham - 2019 Parse credential s UI JS API SVC Click login link Build login page Interact with Login Send credentials to Auth API Check credentials / Create token Flag as logged in View rooms Successful login flow Triggers Seam / LayerAction Key: JS/HTML HTTP JAVA Send token Render room comp. 🤖 🔎 Initial state: • Single page app code loaded into browser • Current state is not logged in Check token is created correctly Unit check USER
  • 18. Automation in Testing - © Mark Winteringham - 2019 Parse credential s UI JS API SVC Click login link Build login page Interact with Login Send credentials to Auth API Check credentials / Create token Flag as logged in View rooms Successful login flow Triggers Seam / LayerAction Key: JS/HTML HTTP JAVA Send token 🤖 🔎 Initial state: • Single page app code loaded into browser • Current state is not logged in Check login page HTML is correct Unit check USER Render room comp.
  • 19. Automation in Testing - © Mark Winteringham - 2019 Visual checks Check form is rendered correctly JavaScript unit checks Backend unit checks Backend API checks Full stack smoke check Check API handles request and response correctly Check login page HTML is correct Check token is created correctly
  • 20. Automation in Testing - © Mark Winteringham - 2019Automation in Testing - © Mark Winteringham - 2019 In Summary
  • 21. Automation in Testing - © Mark Winteringham - 2019 Are your checks TRIMS? Apply task analysis Use task analysis to identify targeted checks Connect checks in a ‘chain of trust’
  • 22. Automation in Testing - © Mark Winteringham - 2019 Mark Winteringham @2bittester www.mwtestconsultancy.co.uk www.automationintesting.com github.com/mwinteringham/restful-booker-platform

Editor's Notes

  1. In this talk I am going to explore two questions: How do we know if a check is valuable How do we identify and implement valuable checks
  2. So let’s start by working out whether a check is valuable or not. To demonstrate this we’re going to look at an End-to-end, full stack, UI driven, whatever you call it, check. So let’s take a look at our check in action…
  3. To demonstrate how we can use Trims to analyse a check, I’ve created an automated check that follows a typical pattern. It’s designed to check that a user can log into an application so let’s see it in action Demo and run End-to-End check
  4. So let’s analyse that E2E check Is it targeted? Not really. The check is doing everything on the UI layer, meaning if the intention is to check behavior in the backend it’s using the furthest layer from that implementations
  5. Is it reliable? Perhaps. This will be heavily influenced by the state of the application under test BUT this check is working against a complex system with many moving parts of which any one could fail on us. Although that maybe desirable.
  6. Is it informative? Let’s say something in the backend breaks causing our check to fail because it cannot find a specific element. That information is shallow at best and misleading at worst, meaning that it’s going to take considerable time to debug and react to. A risk can have many ways to impact a user
  7. Is it maintainable? Depends on how it was developed, if we are to assume that this check uses page object models, data builder patterns and DRY practices then we could say we’re happy that it’s maintanable
  8. Is it Speedy? Remember speed isn’t just time to run, but time to react to as well. Given that it’s not targeted and not very informative, then it’s fair to say that the feedback loop is going to be slow as we wade through the application and test code to work out what is exactly going on.
  9. We cannot rely on the scope of information from a check, but we can rely on checks if they are: Targeted Reliable Informative Maintainable Or have Speed Speed is not just how fast it runs, but how quickly we can process information and act upon it Lots of small checks that follow those valuable attributes will help us build a picture differently to how we test as humans but hopefully bring us to the same conclusion
  10. So it’s fair to say that that check isn’t up to muster. One of the main issues is that it’s trying to check multiple impacts
  11. What is task analysis? AiT is influenced by Rob Sabourin’s work on Task Analysis Breaking down a task into it’s component parts for analysis Cup of tea example
  12. Let’s see an example Show task analysis model and highlight Left hand side requires some knowledge of the system, but it can vary based on your knowledge Your first iteration could literally be frontend – backend We use task analysis to break down the different events that make up feature that our original risk is focused on So we have points on our model that represent each activity the system does Each action is an opportunity for a targeted check on that section And each action has it’s own inherent risks that may matter to us Finally the lines that cross boundaries between systems are integration risks to check for
  13. So it’s fair to say that that check isn’t up to muster. One of the main issues is that it’s trying to check multiple impacts
  14. This flow successfully captures the areas that could impact our application and realise the risk that a user can’t login. We can use that knowledge to identify targeted checks
  15. This flow successfully captures the areas that could impact our application and realise the risk that a user can’t login. We can use that knowledge to identify targeted checks
  16. This flow successfully captures the areas that could impact our application and realise the risk that a user can’t login. We can use that knowledge to identify targeted checks
  17. This flow successfully captures the areas that could impact our application and realise the risk that a user can’t login. We can use that knowledge to identify targeted checks
  18. So it’s fair to say that that check isn’t up to muster. One of the main issues is that it’s trying to check multiple impacts
  19. In summary Review checks and ask yourself are they TRIMS Break down unwieldy checks by applying task analysis to the system flow that is being covered Use the results of task analysis to determine checks that are more TRIMS Once you have checks in many different points build a ‘chain of trust’ by running them in a pipeline Task analysis can help identify dependencies for mocking