a whole team approach to testing

39
A Whole Team Approach To Testing Jon Kruger

Upload: jon-kruger

Post on 12-Jan-2015

5.077 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: A Whole Team Approach To Testing

A Whole Team Approach To

TestingJon Kruger

Page 2: A Whole Team Approach To Testing

Dude, this isn’t a QA conference

Page 3: A Whole Team Approach To Testing
Page 4: A Whole Team Approach To Testing
Page 5: A Whole Team Approach To Testing
Page 6: A Whole Team Approach To Testing
Page 7: A Whole Team Approach To Testing

QA death march

Page 8: A Whole Team Approach To Testing

What are we building?

Page 9: A Whole Team Approach To Testing

A new way forward

Page 10: A Whole Team Approach To Testing

QA is not…

Page 11: A Whole Team Approach To Testing

QA is not…

Page 12: A Whole Team Approach To Testing

Working TogetherHow is QA going to test the feature?How do I know when I’m done?How can I help QA?

Page 13: A Whole Team Approach To Testing

The Old Way

Page 14: A Whole Team Approach To Testing

The Three Amigos

Page 15: A Whole Team Approach To Testing

Acceptance CriteriaGiven I am a logged in userWhen I go to the final checkout pageThen I should see the total cost of the order

broken down by product cost, tax, and shipping charges

And I should see the total cost of the order

The “Gherkin” syntax

Page 16: A Whole Team Approach To Testing

Feature: Process an order

Given I am a logged in userWhen I go to the final checkout pageThen I should see the total cost of the order broken down by product cost, tax, and shipping chargesAnd I should see the total cost of the order

Order total = total cost of products on the order + tax + shipping chargesTax:

Ohio = 7% Michigan = 6.5% Other states = 0%

Shipping: If total cost of products (before tax >= $25), shipping is free,

otherwise $5

Page 17: A Whole Team Approach To Testing

Feature: Process an orderGiven I am a logged in userWhen I go to the final checkout pageThen I should see the total cost of the order broken down by product cost, tax, and shipping chargesAnd I should see the total cost of the order

Order total = total cost of products on the order + tax + shipping chargesTax:

Based on the shipping address, not the billing address Tax charged on the sum of the cost of the products Ohio = 7% Michigan = 6.5% Other states (including DC) = 0% No shipping internationally

Shipping: If total cost of products (before tax) >= $25, shipping is free, otherwise

$5

Page 18: A Whole Team Approach To Testing

Feature: Process an order – Testing Notes

We’ll test the following scenarios:

Order with multiple products Ship to OH, MI, DC Unit tests to verify tax calculation for all

51 states Shipping < $25, = $25, > $25 Verify order totals

Page 19: A Whole Team Approach To Testing

Feature: Process an order – Testing Notes

Products Tax Shipping

Order with one product

Ship to Ohio (7% tax) Cost of product = $24.99 (shipping is $5)

Order with one product

Ship to Michigan (6.5% tax)

Cost of product = $25 (shipping is free)

Order with multiple products

Ship to DC, billing address is Ohio (0% tax)

Cost of products = $25.01 (shipping is free)

Verifications

Total cost = sum of cost of products + tax + shipping

Page 20: A Whole Team Approach To Testing

Feature: Process an order – Acceptance Criteria

Scenario: Order with one product, ship to OH, total product cost < $25 Given I am a logged in userAnd the shopping cart is emptyAnd I add a product costing $24.99 to the cartAnd my shipping state is OHAnd my billing state is OHWhen I go to the final checkout pageThen the tax amount should be $1.75And the shipping amount should be $5.00And the order total should be $31.74

Page 21: A Whole Team Approach To Testing

3 Amigos Tips and Tricks

Break things into small chunksInsist on acceptance criteria being complete before development begins“3 Amigos” is not just a meetingRemember the end goal – defined acceptance criteria and shared knowledge

Page 22: A Whole Team Approach To Testing

Automated Testing

Page 23: A Whole Team Approach To Testing

The automated testing triangle

Page 24: A Whole Team Approach To Testing

The (not) automated testing triangle

Page 25: A Whole Team Approach To Testing

The (not) automated testing triangle

Page 26: A Whole Team Approach To Testing

“What’s the best way to test this

feature?”

Page 27: A Whole Team Approach To Testing

Definition of Done

Page 28: A Whole Team Approach To Testing
Page 29: A Whole Team Approach To Testing

Definition of Done=

Working Tested Features=

In Production (or ready to go to production)

Page 30: A Whole Team Approach To Testing

Definition of Done

Page 31: A Whole Team Approach To Testing

Our old board

Page 32: A Whole Team Approach To Testing

Our new board

Page 33: A Whole Team Approach To Testing

Co-location

Page 34: A Whole Team Approach To Testing

Co-location

Page 35: A Whole Team Approach To Testing

Management Structure

Page 36: A Whole Team Approach To Testing

What things look like now

Decreased time to get in a new marketQA people moving into SA rolesQA people asking us to automate testing for themAutomated tests driving qualityRolling out ATDD to other teams

Page 37: A Whole Team Approach To Testing

What can I do?Address shared pain (QA and devs dealing with incomplete requirements)Show that there is a problem (e.g. lots of time spent fixing bugs)Help test when QA is behindInsist on acceptance criteria (even if you have to write it)Change your metricsMake incremental progress

Page 38: A Whole Team Approach To Testing

?

Page 39: A Whole Team Approach To Testing

Slides and contact info

Slides, code, links:http://jonkruger.com/, click on Presentations

Email: [email protected]: @JonKruger

Blog: http://jonkruger.com