Test-Driven Infrastructure with Chef (2011)
Appendix A. Bibliography
There are many excellent books on test-driven and behavior-driven development, plus several on the tools that underpin the approaches discussed in this book. Here’s a selection of books that have informed my own views, and books that will reward further study.
Books on TDD and ATDD
§ Test-Driven Development: By Example by Kent Beck (Addison-Wesley Professional, 2002)
§ Test-Driven Development: A Practical Guide by David Astels (Prentice Hall, 2003)
§ Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin; Janet Gregory (Addison-Wesley Professional, 2008)
§ Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration by Ken Pugh, Aslak Hellesoy, et al.(Addison-Wesley Professional, 2010)
§ ATDD by Example: A Practical Guide to Acceptance Test-Driven Development by Markus Gärtner (Addison-Wesley Professional, 2012)
§ Specification by example: How successful teams deliver the right software by Adžić, Gojko (Manning, 2011)
§ _ Bridging the communication gap: Specification by Example and Agile Acceptance Testing_, by Adžić, Gojko (Neuri Ltd., 2009)
Books and Articles on BDD
§ Instant Cucumber BDD How-to by Wayne Ye (Packt Publishing, 2013)
§ Introducing BDD by Dan North
§ What’s in a story? by Dan North
Books on Agile Testing in General
§ Beautiful Testing, ed. by Adam Goucher and Tim Riley (O’Reilly, 2009)
§ Impact Mapping: Making a Big Impact with Software Products and Projects by Gojko Adzic, Marjory Bisset, and Nikola Korac (Provoking Thoughts, 2012)
Chef Articles and Presentations
§ Guide on Authoring Cookbooks
§ Slideshare: The Berkshelf Way
Books on Tools
§ The RSpec Book by David Chelimsky et al. (Pragmatic Bookshelf, 2010)
§ Learning GNU Emacs, Third Edition by Debra Cameron, James Elliott, Marc Loy, Eric S. Raymond, and Bill Rosenblatt (O’Reilly, 2004)
§ Version Control with Git, Second Edition by Jon Loeliger and Matthew McCullough (O’Reilly, 2012)
§ Jenkins: The Definitive Guide by John Ferguson Smart (O’Reilly, 2011)
§ Jenkins Continuous Integration Cookbook by Alan Berg (Packt Publishing, 2012)
Books on Ruby
§ The Ruby Way: Solutions and Techniques in Ruby Programming, Second Edition by Hal Fulton and Russ Olsen (Addison-Wesley Professional, 2006) (A third edition is scheduled for publication in December 2013.)
§ Why the Lucky Stiff’s (Poignant) Guide to Ruby
§ Programming Ruby, Second Edition by Dave Thomas, with Chad Fowler and Andy Hunt (Pragmatic Programmers, 2005)
§ The Ruby Programming Language by David Flanagan and Yukihiro Matsumoto (O’Reilly, 2008)
§ Eloquent Ruby by Russ Olsen (Addison-Wesley Professional, 2011)
§ The Well-Grounded Rubyist by David A. Black (Manning Publications, 2009)
§ Metaprogramming Ruby by Paolo Perrotta (Pragmatic Bookshelf, 2010)
§ Design Patterns in Ruby by Russ Olsen (Addison-Wesley Professional, 2007)
§ Practical Object-Oriented Design in Ruby by Sandi Metz (Addison-Wesley Professional, 2012)
Books on Bash and Shell Scripting
§ Classic Shell Scripting by Arnold Robbins and Nelson H. F. Beebe (O’Reilly, 2005)
§ Shell Scripting by Steve Parker (Wrox, 2011)
§ Learning the bash Shell (A Nutshell Handbook) by Cameron Newham and Bill Rosenblatt (O’Reilly, 1998)
§ bash Cookbook by Carl Albing, JP Vossen, and Cameron Newham (O’Reilly, 2007)
§ See also Bash Guide (excellent for beginners) and BashFAQ (for FAQ/cookbooks)
General Programming Books
§ Extreme Programming Explained by Kent Beck and Cynthia Andres (Addison Wesley, First edition, 1999, and Second edition, 2004)
§ Mastering Regular Expressions by Jeffrey E.F. Friedl (O’Reilly, 1997)
§ Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin (Prentice Hall, 2008)
Other Great Books
§ Web Operations, ed. John Allspaw and Jesse Robbins (O’Reilly, 2010)
§ Continuous Delivery by Jez Humble and David Farley (Addison Wesley, 2010)
§ The Art of Capacity Planning: Scaling Web Resources by John Allspaw (O’Reilly, 2008)
§ The Art of Agile Development by James Shore (O’Reilly, 2007)
§ Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans (Addison-Wesley, 2003)
§ Kanban: Successful Evolutionary Change for Your Technology Business by David Anderson (Blue Hole Press, 2010)
§ Growing Object-Oriented Software, Guided by Tests by Steve Freeman and Nat Pryce (Addison-Wesley, 2009)
§ Exploring Requirements: Quality Before Design by Donald C. Gause and Gerald M. Weinberg (Dorset House Publishing, 2011)
§ Lean Software Development: An Agile Toolkit by Mary Poppendieck and Tom Poppendieck (Addison-Wesley Professional, 2003)
§ User Stories Applied: For Agile Software Development by Mike Cohn (Addison-Wesley, 2004)
§ Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck,et al.(Addison-Wesley, 1999)
§ Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin (Pearson, 2011)
§ The Visible Ops Handbook by Kevin Behr, Gene Kim and George Spafford (IT Process Institute, 2005)
§ Introduction to Real ITSM by Rob England (CreateSpace, 2008)
§ Devops for Developers by Michael Hüttermann (Apress, 2012)
§ High Performance Web Sites: Essential Knowledge for Front-End Engineers by Steve Souders (O’Reilly, 2007)
§ Even Faster Web Sites: Performance Best Practices for Web Developers by Steve Souders (O’Reilly, 2009)
§ Scalable Internet Architectures by Theo Schlossnagle (Developer’s Library, 2007)
§ Release It!: Design and Deploy Production-Ready Software by Michael T. Nygard (Pragmatic Programmers, 2007)
§ Building Scalable Web Sites: Building, Scaling, and Optimizing the Next Generation of Web Applications by Cal Henderson (O’Reilly, 2006)
§ Cloud Application Architectures: Building Applications and Infrastructure in the Cloud by George Reese (Theory in Practice) (O’Reilly, 2009)
§ High Performance MySQL: Optimization, Backups, Replication, and More by Baron Schwartz, Peter Zaitsev et al. (O’Reilly, 2008)
§ Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation by Jez Humble David Farley (Addison-Wesley Signature Series, 2010)
§ MySQL High Availability: Tools for Building Robust Data Centres by Charles Bell, Mats Kindahl and Lars Thalmann (O’Reilly, 2010)
§ Continuous Integration by Paul M Duvall, Steve Matyas and Andrew Glover (Addison-Wesley, 2007)
§ Lean IT by Stephen C Bell and Michael A Orzen (Productivity Press, 2010)
§ Management Challenges for the 21st Century by Peter F. Drucker (Butterworth-Heinemann, 2007)