Preparation turns big problems into little ones, and it turns bug problems into little sprints. When viewed from afar—as a single, monolithic step in your overall software development process—testing an entire application can seem overwhelming. How do you properly account for every potential execution, for every combination of platform, purpose and user? Or for every practical real-world contingency?