Software is changing the world. But the software that drives this change is continuously growing in complexity and functionality. At the same time release cycles are shortening and customer expectations are rising. How does Microsoft guarantee trustworthy software in this challenging environment?
In this talk Wolfram Schulte shortly presented Microsoft’s approach to testing: its engineering life cycle, the role that testers play, and the used test tools and systems. He then drilled down into technologies (and tools) that his team championed in the last years: model-based testing with SpecExplorer, unit testing with Pex, security testing with Sage, and concurrency testing with Chess and friends. While these tools improve the effectiveness of software testing dramatically, there are still plenty of research challenges ahead, some of which I will address. Only if we tackle these successfully, we might be able to say someday that software bugs are as rare as power outages.