Unfortunately I'm unable to update this blog regularly, because I have a lot of work right now. I'm keeping it online mainly for archive purpose. Anyway, I still believe that I will be able to write here from time to time...
#9 - Performance testing with BDD?

I had an opportunity to work on a project with BDD technique (link) and I must say that I've really enjoyed it. It requires more time to be spent on the development process, however, since the overall quality of the software gets better - it's definitely a good choice.

While working with BDD I used to implement automatic acceptance tests with a scenarios defined in Gherkin language. Tests have been written in xUnit and Watin which is a pair that is highly recommended across many .NET related web sites.

After performing couple of test runs, one thought came into my mind - is it possible to run them in such way that they will not only perform as automatic acceptance tests but also as a performance tests? Why not write an application that will take all these already written tests and spawn them in such way that there will be plenty of them running in parallel. Since each Gherkin scenario corresponds to a single user action, such operation would allow to check how web application behaves under heavy load.

I have started a research on how such functionality may be achieved and found that unfortunately Watin is not a proper tool to be parallelized. Since it uses the system installed IE to run it's impossible to simulate many different users operating simultaneously. For example, IE shares cookies among many processes so there is only one single session that can be stored.

I have started looking for something similar to Watin (in .NET) but allowing to run independent tests in parallel. Unfortunately I haven't found such tool. Right now I have ended with an idea of writing an application that will allow to write custom automatic UI tests and as well, run performance test basing on implemented earlier scenarios. The only problem is that the most important part of an application that is currently held by Watin, should be written from scratch in order to run fast and stable in parallel...

I know that there are probably many not .NET related tools that allow to perform automatic and performance tests (Sahi?), but in my opinion it would be much better to have, for instance, advanced Visual Studio add-on that will hold all BDD related stuff with all tests and scenarios defined in C# ;)

#8 - QLog finally released!
#7 - Localizing ASP.NET MVC 3 applications Part 3
#6 - Localizing ASP.NET MVC 3 applications Part 2
#5 - Localizing ASP.NET MVC 3 applications Part 1
#4 - Syntax highlighter
#3 - Few words about architecture
#2 - Ajax site with ASP.NET MVC 3
#1 - Hello world!