Saturday, January 14, 2012

Testing with Visual Studio 2010

The last time I am discovering more and more the test features of Visual Studio 2010. In this blog item I discuss or mention some of these features.

It is possible to execute a code analysis after each developer build. You can enable (or disable) this in the properties of the project; see tab Code Analysis. There are several rules you can configure (globalization rules, basic correctness or of course you can customize these)
It is also possible to measure the quality of the code, with Code Metrics. Code metrics gives some overview in maintanability and complexibility. The code metrics can be used to give a progress overview in a refactor proces to the management, simply export this data to Excel. The index for maintability, complexibility, depth, code coupling and lines of code.
With the Test Impact Analysis feature Visual Studio shows you the tests which are affected on the code change. (use the Test Impace Window)
There are several tests; Code UI Test, Load Test and Web Performance test. You can also use profiling for your application. You can select CPU Samples, Instrucmentation and compare the results and find the method or class which is the most expensive.

Friday, January 6, 2012

Load Tests in Visual Studio

With the help of Visual Studio you can setup a Load Test. A little part of the Load Test is a Web Performance Test (prev. Web Test). A requirement for executing the test again and again without having recording it again is that the ids of the web controls are the same, between postbacks AND IIS restarts. If this is NOT the test will fail, you can solve this by making the web control id constant or maybe you can create an Extraction Rule

Tuesday, September 27, 2011

Use Static Properties Instead of the Application Object to Store Application State

You should store data in static members of the application class instead of in the Application object. This increases performance because you can access a static variable faster than you can access an item in the Application dictionary. The following is a simplified example.



private static string[] _states[];
private static object _lock = new object();

public static string[] States
{
get {return _states;}
}
public static void PopulateStates()
{
//ensure this is thread safe
if(_states == null)
{
lock(_lock)
{
//populate the states… }
}
}
public void Application_OnStart(object sender, EventArgs e)
{
PopulateStates();
}

Thursday, July 28, 2011

Web Deployment Package

I have never worried about deploying a website. But it takes more and more time, so I have looked today for Web Deployment Package. This is a feature of VS2010 (or is it already included in VS2008?) this looks as a nice feature. I will analyse this in more detail and write the conclusions on this blog. When someone has some tips, let me know;)

Sunday, January 2, 2011

Vista folders views keeps changing

An annoying thing in my Vista installation, was that the Folder views from Explorer keeps changing. Finally I have found a solution for it. Propaply this solution was long time ago developed, because Windows 7 is already released. But better late, then never;)

Saturday, December 18, 2010

Configsource

A collegua of me sent a while ago a link about ConfigSource. I think this is an easy way for dividing the web.config is some logical parts. So I am goiing to use this in my (private) projects. Unfortunately the external file must be in a relative physical path to the application because of security reasons.


Update:The attribute configSource works only for a complete section and NOT for a single ConfigurationElement.