We often come across software that is slow to load or it might just hang while carrying out certain tasks. This can be a huge annoyance to the user and it is unacceptable in the case of a paid software. A lot of testing resources are consumed in checking whether an application functions as expected, but not much attention is paid to see if the application is quick to do the task. Because a lot of testing may take place on fast machines, the performance on slow machines is often neglected. This is often the case when trying to release software without a public beta test. Although a public beta test is not always possible for applications meant for a very specific customer. In that case, software performance testing needs to be conducted on a wide set of machines with different configurations. This also applies to mobile software apps and web apps.

Visual Studio 2015, which has been in beta for quite some time has brought in a set of debugging and performance testing tools for obvious purposes. It is a well appreciated addition for code testers and even developers. One of the most useful tools for performance testing is the code is the Diagnostics Tool Window which gives an overview of the time consumed by each thread. This is especially useful in determining the slow threads, for example the thread that is loading images or indexing files on the hard drive. The CPU time graph keeps updating as your application runs and it is a great indicator to tell which parts of the code are sluggish.

Just like native windows applications, web applications must also undergo similar performance tests. Since the web apps run on powerful servers, codes must be written in such a way as to minimize memory consumption. A server load test and performance test are commonly carried out, but what is not commonly paid attention to is the client side behavior of the app. A badly written Javascript can easily break the entire web app. Radview’s Webload offers a variety of tests like the server stress test, Javascript execution test and even a mobile performance test. Webload comes with a full-fledged paid software performance testing tool, but if you are looking for something free then almost all browsers offer page load diagnostics!

One must remember that your code will behave differently on different computer configurations. You may be testing an internet connected application on a fast connection, but the same application will time out or max out on a slow connection and fail.

IntelliTrace is also a handy feature in VS 2015 where the developer can insert debug lines at the start and end of the code to be tested and then look at the time stamp to determine time consumption. Using IntelliTrace, the developer can also look out for CPU and memory spikes as the code is being executed.

A snapshot feature comes to great help while using IntelliTrace. It is as if both are meant to go hand in hand. Once you have located the part of the code that is causing CPU or memory spike, you can set your snapshot over there, run your code further and see the change in the CPU usage and memory from the time of the first snapshot. Visual Studio 2015 allows you to take multiple snapshots and show a percent change in memory usage since the last snapshot.


Courtest: Microsoft

With Visual Studio 2015, you can also monitor each object and the corresponding heap size. It is a great feature to see which object is growing large and causing trouble. With the snapshot feature, you can also see how many new objects were created since the last snapshot just like you checked the memory usage which we saw earlier.

Visual Studio 2015 performance diagnostic tools are truly welcomed by the developer’s community world over.