Evolutionary Anatomy of Test Automation Code
Evolutionary Anatomy of Test Automation Code
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.
Table of Contents
- About this edition
- Preface
-
Preparation
- “Gitting” the Code
- Using Eclipse
- Using Maven
- Using Ant
-
Starting
- It starts with an Idea
- From one brain to another
- Example Mapping
- Rules and Examples
-
Developing From Nothing
- The Simplest Scenario
- What have we accomplished?
- Dropping down to “Programmer Tests”
- Review
-
External Dependencies
- The Problem with External Dependencies
- Isolating our Code
- Breaking the Problem in Half
- Remaining Risks
- Review
-
Simplifying Scenarios
- Permutations tested sufficiently at a lower level
- Cases covered by more advanced tests might be obsolete
- Cases that better identify a problem might be worth keeping
- Non-deterministic tests ‘might’ be useful
-
Refactoring Tests
- Step Definitions
-
Evolving Structure
- Two Layer Tests
- Cohesive Feature Files
- Three Layer Tests
- Utility classes
- System adapters
- Four Layer Tests
- Review
-
Writing For The Future
- Readable Code
- Naming Tests
- Organizing Scenarios into Features
- Notes
Other books by this author
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them