26
Do You Even (Need) To Automate (The GUI)? Matt Heusser 2017 Edition

Do you even need to automate the GUI?

Embed Size (px)

Citation preview

Do You Even (Need) To Automate (The GUI)?

Matt Heusser 2017 Edition

The Great Lifting Irony

Setting Goals

VAPID goals:

Vague Amorphous Pie in the sky Irrelevant Delayed

Setting Goals

VAPID goals:

Vague Amorphous Pie in the sky Irrelevant Delayed

Sub-Optimization

Sub-Optimization II

Sub-Optimization III

de Automation Delay

What are estimates for?Five-Minute Provisioning

What about: * Continuous Integration yields builds * Create a test environment for a given build on-demand * Self-service * Within 5 minutes

What are estimates for?Unit Tests - Test Driven Development

• Measure Twice, Cut Once • Higher First-Time Quality • Less Regressions • Small, easy to separate components • … but we can’t • That is a design problem • TDD Enables good design

What are estimates for?Unit Tests - Test Driven Development

What are estimates for?Unit Tests - Test Driven Development

What are estimates for?Unit Tests - Test Driven Development

What are estimates for?Unit Tests - Test Driven Development

What are estimates for?Isolated Components and Service Contracts

What are estimates for?Deploy by Component

Why deploy the entire app when you can: - Deploy a single web service? - Deploy a single web page? - Deploy a single PHP file?

Continuous Monitoring

Right Project 90%Right StoryRight DesignRight CodeRight TestingRight Deploys

Improve First-Time Quality

Right Project 90%Right Requirements

90%

Right Design 90%Right Code 90%Right Testing 90%Right Deploys 90%

Improve First-Time Quality

Activity FTQ CumulativeRight Project 90% 90%Right Requirements

90% 81%

Right Design 90% 73%Right Code 90% 66%Right Testing 90% 59%Right Deploys 90% 53%

Improve First-Time Quality

Activity FTQ CumulativeRight Project 80% 80%Right Requirements

80% 64%

Right Design 80% 51%Right Code 80% 41%Right Testing 80% 33%Right Deploys 80% 26%

Improve First-Time Quality

Activity FTQ CumulativeRight Project 70% 70%Right Requirements

70% 49%

Right Design 70% 34%Right Code 70% 24%Right Testing 70% 17%Right Deploys 70% 12%

Improve First-Time Quality

Putting it all together

Deploys are local / micro Test environments are easy to create

Serious problems are rare Found quickly

local And easy to roll back

Putting it all together

What problems does mass-inspection GUI Automation solve?

Do we have them anymore? …

Do you even need to automate the GUI?

Deploys are local / microRegression-Testing can be triaged

Serious problems are rareFound quickly

localAnd easy to roll back

The Great Lifting Irony

Solution: Tool Assisted Testing

Combine human and machine for the best

attributes of each