SlideShare a Scribd company logo
1 of 25
Download to read offline
MN
PM Tutorial
4/29/13 1:00PM

Acceptance Test-driven
Development: Mastering Agile Testing
Presented by:
Nate Oster
CodeSquads, LLC

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073
888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Nate Oster
An agile player-coach and founder of CodeSquads, Nate Oster helps clients adopt lean and agile
methods. Nate builds high-performance teams that adapt to change, embrace a pragmatic philosophy of
continuous improvement, measure progress with new features, and deliver high-quality software that
delights customers. As a coach, he inspires adopters with hands-on mentoring and simulations that
provide a safe learning environment for new ideas. Nate promotes testing as a serious technical discipline.
While Nate maintains a speaking schedule at software development conferences, he spends most of his
time as a hands-on advisor to software product teams from startups to multinationals. Nate is easily
defeated at all card games. Contact him at NateOster@CodeSquads.com.
ACCEPTANCE TEST-DRIVEN DEVELOPMENT:
MASTERING AGILE TESTING

Nate Oster

NATE OSTER
Agile Player-Coach &
Founder, CodeSquads
Focused on adopting
Lean & Agile methods
Mail: Nate.Oster@codesquads.com
Twitter: nateoster
Voice: 703.930.4100
LEARNING OBJECTIVES
Stop finding bugs after development!
Shift from tests as verification to
tests as specification by learning to test first.
Simulate the feel of ATDD in a non-threatening way
Gain meaningful practice with table-based and
plain-language formats for specifying intent.
Leave empowered to advocate ATDD
with your own teams and managers!

AGENDA

Agile Testing has limits
Simulation: Tests as Verification
Intro to ATDD
Simulation: Tests as Specification
AGENDA
Specification by Example
Simulation: Examples using Tables
Break!
Simulation: Examples using Given-When-Then
Wrap-up: Action Planning, Q&A

THE PROBLEM

Finding defects is expensive
Rework, Scrap, Delays
Feedback speed is limited
SIMULATION:
TESTS AS VERIFICATION

SIMULATION:
TESTS AS VERIFICATION
Teams of 3
“Develop” an image by
punching graph paper
“Test” your solution
by fitting it over pegs
Satisfy your Customer!
RETROSPECTIVE:
TESTS AS VERIFICATION

ACCEPTANCE TESTDRIVEN DEVELOPMENT
Stop testing bugs out.
Start building quality in.
Agile&Tes)ng&Quadrants&
Business-facing Tests

Acceptance Tests

Unit & Component Tests

Automated
Frameworks

Mostly
Manual

Exploratory Tests
Usability Testing
UAT

Performance Testing
Security analysis
“-ility” tests

Tests that critique the product

Tests that support the Team

Mostly
Automated

Specialized
Tools

Technology-facing Tests

“Agile Testing,” Lisa Crispin & Janet Gregory, used with permission (originally Brian Marick, 2006)

The$Test$Automa,on$Pyramid$
Exploratory
/Manual

GUI
More business
facing, realistic

Sn

Acceptance Tests
(API Layer)

FitNesse/
Cuke

Lower-cost
Easier maintenance
Faster feedback

xUnit
Unit & Component Tests

Adapted from Mike Cohn (Automated Test Pyramid) & “Agile Testing”, Lisa Crispin & Janet Gregory..
THE TEST AUTOMATION PYRAMID

Push tests as low as
possible in the pyramid
Have tests focus on
intent, not implementation
Team decides appropriate
level for each test

Anatomy(of(an(Itera-on(
2(–(4(week(-mebox(
Define(

Define(
Build(

Define(
Build(

Build(

Test(

Define(

Test(

Build(

Test(

Define(

Define(
Build(

Define(

Test(

Build(

Test(

Define(

Test(

Build(

Test(

Itera-on(Planning…(
Retrospec-ve(
Itera-on(Demo(

Itera-on(Planning(

Feature(
Team(

Build(

Test(

a(f
(

y…
da
xt(
ne rs(
ou (
2(h ours
(h
2@4

urs

(
urs

ys(

(d a
ew

(h o
ew

a(f

(ho
2@4

(

Nate%Oster,%“The%Agile%Challenge”%Workshop,%CodeSquads%LLC.%
SIMULATION:
TESTS AS SPECIFICATION

SIMULATION:
TESTS AS SPECIFICATION
Start each story by outlining the acceptance criteria
Specify acceptance tests as concrete examples
If we don’t know when we’re done,
then why are we starting?

Hypothesize the top 3 effects of this change
RETROSPECTIVE:
TESTS AS SPECIFICATION
Reflect:
Where your
hypotheses correct?
Why or why not?

Prepare to Share:
Appoint a scribe
Share your results
at your tables
List the top
improvements

SPECIFICATION BY EXAMPLE
“An example would be helpful right about now.”
- Brian Marick
Essential

Incidental

Hat tip: Dale Emery

Agile&Tes)ng&Quadrants&
Business-facing Tests

Acceptance Tests

Unit & Component Tests

Automated
Frameworks

Exploratory Tests
Usability Testing
UAT

Performance Testing
Security analysis
“-ility” tests

Technology-facing Tests

Mostly
Manual

Tests that critique the product

Tests that support the Team

Mostly
Automated

Specialized
Tools

“Agile Testing,” Lisa Crispin & Janet Gregory, used with permission (originally Brian Marick, 2006)
We'refine'the'Product'Backlog'just2in2*me'for'
immediate'goals.'

Vision'&'Roadmap'

Release'Planning'
Itera*on'
Planning'

Next'
Release'

Future'Roadmap…'

Future'Releases'

Current'' (forecast)'
Release'
Current'
Itera*on'

?'
Itera*ons'

Es*mate'
Accuracy'

+/2'

+/2'

+/2'

+/2'

Near'Term:'Fine2Grained'

?'

Long2Term:'Coarse2Grained'

Nate%Oster,%“The%Agile%Challenge”%Workshop,%CodeSquads%LLC.%

The$Test$Automa,on$Pyramid$
Exploratory
/Manual

GUI
More business
facing, realistic

Sn

Acceptance Tests
(API Layer)

FitNesse/
Cuke

Lower-cost
Easier maintenance
Faster feedback

xUnit
Unit & Component Tests

Adapted from Mike Cohn (Automated Test Pyramid) & “Agile Testing”, Lisa Crispin & Janet Gregory..
SOME TOOLS FOR
EXECUTABLE SPECIFICATIONS
TOOL

TECHNOLOGY
SWEET SPOT

FitNesse

Java (native)
.NET (plugin)

Cucumber

Ruby (native)
Java (CucumberJVM)
.NET (plugin)

SpecFlow

.NET (native)

SIMULATION:
SPECIFICATION BY EXAMPLE
USING TABLES
TABLE-BASED
SPECIFICATIONS
(Re)-build a brokerage
pricing engine
Start with the simplest
scenarios using
realistic examples
Be customer-focused!

Pricing.Stocks
Trade Source
Internet
Internet
IVR
Broker

Ticker Buy/Sell
LXK
Buy
LXK
Sell

Order Type
Limit
Limit

Commission?
$9.99
$9.99
Pricing.Stocks
Trade Source
Internet
Internet
IVR

Ticker Buy/Sell
LXK
Buy
LXK
Sell
LXK
Buy

Order Type
Limit
Limit
Market

Commission?
$9.99
$9.99
$34.99

[expected “$34.99”, actual “$9.99”]

Pricing.MutualFunds.Buy
Test Funds
Ticker
MNTF
MNLD
MFEE

Fund Type
NTF
No-Load
Load

Load %
N/A
N/A
4% on Buy
Pricing. MutualFunds. NTF. ShortTermRedemption

No Transaction Fee
Mutual Funds
180 days or less
No commission

Ticker
MNTF
MNLD
MFEE

Fund Type
NTF
No-Load
Load

Load %
N/A
N/A
4% on Buy

$49.99 fee

WHAT IF I BUY TWICE
IN 180 DAYS?
TABLES MAY NOT BE EXPRESSIVE
ENOUGH FOR SOME SCENARIOS
What if I buy the same fund
more than once in 180 days?
What if I sell when only part
of the balance is 180 days old?

“An example would be helpful right about now.”
- Brian Marick

SIMULATION:
SPECIFICATION BY EXAMPLE
USING TEST LINGOS*
*Credit to Patrick Wilson-Welsh and Dawn Cannon
for coining the term!
LINGO-BASED
SPECIFICATIONS
Given - When - Then
GIVEN - Preconditions
WHEN - Action
THEN - Result / Postcondition

THINKING WITH
GIVEN-WHEN-THEN
Pricing. MutualFunds. Buy
Scenario: Buy a no-load fund.
Given I do not own fund MNLD
When I buy $10,000 in fund MNLD
then the commission is $49.99
and the fee is $0.00.
When I buy fund MNLD,
then the commission is $49.99.
Pricing. MutualFunds.Buy
Scenario: Buy a mutual fund.

Test Funds
Ticker
MNTF
MNLD
MFEE

Fund Type
NTF
No-Load
Load

Load %
N/A
N/A
4% on Buy

GIVEN-WHEN-THEN CAN BE MORE
EXPRESSIVE THAN TABLES
What if I buy the same fund
more than once in 180 days?
What if I sell when only part
of the balance is 180 days old?

“An example would be helpful right about now.”
- Brian Marick
Pricing. MutualFunds. NTF. ShortTermRedemption

No Transaction Fee
Mutual Funds
180 days or less
No commission

Ticker
MNTF
MNLD
MFEE

Fund Type
NTF
No-Load
Load

Load %
N/A
N/A
4% on Buy

$49.99 fee

Mutual Fund Short Term Redemptions
No transaction fee (NTF) funds held 180 days or less are
subject to a Short Term Redemption Fee of $49.99.
Scenario: Part of sale held less than 180 days charges
short term redemption fee.
Given I own 100 shares of MNTF for 181 days
and I own 100 shares of MNTF for 179 days
When I sell 101 shares of MNTF
Then I am charged a short term redemption fee of $49.99.
Scenario: ...
Scenario: Part of sale held less than 180 days charges
short term redemption fee.
Given I own MNTF
|shares| days held |
| 100 | 181 |
| 100 | 179 |
When I sell 101 shares
Then I am charged a short term redemption fee.

NEW FEATURE:
CONCIERGE LEVEL PRICING
Concierge Level pricing is a trial promotion.
It offers selected customers free internet trades if their
total assets exceed $250,000 or if a trade is for more
than $10,000.
Brainstorm acceptance tests for this feature using
tables, given-when-then, or both. Your choice!
Feature: Concierge pricing promotion.
Background:
Given the concierge pricing promotion is active.
Scenario Outline: Buying in a selected account.
Given a selected account with a balance of <total assets>,
when I buy <trade amount> of <ticker>
using source <trade source>,
then the commission is <fee>.
Examples:
| total assets | trade amount | ticker | trade source | fee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

REVIEW
WRAP-UP: CREATE AN
ACTION PLAN
What outcomes could ATDD improve
on your Feature Team?
What impediments to adopting ATDD do you
anticipate on your team?
Is there evidence these impediments can be
overcome?
What small experiments will confirm or disprove these
opportunities with the least possible risk?

EXPLORING FURTHER
Learn More:

Experiment:

Specification by Example
(Gojko Adzic)

“Pull” in support through
your Team’s retrospectives

The Cucumber Book
(Aslak Hellesoy)

People & improvement
Feedback Interactions ideas
over Processes & Tools!

Agile Testing

(Lisa Crispin & Janet Gregory)
NATE OSTER
Agile Player-Coach &
Founder, CodeSquads
Focused on adopting
Lean & Agile methods
Mail: nate.oster@codesquads.com
Twitter: nateoster
Voice: 703.930.4100

More Related Content

Viewers also liked

Presenting Test Results with Clarity and Confidence
Presenting Test Results with Clarity and ConfidencePresenting Test Results with Clarity and Confidence
Presenting Test Results with Clarity and ConfidenceTechWell
 
Find Requirements Defects to Build Better Software
Find Requirements Defects to Build Better SoftwareFind Requirements Defects to Build Better Software
Find Requirements Defects to Build Better SoftwareTechWell
 
Usability Testing: Personas, Scenarios, Use Cases, and Test Cases
Usability Testing: Personas, Scenarios, Use Cases, and Test CasesUsability Testing: Personas, Scenarios, Use Cases, and Test Cases
Usability Testing: Personas, Scenarios, Use Cases, and Test CasesTechWell
 
Leading Change―Even If You’re Not in Charge
Leading Change―Even If You’re Not in ChargeLeading Change―Even If You’re Not in Charge
Leading Change―Even If You’re Not in ChargeTechWell
 
Bad Testing Metrics—and What To Do About Them
Bad Testing Metrics—and What To Do About ThemBad Testing Metrics—and What To Do About Them
Bad Testing Metrics—and What To Do About ThemTechWell
 
Sprint Reviews that Attract, Engage, and Enlighten Stakeholders
Sprint Reviews that Attract, Engage, and Enlighten StakeholdersSprint Reviews that Attract, Engage, and Enlighten Stakeholders
Sprint Reviews that Attract, Engage, and Enlighten StakeholdersTechWell
 
Agile Estimation and Planning: Scrum, Kanban, and Beyond
Agile Estimation and Planning: Scrum, Kanban, and BeyondAgile Estimation and Planning: Scrum, Kanban, and Beyond
Agile Estimation and Planning: Scrum, Kanban, and BeyondTechWell
 
Agile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective ActionsAgile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective ActionsTechWell
 
Keynote: Lightning Strikes the Keynotes
Keynote: Lightning Strikes the KeynotesKeynote: Lightning Strikes the Keynotes
Keynote: Lightning Strikes the KeynotesTechWell
 
Continuous Delivery at Ancestry.com
Continuous Delivery at Ancestry.comContinuous Delivery at Ancestry.com
Continuous Delivery at Ancestry.comTechWell
 

Viewers also liked (10)

Presenting Test Results with Clarity and Confidence
Presenting Test Results with Clarity and ConfidencePresenting Test Results with Clarity and Confidence
Presenting Test Results with Clarity and Confidence
 
Find Requirements Defects to Build Better Software
Find Requirements Defects to Build Better SoftwareFind Requirements Defects to Build Better Software
Find Requirements Defects to Build Better Software
 
Usability Testing: Personas, Scenarios, Use Cases, and Test Cases
Usability Testing: Personas, Scenarios, Use Cases, and Test CasesUsability Testing: Personas, Scenarios, Use Cases, and Test Cases
Usability Testing: Personas, Scenarios, Use Cases, and Test Cases
 
Leading Change―Even If You’re Not in Charge
Leading Change―Even If You’re Not in ChargeLeading Change―Even If You’re Not in Charge
Leading Change―Even If You’re Not in Charge
 
Bad Testing Metrics—and What To Do About Them
Bad Testing Metrics—and What To Do About ThemBad Testing Metrics—and What To Do About Them
Bad Testing Metrics—and What To Do About Them
 
Sprint Reviews that Attract, Engage, and Enlighten Stakeholders
Sprint Reviews that Attract, Engage, and Enlighten StakeholdersSprint Reviews that Attract, Engage, and Enlighten Stakeholders
Sprint Reviews that Attract, Engage, and Enlighten Stakeholders
 
Agile Estimation and Planning: Scrum, Kanban, and Beyond
Agile Estimation and Planning: Scrum, Kanban, and BeyondAgile Estimation and Planning: Scrum, Kanban, and Beyond
Agile Estimation and Planning: Scrum, Kanban, and Beyond
 
Agile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective ActionsAgile Project Failures: Root Causes and Corrective Actions
Agile Project Failures: Root Causes and Corrective Actions
 
Keynote: Lightning Strikes the Keynotes
Keynote: Lightning Strikes the KeynotesKeynote: Lightning Strikes the Keynotes
Keynote: Lightning Strikes the Keynotes
 
Continuous Delivery at Ancestry.com
Continuous Delivery at Ancestry.comContinuous Delivery at Ancestry.com
Continuous Delivery at Ancestry.com
 

Similar to Acceptance Test-driven Development: Mastering Agile Testing

Acceptance Test-Driven Development: Mastering Agile Testing
Acceptance Test-Driven Development: Mastering Agile TestingAcceptance Test-Driven Development: Mastering Agile Testing
Acceptance Test-Driven Development: Mastering Agile TestingTechWell
 
Optimizely x Live Demo
Optimizely x Live DemoOptimizely x Live Demo
Optimizely x Live DemoOptimizely
 
Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Anand Bagmar
 
MVP Design Hacks
MVP Design HacksMVP Design Hacks
MVP Design HacksNaresh Jain
 
Failure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature DeliveryFailure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature DeliveryOptimizely
 
Specification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber ImplementationSpecification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber ImplementationTechWell
 
Continuous Delivery: The One Question You Must Answer
Continuous Delivery: The One Question You Must AnswerContinuous Delivery: The One Question You Must Answer
Continuous Delivery: The One Question You Must AnswerDevOps.com
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
 
Build the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven TestingBuild the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven TestingTechWell
 
Smart Combinatorial Testing
Smart Combinatorial TestingSmart Combinatorial Testing
Smart Combinatorial TestingTechWell
 
Outcome-Driven Product Backlog Management by Mike Dwyer - Agile Maine Day 2016
Outcome-Driven Product Backlog Management by Mike Dwyer - Agile Maine Day 2016Outcome-Driven Product Backlog Management by Mike Dwyer - Agile Maine Day 2016
Outcome-Driven Product Backlog Management by Mike Dwyer - Agile Maine Day 2016agilemaine
 
Metrics and Analytics, Guest Lecture, UCLA
Metrics and Analytics, Guest Lecture, UCLAMetrics and Analytics, Guest Lecture, UCLA
Metrics and Analytics, Guest Lecture, UCLADarren Levy
 
Flash Series: Using Ad Testing Data To Set Up Foolproof Tests
Flash Series: Using Ad Testing Data To Set Up Foolproof TestsFlash Series: Using Ad Testing Data To Set Up Foolproof Tests
Flash Series: Using Ad Testing Data To Set Up Foolproof TestsHanapin Marketing
 
Test Everything: TrustRadius Delivers Customer Value with Experimentation
Test Everything: TrustRadius Delivers Customer Value with ExperimentationTest Everything: TrustRadius Delivers Customer Value with Experimentation
Test Everything: TrustRadius Delivers Customer Value with ExperimentationOptimizely
 
Inflectra Partner Program 2021
Inflectra Partner Program 2021Inflectra Partner Program 2021
Inflectra Partner Program 2021Inflectra
 
Test Equipment Rental
Test Equipment RentalTest Equipment Rental
Test Equipment Rentalhenharas
 
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar SinghWorkshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar SinghAgile ME
 
Product development
Product developmentProduct development
Product developmentAllan Tan
 

Similar to Acceptance Test-driven Development: Mastering Agile Testing (20)

Acceptance Test-Driven Development: Mastering Agile Testing
Acceptance Test-Driven Development: Mastering Agile TestingAcceptance Test-Driven Development: Mastering Agile Testing
Acceptance Test-Driven Development: Mastering Agile Testing
 
Optimizely x Live Demo
Optimizely x Live DemoOptimizely x Live Demo
Optimizely x Live Demo
 
Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)
 
MVP Design Hacks
MVP Design HacksMVP Design Hacks
MVP Design Hacks
 
Failure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature DeliveryFailure is an Option: Scaling Resilient Feature Delivery
Failure is an Option: Scaling Resilient Feature Delivery
 
Specification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber ImplementationSpecification-by-Example: A Cucumber Implementation
Specification-by-Example: A Cucumber Implementation
 
Continuous Delivery: The One Question You Must Answer
Continuous Delivery: The One Question You Must AnswerContinuous Delivery: The One Question You Must Answer
Continuous Delivery: The One Question You Must Answer
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Build the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven TestingBuild the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven Testing
 
Machine Learning For Stock Broking
Machine Learning For Stock BrokingMachine Learning For Stock Broking
Machine Learning For Stock Broking
 
Smart Combinatorial Testing
Smart Combinatorial TestingSmart Combinatorial Testing
Smart Combinatorial Testing
 
Outcome-Driven Product Backlog Management by Mike Dwyer - Agile Maine Day 2016
Outcome-Driven Product Backlog Management by Mike Dwyer - Agile Maine Day 2016Outcome-Driven Product Backlog Management by Mike Dwyer - Agile Maine Day 2016
Outcome-Driven Product Backlog Management by Mike Dwyer - Agile Maine Day 2016
 
Metrics and Analytics, Guest Lecture, UCLA
Metrics and Analytics, Guest Lecture, UCLAMetrics and Analytics, Guest Lecture, UCLA
Metrics and Analytics, Guest Lecture, UCLA
 
Flash Series: Using Ad Testing Data To Set Up Foolproof Tests
Flash Series: Using Ad Testing Data To Set Up Foolproof TestsFlash Series: Using Ad Testing Data To Set Up Foolproof Tests
Flash Series: Using Ad Testing Data To Set Up Foolproof Tests
 
Test Everything: TrustRadius Delivers Customer Value with Experimentation
Test Everything: TrustRadius Delivers Customer Value with ExperimentationTest Everything: TrustRadius Delivers Customer Value with Experimentation
Test Everything: TrustRadius Delivers Customer Value with Experimentation
 
Inflectra Partner Program 2021
Inflectra Partner Program 2021Inflectra Partner Program 2021
Inflectra Partner Program 2021
 
Test Equipment Rental
Test Equipment RentalTest Equipment Rental
Test Equipment Rental
 
Testers in an agile world
Testers in an agile worldTesters in an agile world
Testers in an agile world
 
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar SinghWorkshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
 
Product development
Product developmentProduct development
Product development
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Acceptance Test-driven Development: Mastering Agile Testing

  • 1. MN PM Tutorial 4/29/13 1:00PM Acceptance Test-driven Development: Mastering Agile Testing Presented by: Nate Oster CodeSquads, LLC Brought to you by: 340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Nate Oster An agile player-coach and founder of CodeSquads, Nate Oster helps clients adopt lean and agile methods. Nate builds high-performance teams that adapt to change, embrace a pragmatic philosophy of continuous improvement, measure progress with new features, and deliver high-quality software that delights customers. As a coach, he inspires adopters with hands-on mentoring and simulations that provide a safe learning environment for new ideas. Nate promotes testing as a serious technical discipline. While Nate maintains a speaking schedule at software development conferences, he spends most of his time as a hands-on advisor to software product teams from startups to multinationals. Nate is easily defeated at all card games. Contact him at NateOster@CodeSquads.com.
  • 3. ACCEPTANCE TEST-DRIVEN DEVELOPMENT: MASTERING AGILE TESTING Nate Oster NATE OSTER Agile Player-Coach & Founder, CodeSquads Focused on adopting Lean & Agile methods Mail: Nate.Oster@codesquads.com Twitter: nateoster Voice: 703.930.4100
  • 4. LEARNING OBJECTIVES Stop finding bugs after development! Shift from tests as verification to tests as specification by learning to test first. Simulate the feel of ATDD in a non-threatening way Gain meaningful practice with table-based and plain-language formats for specifying intent. Leave empowered to advocate ATDD with your own teams and managers! AGENDA Agile Testing has limits Simulation: Tests as Verification Intro to ATDD Simulation: Tests as Specification
  • 5. AGENDA Specification by Example Simulation: Examples using Tables Break! Simulation: Examples using Given-When-Then Wrap-up: Action Planning, Q&A THE PROBLEM Finding defects is expensive Rework, Scrap, Delays Feedback speed is limited
  • 6. SIMULATION: TESTS AS VERIFICATION SIMULATION: TESTS AS VERIFICATION Teams of 3 “Develop” an image by punching graph paper “Test” your solution by fitting it over pegs Satisfy your Customer!
  • 7. RETROSPECTIVE: TESTS AS VERIFICATION ACCEPTANCE TESTDRIVEN DEVELOPMENT Stop testing bugs out. Start building quality in.
  • 8. Agile&Tes)ng&Quadrants& Business-facing Tests Acceptance Tests Unit & Component Tests Automated Frameworks Mostly Manual Exploratory Tests Usability Testing UAT Performance Testing Security analysis “-ility” tests Tests that critique the product Tests that support the Team Mostly Automated Specialized Tools Technology-facing Tests “Agile Testing,” Lisa Crispin & Janet Gregory, used with permission (originally Brian Marick, 2006) The$Test$Automa,on$Pyramid$ Exploratory /Manual GUI More business facing, realistic Sn Acceptance Tests (API Layer) FitNesse/ Cuke Lower-cost Easier maintenance Faster feedback xUnit Unit & Component Tests Adapted from Mike Cohn (Automated Test Pyramid) & “Agile Testing”, Lisa Crispin & Janet Gregory..
  • 9. THE TEST AUTOMATION PYRAMID Push tests as low as possible in the pyramid Have tests focus on intent, not implementation Team decides appropriate level for each test Anatomy(of(an(Itera-on( 2(–(4(week(-mebox( Define( Define( Build( Define( Build( Build( Test( Define( Test( Build( Test( Define( Define( Build( Define( Test( Build( Test( Define( Test( Build( Test( Itera-on(Planning…( Retrospec-ve( Itera-on(Demo( Itera-on(Planning( Feature( Team( Build( Test( a(f ( y… da xt( ne rs( ou ( 2(h ours (h 2@4 urs ( urs ys( (d a ew (h o ew a(f (ho 2@4 ( Nate%Oster,%“The%Agile%Challenge”%Workshop,%CodeSquads%LLC.%
  • 10. SIMULATION: TESTS AS SPECIFICATION SIMULATION: TESTS AS SPECIFICATION Start each story by outlining the acceptance criteria Specify acceptance tests as concrete examples If we don’t know when we’re done, then why are we starting? Hypothesize the top 3 effects of this change
  • 11. RETROSPECTIVE: TESTS AS SPECIFICATION Reflect: Where your hypotheses correct? Why or why not? Prepare to Share: Appoint a scribe Share your results at your tables List the top improvements SPECIFICATION BY EXAMPLE “An example would be helpful right about now.” - Brian Marick
  • 12. Essential Incidental Hat tip: Dale Emery Agile&Tes)ng&Quadrants& Business-facing Tests Acceptance Tests Unit & Component Tests Automated Frameworks Exploratory Tests Usability Testing UAT Performance Testing Security analysis “-ility” tests Technology-facing Tests Mostly Manual Tests that critique the product Tests that support the Team Mostly Automated Specialized Tools “Agile Testing,” Lisa Crispin & Janet Gregory, used with permission (originally Brian Marick, 2006)
  • 14. SOME TOOLS FOR EXECUTABLE SPECIFICATIONS TOOL TECHNOLOGY SWEET SPOT FitNesse Java (native) .NET (plugin) Cucumber Ruby (native) Java (CucumberJVM) .NET (plugin) SpecFlow .NET (native) SIMULATION: SPECIFICATION BY EXAMPLE USING TABLES
  • 15. TABLE-BASED SPECIFICATIONS (Re)-build a brokerage pricing engine Start with the simplest scenarios using realistic examples Be customer-focused! Pricing.Stocks Trade Source Internet Internet IVR Broker Ticker Buy/Sell LXK Buy LXK Sell Order Type Limit Limit Commission? $9.99 $9.99
  • 16. Pricing.Stocks Trade Source Internet Internet IVR Ticker Buy/Sell LXK Buy LXK Sell LXK Buy Order Type Limit Limit Market Commission? $9.99 $9.99 $34.99 [expected “$34.99”, actual “$9.99”] Pricing.MutualFunds.Buy Test Funds Ticker MNTF MNLD MFEE Fund Type NTF No-Load Load Load % N/A N/A 4% on Buy
  • 17. Pricing. MutualFunds. NTF. ShortTermRedemption No Transaction Fee Mutual Funds 180 days or less No commission Ticker MNTF MNLD MFEE Fund Type NTF No-Load Load Load % N/A N/A 4% on Buy $49.99 fee WHAT IF I BUY TWICE IN 180 DAYS?
  • 18. TABLES MAY NOT BE EXPRESSIVE ENOUGH FOR SOME SCENARIOS What if I buy the same fund more than once in 180 days? What if I sell when only part of the balance is 180 days old? “An example would be helpful right about now.” - Brian Marick SIMULATION: SPECIFICATION BY EXAMPLE USING TEST LINGOS* *Credit to Patrick Wilson-Welsh and Dawn Cannon for coining the term!
  • 19. LINGO-BASED SPECIFICATIONS Given - When - Then GIVEN - Preconditions WHEN - Action THEN - Result / Postcondition THINKING WITH GIVEN-WHEN-THEN Pricing. MutualFunds. Buy Scenario: Buy a no-load fund. Given I do not own fund MNLD When I buy $10,000 in fund MNLD then the commission is $49.99 and the fee is $0.00. When I buy fund MNLD, then the commission is $49.99.
  • 20. Pricing. MutualFunds.Buy Scenario: Buy a mutual fund. Test Funds Ticker MNTF MNLD MFEE Fund Type NTF No-Load Load Load % N/A N/A 4% on Buy GIVEN-WHEN-THEN CAN BE MORE EXPRESSIVE THAN TABLES What if I buy the same fund more than once in 180 days? What if I sell when only part of the balance is 180 days old? “An example would be helpful right about now.” - Brian Marick
  • 21. Pricing. MutualFunds. NTF. ShortTermRedemption No Transaction Fee Mutual Funds 180 days or less No commission Ticker MNTF MNLD MFEE Fund Type NTF No-Load Load Load % N/A N/A 4% on Buy $49.99 fee Mutual Fund Short Term Redemptions No transaction fee (NTF) funds held 180 days or less are subject to a Short Term Redemption Fee of $49.99. Scenario: Part of sale held less than 180 days charges short term redemption fee. Given I own 100 shares of MNTF for 181 days and I own 100 shares of MNTF for 179 days When I sell 101 shares of MNTF Then I am charged a short term redemption fee of $49.99. Scenario: ...
  • 22. Scenario: Part of sale held less than 180 days charges short term redemption fee. Given I own MNTF |shares| days held | | 100 | 181 | | 100 | 179 | When I sell 101 shares Then I am charged a short term redemption fee. NEW FEATURE: CONCIERGE LEVEL PRICING Concierge Level pricing is a trial promotion. It offers selected customers free internet trades if their total assets exceed $250,000 or if a trade is for more than $10,000. Brainstorm acceptance tests for this feature using tables, given-when-then, or both. Your choice!
  • 23. Feature: Concierge pricing promotion. Background: Given the concierge pricing promotion is active. Scenario Outline: Buying in a selected account. Given a selected account with a balance of <total assets>, when I buy <trade amount> of <ticker> using source <trade source>, then the commission is <fee>. Examples: | total assets | trade amount | ticker | trade source | fee | | | | | | | | | | | | | | | | | | | REVIEW
  • 24. WRAP-UP: CREATE AN ACTION PLAN What outcomes could ATDD improve on your Feature Team? What impediments to adopting ATDD do you anticipate on your team? Is there evidence these impediments can be overcome? What small experiments will confirm or disprove these opportunities with the least possible risk? EXPLORING FURTHER Learn More: Experiment: Specification by Example (Gojko Adzic) “Pull” in support through your Team’s retrospectives The Cucumber Book (Aslak Hellesoy) People & improvement Feedback Interactions ideas over Processes & Tools! Agile Testing (Lisa Crispin & Janet Gregory)
  • 25. NATE OSTER Agile Player-Coach & Founder, CodeSquads Focused on adopting Lean & Agile methods Mail: nate.oster@codesquads.com Twitter: nateoster Voice: 703.930.4100