jared richardson - agile testing strategies
DESCRIPTION
presented at Southern Fried Agile 2010. southernfriedagile.comTRANSCRIPT
![Page 1: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/1.jpg)
Agile Testing Strategies
By Jared Richardson
![Page 2: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/2.jpg)
Winning Football
Team
Strategy
![Page 3: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/3.jpg)
Successful Agile
• Team
• Strategy
Test Strategy
![Page 4: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/4.jpg)
Prerequisites
• Continuous Integration
• Test Automation
![Page 5: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/5.jpg)
Automated Tests Rust
Code Breaks
Sync Fails
Trust Fails
![Page 6: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/6.jpg)
Two Scenarios
• Fix 1 to 3 tests
• Fix 800 tests
![Page 7: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/7.jpg)
![Page 8: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/8.jpg)
Your Code
![Page 9: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/9.jpg)
Public API
SupportingClasses
![Page 10: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/10.jpg)
Focused Tests
![Page 11: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/11.jpg)
Broad Tests
![Page 12: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/12.jpg)
Unit Tests• Exercise one unit
• No external resources
• Fast
• Focused
• Labor intensive
![Page 13: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/13.jpg)
Mock Client Test
• A system or module
• Integration test
• Broad
• Slow
![Page 14: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/14.jpg)
Tests Require
• Continuous Integration
• Frequent check-ins
![Page 15: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/15.jpg)
Three Strategies
• Test Driven Development
• Defect Driven Testing
• Blitzkrieg
![Page 16: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/16.jpg)
TDD
• Write a test that fails
• Write just enough code
• Repeat
![Page 17: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/17.jpg)
TDD
• Drives design
• Creates a solid product
• Requires enlightenment
![Page 18: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/18.jpg)
DDT
• Find a bug
• Add a test
• Jazz it up
![Page 19: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/19.jpg)
DDT
• Inoculates your code
• Incrementally builds suite
• Retrofit
![Page 20: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/20.jpg)
Blitzkrieg • Dash across the product
• Breadth, not depth
• Create templates
http://flickr.com/photos/lawrence_evil/145636309/
![Page 21: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/21.jpg)
BK
• Jump start the effort
• Same page
• Requires enlightenment
![Page 22: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/22.jpg)
Scenario One
• New project
• Enlightenment
TDD + BK + DDT
![Page 23: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/23.jpg)
Scenario Two
• New project
• No enlightenment
DDT
![Page 24: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/24.jpg)
Scenario Three
• Existing project
• Enlightenment
BK + DDT
![Page 25: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/25.jpg)
Scenario Four
• Existing project
• No enlightenment
DDT
![Page 26: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/26.jpg)
Scenario Five
• Existing product
• Some enlightened developers
DDT
![Page 27: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/27.jpg)
Summary
• Test categories: Focused & Broad
• Test types: Unit & Mock Client
• Strategies: TDD, DDT, BK
![Page 28: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/28.jpg)
Your Goal
• Pick a strategy
• Start within two days
• Use it one month
• Re-evaluate
![Page 29: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/29.jpg)
Be the change you want
to see in the world.
-Gandhi
![Page 30: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/30.jpg)
Be the change you want
to see in your shop.
-Jared
![Page 31: Jared Richardson - Agile Testing Strategies](https://reader033.vdocuments.site/reader033/viewer/2022061113/545bf8b8b1af9f4b0a8b45d8/html5/thumbnails/31.jpg)