References
Many aspects are shared among the different approaches. ATDD in Lean-Agile Acceptance Test-Driven Development encompasses aspects of these other approaches. I’ve documented the parts that come specifically from the other driven developments (DDs), including Brian Marick’s examples, Eric Evan’s ubiquitous language, and Dan North’s given-when-then template. The most visible differences are that the tests here are presented in table format rather than in a more textual format, such as BDD's Cucumber language, and they concentrate on functionality instead of the user interface. This book's version of ATDD matches closely that described by Lasse Koskela and Gojko Adzic and follows the testing recommendations of Jim Coplien .
The following books and websites were referenced Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration
[AAA01] http://www.arrangeactassert.com/why-and-what-is-arrange-act-assert/.
[ABA01] http://www.abajournal.com/news/article/judge_calls_for_end_to_lawyers_obfuscation_suits_madness/
[Adzic01] Adzic, Gojko. Bridging the Communication Gap:
Specification by Example and Agile Acceptance Testing. Neuri
Limited, 2009.
[Adzic02] Adzic, Gojko. Test Driven .NET
Development with FitNesse. Neuri Limited, 2008. Available at http://fitnesse.s3.amazonaws.com/tdd_net_with_fitnesse.pdf.
[Agile01] http://agilemanifesto.org/principles.html.
[Alexander01] Alexander, Christopher, Sara Ishikawa, and Murray
Silverstein. A Pattern Language: Towns, Buildings, Construction.
Oxford University Press, 1977.
[Ambler01] Ambler,
Scott W. Agile Modeling: Effective Practices for eXtreme
Programming and the Unified Process. Wiley, 2002.
[Anderson01]
Anderson, David J. Kanban. Blue Hole Press, 2010.
[Answers01] http://www.answers.com/topic/acceptance-test.
[Answers02] http://www.answers.com/topic/system-test.
[Aston01] Meszaros, Gerard, and Janice Aston. "Adding Usability
Testing to an Agile Project."Agile Conference, 2006.
[Bach01] Bach, James."Exploratory Testing Explained". www.satisfice.com/articles/et-article.pdf.
[Beck01] Beck,
Kent. Test Driven Development: By Example. Addison-Wesley
Professional, 2002.
[Beust01] Beust, Cedric, and Hani
Suleiman. Next Generation Java Testing: TestNG and Advanced
Concepts. Addison-Wesley Professional, 2007.
[Chelimsky01]
Chelimsky, David, Dave Astels, Zach Dennis, Aslak Hellesøy, Bryan
Helmkamp, and Dan North. The RSpec Book: Behaviour Driven Development
with RSpec, Cucumber, and Friends. The Pragmatic Bookshelf.
[Cimperman01] Cimperman, Rob. UAT Defined: A Guide to Practical User
Acceptance Testing. Addison-Wesley Professional, 2006.
[Cockburn01] Cockburn, Alistair. Agile Software Development: The
Cooperative Game. Addison-Wesley Professional, 2006.
[Cockburn02] Cockburn, Alistair. Writing Effective Use Cases.
Addison-Wesley Professional, 2000.
[Cohn01] Cohn, Mike.
Agile Estimating and Planning. Prentice Hall, 2005.
[Cohn02] Cohn, Mike. User Stories Applied: For Agile Software Development.
Addison-Wesley Professional, 2004.
[Constantine01]
Constantine, Larry, and Lucy Lockwood. A.D. Software for Use: A
Practical Guide to the Models and Methods of Usage-Centered Design.
Addison-Wesley Professional, 1999.
[Constantine02] Stevens,
W., G. Myers, and L. Constantine."Structured Design". IBM Systems
Journal, 13 (2), 115–139, 1974.
[Cooper01] Cooper, Alan. The
Inmates Are Running the Asylum: Why High Tech Products Drive Us
Crazy and How to Restore the Sanity. Sams - Pearson Education,
2004.
[Coplien01] Bjørnvig, Gertrud, James Coplien, and Neil
Harrison."A Story about User Stories and Test-Driven Development".
Better Software 9(11), November 2007, ff. 34. http://www.rbcs-us.com/images/documents/User-Stories-and-Test-Driven-Development.pdf.
[Craig01] Mackinnon, Tim, Steve Freeman, and Philip
Craig."EndoTesting: Unit Testing with Mock Objects".
http://www.mockobjects.com/files/endotesting.pdf.
[Crispin01] http://lisacrispin.com/wordpress/tag/power-of-three/.
[Crispin02] Crispin, Lisa, and Janet Gregory. Agile Testing: A
Practical Guide for Testers and Agile Teams. Addison-Wesley
Professional, 2009.
[Cunningham01] Mugridge, R., and
W. Cunningham. Fit for Developing Software: Framework for
Integrated Tests. Prentice Hall PTR, 2005.
[Cunningham02] http://fit.c2.com/wiki.cgi?FrameworkHistory.
[Cunningham03] http://c2.com/wikisym2007/pnsqc2007.pdf.
[Decision01] http://www.decisionanalyticsblog.experian.com/blog/collections/0/0/championchallenger-collections-strategy-testing.
[Devx01] http://www.devx.com/vmspecialreport/Article/30410.
[DrDobbs01] http://www.drdobbs.com/architecture-and-design/187900423;?pgno=3.
[EATDD01] http://ase.cpsc.ucalgary.ca/index.php/EATDD/Home.
[Eckstein01] Eckstein, Jutta. Agile Software Development with
Distributed Teams: Staying Agile in a Global World. Dorset House
Publishing Company, Incorporated, 2010.
[Evans01]
Evans, Eric. Domain-Driven Design: Tackling Complexity in the
Heart of Software. Addison-Wesley Professional, 2003.
[Fast01] http://www.fastcompany.com/blog/charles-fishman/usair-asks-fliers-%E2%80%98can-we-get-hallelujah%E2%80%99.
[Faught01] http://sadekdrobi.com/.
[Feathers01]
Feathers, Michael. Working Effectively with Legacy Code. Prentice
Hall, 2004.
[Fowler01] Fowler, Martin. UML Distilled: A Brief
Guide to the Standard Object Modeling Language. Addison-Wesley
Professional, 2003.
[Gottesdiener01] Gottesdiener, Ellen.
Requirements by Collaboration: Workshops for Defining Needs.
Addison-Wesley Professional, 2002.
[Gottesdiener02] http://ebgconsulting.com/articles.php#wkshp.
[Gottesdiener03] http://ebgconsulting.com/facassets.php.
[Hillside01] http://www.hillside.net/plop/plop2003/Papers/Brown-mock-objects.pdf.
[Hunt01] Hunt, Andrew, and Dave Thomas. The Pragmatic Programmer:
From Journeyman to Master. Addison-Wesley Professional, 1999.
[Hussman01] Hussman, David. Practical Agility. The Pragmatic
Bookshelf (in production 2010).
[IBM01] http://publib.boulder.ibm.com/infocenter/rbhelp/v6r3/index.jsp?topic=/com.ibm.redbrick.doc6.3/wag/wag29.htm.
[IBM02] http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/rzahw/rzahwdetco.htm.
[IEFF01] http://www.ietf.org/rfc/rfc2822.txt.
[III01] http://www.drdobbs.com/architecture-and-de-sign/184414956.
[Isolum01] http://lsolum.typepad.com/copyfutures/2004/10/a_lesson_from_j.html.
[Jefferies01] http://xprogramming.com/articles/expcardconversationconfirmation/.
[Kaner01] Kaner, Cem, Jack Falk, and Hung Q. Nguyen. Testing
Computer Software. Wiley, 1999.
[Kerievsky01] http://industriallogic.com/papers/storytest.pdf.
[Koskela01] http://industriallogic.com/papers/storytest.pdf.
[Koskela02] Koskela, Lasse. Test Driven: TDD and Acceptance TDD for
Java Developers. Manning Publications, 2007.
[Larman01] Larman, Craig, and Bas Vodde. Scaling Lean & Agile
Development: Thinking and Organizational Tools for Large-Scale
Scrum. Addison-Wesley Professional, 2008.
[Larman02]
Larman, Craig, and Bas Vodde. Practices for Scaling Lean &
Agile Development: Large, Multisite, and Offshore Product Development
with Large-Scale Scrum. Addison-Wesley Professional, 2010.
[Marick01] http://www.exampler.com/.
[Martin01] http://fitnesse.org/.
[Martin02] http://butunclebob.com/ FitNesse.UserGuide.FitLibraryUserGuide.DoFixture.
[Martin03] http://fitnesse.org/ FitNesse.UserGuide.SliM.
[Melnik01] Martin, Robert C., and
Grigori Melnik."Tests and Requirements, Requirements and Tests: A
Möbius Strip". IEEE_Software Vol. 25, No. 1. January/February
2008, at
http://www.gmelnik.com/papers/IEEE_Software_Moebius_GMelnik_RMartin.pdf.
[Melnik02] Melnik, G., F. Maurer, and M. Chiasson."Executable
Acceptance Tests for Communicating Business Requirements: Customer
Perspective ". Agile Conference, 2006.
[Melnik03]
Melnik, Grigori, and Frank Maurer."Multiple Perspectives on
Executable Acceptance Test-Driven Development". http://www.springerlink.com/content/34w2q2561k471175/.
[Meszaros01] Meszaros, Gerard. xUnit Test Patterns: Refactoring
Test Code. Addison-Wesley, 2007.
[Meszaros02] Melnik,
Grigori, Jon Bach, and Gerard Meszaros."Acceptance Test
Engineering Guide, Vol. I". http://testingguidance.codeplex.com/.
[Mindtools01] http://www.mindtools.com/CommSkll/ActiveListening.htm.
[Myers01] Myers, Glenford J. The Art of Software Testing. Wiley,
2004.
[Nielsen01] Nielsen, Jakob. Usability
Engineering. Morgan Kaufmann, 1993.
[OSHA01] http://www.osha.gov/dts/osta/otm/noise/health_effects/physics.html
[Parnas01] http://www.cs.iastate.edu/~colloq/new/David_Parnas_slides.pdf.
[Patton01] http://www.agileproductdesign.com/presentations/user_story_mapping/index.html
[Pettichord01] Kaner, Clem, James Bach, and Bret Pettichord.
Lessons Learned in Software Testing. Wiley, 2001.
[Pichler01] Pichler, Roman. Agile Product Management with Scrum: Creating
Products that Customers Love. Addison-Wesley Professional, 2010.
[Poppendieck01] http://www.poppendieck.com/design.htm.
[Poppendieck02] Poppendieck, Mary, and Tom Poppendieck. Implementing Lean
Software Development: From Concept to Cash. Addison-Wesley
Professional, 2006.
[Poppendieck03] http://www.poppendieck.com/papers/LeanThinking.pdf.
[Poppendieck04] http://www.poppendieck.com/pdfs/Lean_Software_Development.pdff.
[Project01] http://www.projectsmart.co.uk/smart-goals.html.
[Pugh01] Pugh, Ken. Interface-Oriented Design. Pragmatic Bookshelf,
2006.
[Pugh02] Ken Pugh. Prefactoring—Extreme
Abstraction, Extreme Separation, Extreme Readability. O'Reilly
Media, 2005.
[Reinertsen01] Reinertsen, Donald G. The
Principles of Product Development Flow: Second Generation Lean
Product Development. Celeritas Publishing, 2009.
[Riordan01] Riordan, Rebecca M. Heads First Ajax. O'Reilly Media, 2008
[Rising01] Manns, Mary Lynn, and Linda Rising. Fearless Change:
Patterns for Introducing New Ideas. Addison-Wesley Professional,
2008.
[Rup01] http://rup.hops-fp6.org/process/artifact/ar_tstatmarc.htm.
[Satir01] http://www.satirworkshops.com/files/satirchangemodel.pdf.
[Security01] https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml.
[Security02] http://www.securiteam.com/securityreviews/5DP0N1P76E.html
[Shalloway01] Shalloway, Alan, James R. Trott, and Guy Beaver.
Lean-Agile Software Development: Achieving Enterprise Agility.
Addison-Wesley Professional, 2009.
[Sutherland01] http://jeffsutherland.com/JakobsenScrumCMMIGoingfromGoodtoGreatAgile2009.pdff.
[Systems01] http://www.systems-thinking.org/rca/rootca.htm.
[Tabaka01] Tabaka, Jean. Collaboration Explained: Facilitation Skills
for Software Project Leaders. Addison-Wesley Professional,
2006.
[Tavares01] http://www.tavaresstudios.com/.
[Usability01] http://www.usabilitynet.org/trump/documents/Suschapt.doc.
[Vinoleo01] http://vinoleoinc.com/Documents/How%20to%20create%20your%20Project%20Charter.pdf.
[Wake02] http://xp123.com/xplor/xp0308/.
[Weinberg01] Gause, Donald C., and Gerald M. Weinberg. Exploring
Requirements: Quality Before Design. Dorset House Publishing
Company, 1989.
[Whittaker01] Whittaker, James A. Exploratory
Software Testing: Tips, Tricks, Tours, and Techniques to Guide
Test Design. Addison-Wesley Professional.
[Wiegers03] Wiegers,
Karl. Practical Project Initiation: A Handbook with Tools.
Microsoft Press, 2007.
[Wiegers04] http://www.projectinitiation.com/process_assets/Project%20Charter%20Template.doc.
[Wiki01] http://en.wikipedia.org/wiki/N-body_problem.
[Wiki02] http://en.wikipedia.org/wiki/Four_color_theorem.
[Wiki03] http://en.wikipedia.org/wiki/Software_architect.
[Wiki04] http://en.wikipedia.org/wiki/Smoke_test.
[Wiki05] http://en.wikipedia.org/wiki/Myers-Briggs_Type_Indicator.
[Wiki06] http://en.wikipedia.org/wiki/Unified_Modeling_Language.
[Wiki07] http://en.wikipedia.org/wiki/Root_cause_analysis.
[Wiki08] http://en.wikipedia.org/wiki/Sound_level_meter.
[Wiki09] http://en.wikipedia.org/wiki/Five_whys.
[Wiki10] http://en.wikipedia.org/wiki/Broken_windows_theory.
Here are additional books involved with aspects and topics
related to acceptance test driven development including
requirements, testing, and process:
[Astels01] Astels, David. Test-Driven Development, A Practical Guide.
Prentice Hall, 2003.
[Bain01] Bain, Scott L. Emergent
Design: The Evolutionary Nature of Professional Software
Development. Addison-Wesley Professional, 2008.
[Copeland01]
Copeland, Lee. A Practitioner's Guide to Software Test Design.
Artech House Publishers, 2004.
[Coplien02] Bjørnvig, Gertrud,
James Coplien, and Neil Harrison."Chapter 2: A Story about User
Stories and Test-Driven Development, into the Field". Better
Software 9(12), December 2007, ff. 32.
[Coplien03] Coplien,
James O., and Neil B. Harrison. Organizational Patterns of Agile
Software Development. Prentice Hall, 2004.
[Craig02] Craig,
Rick, and Stefan P. Jaskiel. Systematic Software Testing. Artech
House, 2002.
[Demarco01] Demarco, Tom, Peter Hruschka, Tim
Lister, and Suzanne Robertson. Adrenaline Junkies and Template
Zombies: Understanding Patterns of Project Behavior. Dorset House,
2008.
[DeMarco02] DeMarco, Tom, and Timothy Lister. Waltzing
with Bears: Managing Risk on Software Projects. Dorset House
Publishing Company, Incorporated, 2003.
[Denne01]
Denne, Mark, and Jane Cleland-Huang. Software by Numbers: Low-Risk,
High-Return Development. Prentice Hall, 2003.
[Elssamadisy01]
Elssamadisy, Amr. Agile Adoption Patterns: A Roadmap to
Organizational Success. Addison-Wesley Professional, 2008.
[Elssamadisy02] Elssamadisy, Amr. “Test-Driven Requirements”
Chapter 44 in Agile Adoption Patterns: A Roadmap to Organizational
Success. Addison-Wesley Professional, 2008.
[Fowler02]
Fowler, Martin. Patterns of Enterprise Application Architecture.
Addison-Wesley Professional, 2002.
[Galen01] Galen, Robert.
Software Endgames: Eliminating Defects, Controlling Change, and
the Countdown to On-Time Delivery. Dorset House Publishing
Company, Incorporated, 2004.
[Graham01] Fewster, Mark, and
Dorothy Graham. Software Test Automation. Addison-Wesley,
1999.
[Graham02] Graham, Dorothy, Erik Van Veenendaal, Isabel
Evans, and Rex Black. Foundations of Software Testing. Cengage
Learning, 2008.
[Grenning01] Grenning, James W. Test Driven
Development for Embedded C. Pragmatic Bookshelf, 2010.
[Highsmith01] Highsmith, Jim. Agile Software Development Ecosystems.
Addison-Wesley Professional, 2002.
[Hiranabe01]
Hiranabe, Kenji. Kanban "Applied to Software Development: From
Agile to Lean".
http://www.infoq.com/articles/hiranabe-lean-agile-kanban.
[Janzen01] Janzen and Saledian."Does Test-Driven Development Really
Improve Software Design Quality?" IEEE Software 25(2), March/April
2008, pp.77–84.
[Jefferies02] Jeffries, Ron. Extreme
Programming Installed. Addison-Wesley Professional, 2000.
[Kerievsky02] Kerievsky, Joshua. Refactoring to Patterns.
Addison-Wesley Professional, 2004.
[Kerth01] Kerth,
Norman L. Project Retrospectives: A Handbook for Team Reviews,
Dorset House Publishing Company, 2001.
[Ladas01] Ladas, Corey.
Scrumban—Essays on Kanban Systems for Lean Software Development.
Modus Cooperandi Press, 2009.
[Marick02] Marick, Brian. The
Craft of Software Testing: Subsystems Testing Including
Object-Based and Object-Oriented Testing, Prentice Hall, 1994.
[Osherove01] Osherove, Roy. The Art of Unit Testing: With
Examples in .Net. Manning Publications, 2009.
[Pardee01] Pardee, William. To Satisfy & Delight Your Customer: How
to Manage for Customer Value. Dorset House Publishing Company,
Incorporated, 1996.
[Poppendieck05] Poppendieck, Mary,
and Tom Poppendieck. Lean Software Development: An Agile Toolkit.
Addison-Wesley Professional, 2003.
[Poppendieck06] Poppendieck,
Mary, and Tom Poppendieck. Leading Lean Software Development:
Results Are Not the Point. Addison-Wesley Professional, 2009.
[Rainsberger01] Rainsberger, J. B. JUnit Recipes: Practical Methods for
Programmer Testing. Manning Publications, 2004.
[Richardson01] Richardson, Jared, and William A. Gwaltney. Ship It! A
Practical Guide to Successful Software Projects. Pragmatic Bookshelf,
2005.
[Rothman01] Rothman, Johanna. Hiring the Best
Knowledge Workers, Techies & Nerds: The Secrets & Science
of Hiring Technical People. Dorset House Publishing Company,
Incorporated, 2004.
[Shore01] Shore, James, and Shane Warden.
The Art of Agile Development. O'Reilly Media, 2007.
[Siniaalto01] Siniaalto, M., and P. Abrahamsson. Comparative Case Study
on the Effect of Test-Driven Development on Program Design and Test
Coverage. ESEM 2007.
[Siniaalto02] Siniaalto, M., and
P. Abrahamsson."Does Test-Driven Development Improve the Program
Code? Alarming Results from a Comparative Case Study". Proceedings
of Cee-Set 2007, 10–12 October, 2007, Poznan, Poland.
[Stott01] Stott, Will, and James W. Newkirk. Using FIT Inside Visual
Studio Team System: Better Software Development for Agile Teams.
Addison-Wesley Professional, 2007.
[Wake01] Wake,
William C. Extreme Programming Explored. Addison-Wesley
Professional, 2001.
[Weinberg02] Weinberg, Gerald M. Perfect
Software: And Other Illusions About Testing. Dorset House, 2008.
[Whittaker02] Whittaker, James A. How to Break Software: A
Practical Guide to Testing. Addison-Wesley Professional, 2002.
[Wiegers01] Wiegers, Karl. Software Requirements, 2nd Edition.
Microsoft Press, 2003.
[Wiegers02] Wiegers, Karl. More
About Software Requirements: Thorny Issues and Practical Advice.
Microsoft Press, 2006.
[Williams01] George, Boby, and Laurie
Williams."An Initial Investigation of Test Driven Development in
Industry". Proceedings of the 2003 ACM symposium on Applied
computing table of contents, 2003.
[Williams02] Williams,
Laurie, and Robert Kessler. Pair Programming Illuminated.
Addison-Wesley Professional, 2002.