4

aI 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?

akjoshi
  • 15,374
  • 13
  • 103
  • 121
NoizWaves
  • 2,650
  • 6
  • 28
  • 32

8 Answers8

5

Some other frameworks -

White UI Test framework:

http://www.codeplex.com/white

https://web.archive.org/web/20160204042701/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:

https://web.archive.org/web/20160213183047/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?

How to test a WPF user interface?

Mike Airey
  • 123
  • 1
  • 5
akjoshi
  • 15,374
  • 13
  • 103
  • 121
2

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

Toan Nguyen
  • 11,263
  • 5
  • 43
  • 59
  • 1
    Some more details about test complete and WPF - Automated WPF Testing : http://www.automatedqa.com/products/testcomplete/testing-wpf-apps/ – akjoshi Jul 13 '10 at 11:49
1

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

katmoon
  • 1,014
  • 1
  • 10
  • 18
  • 1
    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 Jul 14 '10 at 00:35
  • HP, do you hear?? People don't want to buy your products only because it's painful to buy them. lol – katmoon Jul 15 '10 at 10:30
1

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
  • 2,974
  • 20
  • 26
1

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.

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
dariom
  • 4,413
  • 28
  • 42
1

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.

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
0

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
  • 1,964
  • 2
  • 19
  • 25
  • 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 Jul 13 '10 at 10:00
  • But how do you test the views? – vanja. Jul 14 '10 at 01:03
  • 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 Jul 14 '10 at 10:18
  • 1
    @George To expand on your answer, what you can do is create an "integration test friendly" view that you can attach something like WinAppDriver, or TestStack.White. This means the xaml itself is written with the sole goal of allowing testing of the entire application stack. – Ben Power Jul 03 '19 at 10:04
0

I recommend several automated testing suites for your .Net 3.5 and WPF-based applications.

Microsoft Visual Studio Test Professional: This is a comprehensive testing suite from Microsoft that is integrated with Visual Studio and can be used for automating application tests. It includes features such as test case management, test execution, and reporting.

Telerik Test Studio: This is a testing suite that provides a visual interface for defining and executing tests, as well as reporting results. It also includes features such as load testing and performance testing.

NUnit: This is a popular open-source testing framework for .Net that can be used for automating unit and integration tests. It includes features such as test case management and test execution, and can be integrated with other tools such as Continuous Integration systems.

Automated UI Testing with White: This is a .Net library for automating tests of WPF-based applications. It allows you to write code that interacts with the user interface of your applications, and can be used for both functional and regression testing.

These are just a few of the automated testing suites available for .Net and WPF applications. The right choice will depend on the specific needs of your product range and testing requirements.

Welcome my channel: https://www.youtube.com/channel/UC8cggrSfpRTfjxpvvlDH6Gg