views:

112

answers:

7

I am interested in automating some application / system level tests on an existing product range. Our product range consists of several distinct applications, written in .Net 3.5 and using WPF for the presentation layer.

Ultimately, I am interested in finding an application testing suite that is capable of executing scenarios and reporting results. I would like some way to define/record the scenarios, and see which scenarios passed/failed testing.

I do not have any experience in the area of automated application testing. Is anyone able to recommend a testing suite?

Thanks!

A: 

NUnit is the generally accepted best .NET unit tester. In terms of integration testing etc, not sure about that.

If you want to test your WPF applications, pretty much the only way is to use MVVM. Separating out the view data from everything else allows you to unit test dummy view's. If you haven't done this already it's probably not worth it, since it's such a large architectural change.

George
Can you elaborate on how to unit test dummy views?
vanja.
Well basically your viewmodel is a class that handles data. Where that data comes from doesnt matter, since it's independant of the view and the model (mostly). What you can do with MVVM is to unit test your viewmodel, which because of the simplicty of hooking up your view to it, creates a good unit test platform.The reason this isn't really possible in traditional winforms applications is because the interface is heavily linked with the other aspects of the program.Hope I have this right :).
George
But how do you test the views?
vanja.
What is there to test? The linking between the views and the viewmodel is so simple that there's nothing to test. You can test the interface by just looking at it...As long as your viewmodel test are correct, your interface will work.
George
+1  A: 

Please try Test Complete http://www.automatedqa.com/products/testcomplete/top-reasons-to-try/

DrakeVN
Some more details about test complete and WPF -Automated WPF Testing : http://www.automatedqa.com/products/testcomplete/testing-wpf-apps/
akjoshi
+3  A: 

Some other frameworks -

White UI Test framework:

http://www.codeplex.com/white

http://blogs.msdn.com/b/john_daddamio/archive/2008/04/04/testing-wpf-applications-with-the-white-ui-test-framework.aspx

TestApi - a library of Test APIs:

http://testapi.codeplex.com/

XAML Compliance Suite V1:

http://blogs.msdn.com/b/llobo/archive/2010/07/07/xaml-compliance-suite-v1.aspx

Also have a look at these articles -

Automating UI Tests In WPF Applications:

http://msdn.microsoft.com/en-us/magazine/dd483216.aspx

and WPF Application Quality Guide:

http://windowsclient.net/wpf/white-papers/wpf-app-quality-guide.aspx

and a similar question on stackoverflow also have some more links -

How to test a WPF user interface?

http://stackoverflow.com/questions/58340/how-to-test-a-wpf-user-interface

akjoshi
A: 

I use QTP. It's nice, but expensive. Selecting a tool depends on amount of money that you can spend.

katmoon
Buying software from HP is a painful horrible experience. I won't use this product simply because I'd have to spend hours and hours to buy it.
Jiyosub
HP, do you hear?? People don't want to buy your products only because it's painful to buy them.lol
katmoon
A: 

I would avoid the record and playback systems because they produce fragile tests. These systems seem ok until you change the app, and you're forced to recode your tests.

A newer and more agile friendly approach is in tools like IcuTest (http://www.IcuTest.com/).

Ray
A: 

Visual Studio 2010 includes a new product for doing GUI testing. Test Manager 2010 is included in Visual Studio 2010 Test Professional and Visual Studio 2010 Ultimate and enables recording and playback of actions in GUI applications as well as rich reporting.

The tools integrate with Team Foundation Server 2010 to store test cases, test runs and log bugs that are found during testing.

This blog post (eventually!) includes an overview of the testing process and tools in Visual Studio. Focus on the Testing Workflow and have a look at the included videos for more information.

dariom
A: 

If you're willing to put in the work, I have found the White Framework, which is built on the Microsoft UI Automation API (supports WinForms, WPF & Win32), to be the most flexible and customizable approach. I have used to develop a GUI automation test suite of over 2500 tests (>12 hours run time).

The White Framework can also be integrated into either NUnit or MSTest.

GrahamMoore