Email the Author

You can use this page to email George Dinwiddie about Evolutionary Anatomy of Test Automation Code.

Please include an email address so the author can respond to your query

This message will be sent to George Dinwiddie

This site is protected by reCAPTCHA and the Google  Privacy Policy and  Terms of Service apply.

About the Book

Many people agree that one important outcome of Behavior Driven Development is a set of regression tests to demonstrate the desired behavior and ensure that it is maintained over time. Then they often struggle to do so in a manner that remains maintainable as the system and the test code grows larger. Sometimes they even abandon their tests and start over, repeatedly.

In this book we demonstrate the changing needs as the application and suite of tests grow. We identify some of the patterns that help us manage the complexity over time.

The book uses an racehorse fortune-telling application, EquineHoroscope (https://github.com/gdinwiddie/EquineHoroscope) for illustration. The code is in Java, and the tests use Cucumber and JUnit. The IDE is Eclipse. The concepts and patterns, however, are useful in other languages and tools.

Some of the lessons:

  • How and when to shift focus between business and programmer levels
  • Extracting "helper" code out of test scenarios
  • Giving meaningful shape to "helper" code
  • Articulating layers of test code

The first publication coincided with the Agile Alliance Technical Conference 2016 in Raleigh, North Carolina. Attendees to my session on this topic (http://aatc2016.sched.org/event/5ycy/evolutionary-anatomy-of-test-automation-code-george-dinwiddie) were given a coupon code for a free copy of this book.

Since then, I've given talks at other conferences based on this material.


About the Author

George Dinwiddie’s avatar George Dinwiddie

@gdinwiddie

Trained in literature, I have been an organic vegetable farmer, an electronic hardware designer, and a software developer. What else do you do with a degree in English?

Today I help organizations succeed in their software development efforts, as a consultant and coach. I bring to bear decades of personal experience, lessons from Systems Thinking, a wide variety of Agile Development approaches, and an appreciation for individual and team dynamics.

Logo white 96 67 2x

Publish Early, Publish Often

  • Path
  • There are many paths, but the one you're on right now on Leanpub is:
  • Evolutionaryanatomy › Email Author › New
    • READERS
    • Newsletters
    • Weekly Sale
    • Monthly Sale
    • Store
    • Home
    • Redeem a Token
    • Search
    • Support
    • Leanpub FAQ
    • Leanpub Author FAQ
    • Search our Help Center
    • How to Contact Us
    • FRONTMATTER PODCAST
    • Featured Episode
    • Episode List
    • MEMBERSHIPS
    • Reader Memberships
    • Department Reader Memberships
    • Author Memberships
    • Your Membership
    • COMPANY
    • About
    • About Leanpub
    • Blog
    • Contact
    • Press
    • Essays
    • AI Services
    • Imagine a world...
    • Manifesto
    • More
    • Partner Program
    • Causes
    • Accessibility
    • AUTHORS
    • Write and Publish on Leanpub
    • Create a Book
    • Create a Bundle
    • Create a Course
    • Create a Track
    • Testimonials
    • Why Leanpub
    • Services
    • TranslateAI
    • TranslateWord
    • TranslateEPUB
    • PublishWord
    • Publish on Amazon
    • CourseAI
    • GlobalAuthor
    • Marketing Packages
    • IndexAI
    • Author Newsletter
    • The Leanpub Author Update
    • Author Support
    • Author Help Center
    • Leanpub Authors Forum
    • The Leanpub Manual
    • Supported Languages
    • The LFM Manual
    • Markua Manual
    • API Docs
    • Organizations
    • Learn More
    • Sign Up
    • LEGAL
    • Terms of Service
    • Copyright Policy
    • Privacy Policy
    • Refund Policy

*   *   *

Leanpub is copyright © 2010-2025 Ruboss Technology Corp.
All rights reserved.

This site is protected by reCAPTCHA
and the Google  Privacy Policy and  Terms of Service apply.

Leanpub requires cookies in order to provide you the best experience. Dismiss