Automating Testing in the big, bad Enterprise World
In a perfect world we would have automated test coverage that consistently provides quick and useful regression feedback for every significant part of our applications. In the real world automated testing efforts frequently fail because the tests are too time-consuming to author, too brittle when the underlying application changes, too flaky with asynchronous timing, or just flat out too slow. In this talk I’ll share some of my lessons learned over the years on the mechanics of automated testing and how the desire for automated testing changes your architectural decision making. For specifics, I’d like to show how my teams have been able to quickly set up a known application state with RavenDb, how we keep our test harness code synchronized with the application, and dealing with asynchronous functionality in both web interfaces and distributed service bus architectures. In the realm of semi-manual testing, I’d also like to show how we’re embedding reusable “scenario’s” into our test environments and supporting the “press F5 and run the entire distributed application in one process” strategy for faster and more productive manual testing and troubleshooting.
Topics covered -