Most unit tests, functional tests, etc. are hand crafted by people anticipating expected results. With model-based testing (MBT), developers use their skills to create a model that generates both the sequences of calls and their expected results. Models also allow analysis for expected properties and behaviors before the production code is written. Just as test first development can help expose testability issues, model-based approaches can show design issues up front. This talk will show the Spec Explorer plug in for Visual Studio that has been used to verify over 50 of the Windows Protocols and the experiences of product teams using MBT. Come to this session to learn how to find unexpected consequences up front.