views:

548

answers:

3

Hi All,

We have written our own integration test harness where we can write a number of "operations" or tests, such as "GenerateOrders". We have a number of parameters we can use to configure the tests (such as the number of orders). We then write a second operation to confirm the test has passed/Failed (i.e. there are(nt) orders).

The tool is used for

  • Integration Testing
  • Data generation
  • End-to-end testing (By mixing and matching a number of tests)

It seems to work well, however requires development experience to maintain and write new tests. Our test team would like to get involved, who have little C# development experience.

We are just about to start a new Greenfield project and I am doing some research into the optimum way to write and maintain integration tests.

The questions are as follows:

  • How do you perform integration testing?
  • What tool do you use for it (FitNess?, Custom?, NUnit)?

I am looking forward to peoples suggestions/comments.

Thanks in advance,

David

A: 

It's not out of Beta yet, but StoryTeller looks promising:

Bernhard Hofmann
+4  A: 

Integration testing may be done at a user interface level (via automated functional tests - AFT) or service/api interface level.

There are several tools in both cases:

I have worked on projects that successfully used Sahi or Selenium for AFT of web apps, white for AFT for .NET WPF or winforms apps, swtBot for AFT of Eclipse Rich client apps and frankenstein for AFT of Java swing apps.

Fitnesse is useful for service/api level tests or for tests that run just below the UI. When done right, it has the advantage of having business-readable tests i.e. non-developers can read and understand the tests. Tools like NUnit are less useful for this purpose. SOAPUI is particularly suited for testing SOAP web services.

Factors to consider:

  • Duration: Can you tolerate 8 hour test runs?
  • Brittleness: AFTs can be quite brittle against an evolving application (e.g. ids and positions of widgets may change). Adequate skill and effort is needed to not hard code the changing parts.
  • Fidelity: How close to real world do you want it to be? e.g. You may have to mock out interactions with a payment gateway unless the provider provides you a test environment that you can pummel with your tests.

Some nuances are captured here.

Full disclosure: The author is associated with the organization behind most (not all) of the above free and open source tools.

bagheera
This is what we went for in the end. We have created a webapplication that acts like the WCFTestClient.exe although allows complex types so we can use selenium to perform Integration testing at the UI level :)
David Kiff
A: 

You could try the Concordion framework for writing user acceptance tests in HTML files. It takes a BDD-style approach. There is a .Net port as well

Jeffrey Cameron