jared richardson - agile testing strategies

31
Agile Testing Strategies By Jared Richardson

Upload: sfa

Post on 07-Nov-2014

1.126 views

Category:

Technology


0 download

DESCRIPTION

presented at Southern Fried Agile 2010. southernfriedagile.com

TRANSCRIPT

Page 1: Jared Richardson -  Agile Testing Strategies

Agile Testing Strategies

By Jared Richardson

Page 2: Jared Richardson -  Agile Testing Strategies

Winning Football

Team

Strategy

Page 3: Jared Richardson -  Agile Testing Strategies

Successful Agile

• Team

• Strategy

Test Strategy

Page 4: Jared Richardson -  Agile Testing Strategies

Prerequisites

• Continuous Integration

• Test Automation

Page 5: Jared Richardson -  Agile Testing Strategies

Automated Tests Rust

Code Breaks

Sync Fails

Trust Fails

Page 6: Jared Richardson -  Agile Testing Strategies

Two Scenarios

• Fix 1 to 3 tests

• Fix 800 tests

Page 7: Jared Richardson -  Agile Testing Strategies
Page 8: Jared Richardson -  Agile Testing Strategies

Your Code

Page 9: Jared Richardson -  Agile Testing Strategies

Public API

SupportingClasses

Page 10: Jared Richardson -  Agile Testing Strategies

Focused Tests

Page 11: Jared Richardson -  Agile Testing Strategies

Broad Tests

Page 12: Jared Richardson -  Agile Testing Strategies

Unit Tests• Exercise one unit

• No external resources

• Fast

• Focused

• Labor intensive

Page 13: Jared Richardson -  Agile Testing Strategies

Mock Client Test

• A system or module

• Integration test

• Broad

• Slow

Page 14: Jared Richardson -  Agile Testing Strategies

Tests Require

• Continuous Integration

• Frequent check-ins

Page 15: Jared Richardson -  Agile Testing Strategies

Three Strategies

• Test Driven Development

• Defect Driven Testing

• Blitzkrieg

Page 16: Jared Richardson -  Agile Testing Strategies

TDD

• Write a test that fails

• Write just enough code

• Repeat

Page 17: Jared Richardson -  Agile Testing Strategies

TDD

• Drives design

• Creates a solid product

• Requires enlightenment

Page 18: Jared Richardson -  Agile Testing Strategies

DDT

• Find a bug

• Add a test

• Jazz it up

Page 19: Jared Richardson -  Agile Testing Strategies

DDT

• Inoculates your code

• Incrementally builds suite

• Retrofit

Page 20: Jared Richardson -  Agile Testing Strategies

Blitzkrieg • Dash across the product

• Breadth, not depth

• Create templates

http://flickr.com/photos/lawrence_evil/145636309/

Page 21: Jared Richardson -  Agile Testing Strategies

BK

• Jump start the effort

• Same page

• Requires enlightenment

Page 22: Jared Richardson -  Agile Testing Strategies

Scenario One

• New project

• Enlightenment

TDD + BK + DDT

Page 23: Jared Richardson -  Agile Testing Strategies

Scenario Two

• New project

• No enlightenment

DDT

Page 24: Jared Richardson -  Agile Testing Strategies

Scenario Three

• Existing project

• Enlightenment

BK + DDT

Page 25: Jared Richardson -  Agile Testing Strategies

Scenario Four

• Existing project

• No enlightenment

DDT

Page 26: Jared Richardson -  Agile Testing Strategies

Scenario Five

• Existing product

• Some enlightened developers

DDT

Page 27: Jared Richardson -  Agile Testing Strategies

Summary

• Test categories: Focused & Broad

• Test types: Unit & Mock Client

• Strategies: TDD, DDT, BK

Page 28: Jared Richardson -  Agile Testing Strategies

Your Goal

• Pick a strategy

• Start within two days

• Use it one month

• Re-evaluate

Page 29: Jared Richardson -  Agile Testing Strategies

Be the change you want

to see in the world.

-Gandhi

Page 30: Jared Richardson -  Agile Testing Strategies

Be the change you want

to see in your shop.

-Jared

Page 31: Jared Richardson -  Agile Testing Strategies