validation driven change

22
VALIDATION DRIVEN CHANGE Created by / / Michael Goetz [email protected] @michaelpgoetz

Upload: michael-goetz

Post on 22-Jan-2018

828 views

Category:

Technology


0 download

TRANSCRIPT

VALIDATION DRIVENCHANGE

Created by   /   / Michael Goetz [email protected] @michaelpgoetz

WHO AM I?Michael GoetzSolutions Engineering Manager @ [email protected]@michaelpgoetz

TESTS SUCKYOURS ARE ESPECIALLY AWFUL

Mine are the worst

TDD IS DEAD

I'M NOT QUITE DEAD YET!

TEST COVERAGE IS A LIE

And a tool of our oppressors

WHY ARE WE KIDDINGOURSELVES?

AUTOMATION IS A TEST'S BESTFRIEND

Image by Lisa Crispin ()

http://lisacrispin.com/2011/11/08/using-the-agile-testing-quadrants/

WHAT IS A TEST?

WHAT IS A CHANGE?

HOW DO YOU VALIDATE YOURCHANGE?

THE 'TYPE AND LOOK'

THE 'RED-GREEN'

THE 'RED-RED-RED-FUCK-I'LL-MARK-IT-AS-PENDING'

THE 'IT'S PROBABLY FINE'

THE 'WE FAILED THEAUDIT....AGAIN'

YOUR JOB ISN'T TO WRITE TESTSIt's to deliver business value to your customers

TESTS ARE NOT VALIDATIONValidation: to establish the fitness or worth of a

software product for its operational mission.Barry Boehm

A TALE OF TWO CUSTOMERS

The primary customer is whoever is consuming onyour code - Validation

The secondary customer is you - Test

THE PRIMARY CUSTOMER

They don't care if your unit test coverage is at100% if they can't log in.

Did you write a validation for your primarycustomer?

Know how your work contributes to what theprimary customer wants and make sure you havea validation for it working properly.

WHO IS THE PRIMARYCUSTOMER?

Website visitor

Auditor

API consumers

Management

THE SECONDARY CUSTOMER

Protect your hard work. If your change works onyour machine, write whatever test proves it worksif someone else checks it out.

Pick the level of test that proves your work is solid.

SO DON'T WRITE TESTS?Testing the construction is not enough. We alsomust validate the expectations of the customer.

Determine what validation or test is necessary toserve both customers

Create something that automatically confirms thatexpectations are met