Currently I have configured a project with cc.net, watin and nunit and now I want to do stress, load, and performance testing of my .net projects. Any idea which opensource tool should I use or cani achive it with same working tools and if yes then how?
Best Solution
I've used Apache JMeter with pretty decent success in the past. The interface is pretty easy to use and it supports remote agents to help with load testing with many hosts.
JMeter is an open-source load testing tool, written in Java. It's capable of testing a number of different server types (for example, web, web services, database, just about anything that uses requests basically).
It does however have a steep learning curve once you start getting to complicated tests, but it's well worth it. You can get up and running very quickly, and depending on what sort of stress-testing you want to do, that might be fine.
Pros:
Open-Source/Free tool from the Apache project (helps with buy-in)
Easy to get started with, and easy to use once you grasp the core concepts. (Ie, how to create a request, how to create an assertion, how to work with variables etc).
Very scalable. I've run tests with 11 machines generating load on the server to the tune of almost a million hits/hour. It was much easier to setup than I was expecting.
Has an active community and good resources to help you get up and running. Read the tutorials first and play with it for a while.
Cons:
The UI is written in Swing. (ugh!)
JMeter works by parsing the response text returned by the server. So if you're looking to validate any sort of javascript behaviours, you're out of luck.
Learning curve is steep for non-programmers. If you're familiar with regular expressions, you're already ahead of the game.
There are large numbers of (insert expletive) idiots in the support forum asking stupid questions that could be easily solved if they'd give the documentation even a cursory glance. ('How do I use JMeter to stress-test my Windows GUI' shows up quite frequently).
Reporting 'out of the box' leaves much to be desired, particularly for larger tests. In the test I mentioned above, I ended up having to write a quick console app to do some of the 'xml-logfile' to 'html' conversions. That was a few years ago though, so it's probable that this would no longer be required.
Best Solution
I've used Apache JMeter with pretty decent success in the past. The interface is pretty easy to use and it supports remote agents to help with load testing with many hosts.