In this chapter, we will have an overview of performance analysis and software testing techniques. When trying to get the best out of our code, nothing is more useful than profiling our work. Profiling means analyzing code performance results, routine by routine, trying to find bottlenecks, which gives us the ability to identify performance consumption patterns.
Another important aspect of the software development lifecycle is testing our application. In this chapter we will see various kinds of tests and features, as offered by the Visual Studio test engine (MsTest). Tests are useful to analyze how our application behaves regarding performance, may help with trying to simulate the end-user feeling, or may help with analyzing the reliability of our application, or its ability to scale out.
We will cover the following pointers in this chapter:
Software profiling
Profiling with Visual Studio 2013
Testing with Visual Studio 2013
Static program analysis