Google Test Automation Conference 2010 October 28-29, 2010 Flexible Design? Testable Design? You Don't Have To Choose! Presented by Russ Rufer & Tracy Bialik, Google Inc. Abstract: Writing software is a steady stream of decisions... Should I put the next piece of functionality in an existing class or a new one? Should I add another if/else or use polymorphism? I know my objects need to know about each other, but how should I wire them together? The decisions you make hour to hour, day to day, will determine whether you end up with a flexible or brittle design. They'll also determine whether you end up with code that's easy or impossible to unit test. We'll examine a range of typical design choices from both the flexibility and testability perspectives and see why the choices that are healthy for one are usually healthy for the other. During this session, we'll look at code together that represents situations you see in real systems all the time. You'll see choices weighed, and trade-offs analyzed. You'll leave the session better prepared to teach your colleagues how to think about design decisions in terms of both flexibility and testability. Speakers Bio: Russ Rufer and Tracy Bialik have built software systems for over two decades, including desktop applications, embedded firmware, telecommunications, networking, satellite simulation, web applications, component-based frameworks, and productivity tools. Russ and Tracy share their experience from building these systems by developing training materials, teaching workshops and delivering conference tutorials in the areas of Design, Refactoring, and Testing. Their current work at Google continues to focus in these areas. Their community outreach includes weekly meetings of the Silicon Valley Patterns Group, which they founded in 1998, and organizing pre-publication review teams to provide feedback on manuscripts from the software, patterns, and agile development communities. Talk Slides: https://docs.google.com/leaf?id=0B4fT-BFGDnQkOWU4M2M0Y2YtYjY5ZC00MjE1LWFiYzAtODFmZDI4MGRiNDU1
Get notified about new features and conference additions.