• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Understanding Acceptance Test Driven Development
 

Understanding Acceptance Test Driven Development

on

  • 1,477 views

This presentation was given to the Software Testers of Cincinnati group in November 2011. It discusses what ATDD is and how to derive many of its benefits with traditional SDLC methodologies.

This presentation was given to the Software Testers of Cincinnati group in November 2011. It discusses what ATDD is and how to derive many of its benefits with traditional SDLC methodologies.

Statistics

Views

Total Views
1,477
Views on SlideShare
1,466
Embed Views
11

Actions

Likes
2
Downloads
0
Comments
0

2 Embeds 11

http://www.linkedin.com 10
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Understanding Acceptance Test Driven Development Understanding Acceptance Test Driven Development Presentation Transcript

    • Understanding Acceptance Test Driven DevelopmentConcepts beneficial to you todayNovember 2011Presented by Joseph Ours
    • Introducing Joseph Ours and Cohesion About Joseph About Cohesion • Owns development and delivery of • Consulting company with over a Cohesions Quality Assurance and decade of experience Testing Services • Advisory & Delivery Services support • More than 15 years of IT experience both agile and traditional project spanning several industries and roles approaches • Notable success managing multi-million • Proven solutions which can be tailored dollar initiatives while introducing for your organization innovative solutions for Fortune 1000 companies, resulting in improved • Offices in Cincinnati, Columbus, quality, increased client satisfaction, Boston, and Charlotte cost avoidance, on-time delivery, and establishing a true team cultureCOHESION.com 877.774.3001
    • Typical Process Analysis and Design Build Test ReleaseCOHESION.com 877.774.3001
    • Typical Process Analysis and Design Build Test ReleaseCOHESION.com 877.774.3001
    • Typical Process Analysis and Design Build Test ReleaseCOHESION.com 877.774.3001
    • Typical Process Analysis and Design Build Test ReleaseCOHESION.com 877.774.3001
    • Typical Process Analysis and Design Build Test ReleaseCOHESION.com 877.774.3001
    • Lots of Pain in this Process Misunderstanding of what business wants Incomplete requirements and design documents Differing opinion on what requirement means Unstable code Lack of unit testing Lack of time for testing phase Misprioritized requirements and tests Regression issuesCOHESION.com 877.774.3001
    • Results In… Missed bugs Cut features Rework Unhappy business partners How can we make this better?COHESION.com 877.774.3001
    • Tweak the Process Analysis and Design Build Test ReleaseCOHESION.com 877.774.3001
    • Tweak the Process Write Feature Define Acceptance Criteria Write TDD Unit Write Acceptance Tests Test Red Code Execute TDD Unit Test ATDD TDD Red Refactor Green Test Pass TDD Unit Test Execute ATDD Tests Red Pass ATDD Tests Refactor GreenCOHESION.com 877.774.3001
    • ATDD – How To Analysis and Design Define Acceptance Criteria Create Acceptance Tests Red Write TDD Unit Test Code Execute TDD Unit Test Red ATDD TDD Refactor Green Pass TDD Unit Test Execute ATDD Tests Red Pass ATDD Tests Refactor GreenCOHESION.com 877.774.3001
    • What is Acceptance Criteria States what must be done to be considered done Elaborates requirements with business examples Uncover new requirements Independent of implementation Detailed just enoughCOHESION.com 877.774.3001
    • Purpose of Acceptance CriteriaCOHESION.com 877.774.3001
    • Acceptance Criteria Example • Requirement: Allow an account owner to see an account balance • Balance should update after performing a transfer 1 The rolling balance is displayed correctly The rolling balance is calculated correctly for each 2 transaction The balance is displayed for every transaction for the full 3 period of time transactions are available Transfer only works if available balance greater than 4 transfer amount 5 Can only transfer positive amounts 6 Transfers can only be dated for today and the future Transfers only allowed between Checking and Savings 7 accountsCOHESION.com 877.774.3001
    • Acceptance Test Definition • A set of tests that must pass before an application can be considered finished • With defined success criteria [is key] • With real world data • Defines how you know you are done that is agreed upon by all • Does not replace other tests (unit, integration, etc…) • Written before developmentCOHESION.com 877.774.3001
    • Acceptance Test Examples • Given a user is logged in when they transfer $ from savings to checking and it is less than the available balance then savings decreases, checking increases • Given a user is logged in when they transfer $ from checking to savings and it is less than the available balance then savings increases, checking decreases • Given a user is logged in when they transfer $ from one checking to non-checking or non-savings and it is less than the available balance then checking remains same and user is alerted to invalid transferCOHESION.com 877.774.3001
    • TDD – How To Analysis and Design Define Acceptance Criteria Create Acceptance Tests Red Write TDD Unit Test Code Execute TDD Unit Test Red ATDD TDD Refactor Green Pass TDD Unit Test Execute ATDD Tests Red Pass ATDD Tests Refactor GreenCOHESION.com 877.774.3001
    • TDD Basic Process Development process characterized by write failing test Refactor using same Write code test as regression Test Pass Fix codeCOHESION.com 877.774.3001
    • ATDD and TDD Interaction Analysis and Design Define Acceptance Criteria Create Acceptance Tests Red Write TDD Unit Test Code Execute TDD Unit Test Red ATDD TDD Refactor Green Pass TDD Unit Test Execute ATDD Tests Red Pass ATDD Tests Refactor GreenCOHESION.com 877.774.3001
    • ATDD vs TDD – Different Focus ATDD is Test Driven Development (TDD) at the business and functional level Building the right code TDD is Test Driven Development at the component or unit level Building the code rightCOHESION.com 877.774.3001
    • ATDD - What it is not Not a replacement for TDD Not a substitute for all Manual Testing Not a alternate for Test Planning Not a proxy for Test Data Management Not a silver bulletCOHESION.com 877.774.3001
    • Recap - Benefits of ATDDCOHESION.com 877.774.3001
    • Joseph Ours jours@cohesion.com 614.423.5253 Cohesion.comCOHESION.com 877.774.3001