Bibliography - Test-Driven Infrastructure with Chef (2011)

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)