STARCANADA 2017 Concurrent Session - Automated Testing from the Trenches: A Developer’s View of TDD, ATDD, and Other Techniques | TechWell


Thursday, October 19, 2017 - 11:30am to 12:30pm

Automated Testing from the Trenches: A Developer’s View of TDD, ATDD, and Other Techniques

Add to calendar

Writing tests is easy; continuing to write tests in the face of a growing codebase and looming deadlines is hard. We’ve all been there: This project was going to be different—we decided to use test-driven development, and this time there weren’t going to be any bugs. Suddenly we are two weeks from launch and our software is a house of cards. What went wrong? Successful software evolves and grows, so it's imperative that our test strategy grow with it. Understanding the limits of a testing approach and when to switch gears is critical for maintaining confidence in quality. Kyle Thomson presents a developer’s view of various automated testing techniques and how they stand up to growing complexity. Kyle looks at the practical strengths and limitations of several popular testing methodologies, including test-driven development and acceptance test-driven development, and discusses how each one scales with rapid growth through case studies from his personal experience. Leave this session with real-world tips on what automation test strategies to apply, how to identify when your test strategy is failing, and how to adapt your test strategy with your software.


Kyle Thomson is a senior engineer who spent a decade writing large-scale trading applications for banks before joining Amazon’s AWS SDK team. Testing and software quality have always been a focus for Kyle, and he’s driven adoption of TDD, BDD, and other testing techniques across many teams. The transition from application developer to library developer has given him a newfound appreciation of the fact that there isn’t a one-size-fits-all testing strategy, and quality is the overarching goal. The majority of Kyle’s experience is in JVM languages, but he’s also written (and tested) enterprise software in Python, Perl, Objective-C, and Ruby.