Jared Richardson - Agile Testing Strategies

Post on 07-Nov-2014

1,127 views 0 download

Tags:

description

presented at Southern Fried Agile 2010. southernfriedagile.com

transcript

Agile Testing Strategies

By Jared Richardson

Winning Football

Team

Strategy

Successful Agile

• Team

• Strategy

Test Strategy

Prerequisites

• Continuous Integration

• Test Automation

Automated Tests Rust

Code Breaks

Sync Fails

Trust Fails

Two Scenarios

• Fix 1 to 3 tests

• Fix 800 tests

Your Code

Public API

SupportingClasses

Focused Tests

Broad Tests

Unit Tests• Exercise one unit

• No external resources

• Fast

• Focused

• Labor intensive

Mock Client Test

• A system or module

• Integration test

• Broad

• Slow

Tests Require

• Continuous Integration

• Frequent check-ins

Three Strategies

• Test Driven Development

• Defect Driven Testing

• Blitzkrieg

TDD

• Write a test that fails

• Write just enough code

• Repeat

TDD

• Drives design

• Creates a solid product

• Requires enlightenment

DDT

• Find a bug

• Add a test

• Jazz it up

DDT

• Inoculates your code

• Incrementally builds suite

• Retrofit

Blitzkrieg • Dash across the product

• Breadth, not depth

• Create templates

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

BK

• Jump start the effort

• Same page

• Requires enlightenment

Scenario One

• New project

• Enlightenment

TDD + BK + DDT

Scenario Two

• New project

• No enlightenment

DDT

Scenario Three

• Existing project

• Enlightenment

BK + DDT

Scenario Four

• Existing project

• No enlightenment

DDT

Scenario Five

• Existing product

• Some enlightened developers

DDT

Summary

• Test categories: Focused & Broad

• Test types: Unit & Mock Client

• Strategies: TDD, DDT, BK

Your Goal

• Pick a strategy

• Start within two days

• Use it one month

• Re-evaluate

Be the change you want

to see in the world.

-Gandhi

Be the change you want

to see in your shop.

-Jared