This Blog


Favorite Posts


Very sneaky peek: Functional test framework for eXpressApp Framework (XAF)

Some new functionality just managed to get into DXperience v2009 vol.2 under the code freeze wire: functional testing in XAF. In fact it was so close and so new, we haven't got that much documentation for it yet. So, the decision was between, eh, tough, nice try guys, but don't tell anyone and keep it out until v2009.3, or, keep it in and document as we go. Guess which path we're taking? Smile

Welcome to EasyTest for XAF: a test framework that does functional testing for XAF applications.

The big idea here was to create a very simple and easy-to-use framework for testing the multi-platform XAF applications you write. We aimed for functional testing, that is, testing of the overall functionality of the application rather than the unit testing of single methods and the like. Furthermore, since XAF can create WinForms and ASP.NET applications, our goal was to be able to test both platforms with one tool rather than have a separate "WinForms" testing tool and an "ASP.NET" testing tool. Another goal was to allow the QA team to create tests, rather than the developers, and to support this you can run EasyTest tests standalone, rather than in Visual Studio (which is what I'll talk about here).

With some bribes of pizza and beer, we got some help from the CodeRush team to fully integrate EasyTest into Visual Studio so that you can do things like run (and stop) tests and even step through XAF tasks and actions.


(Note: the pane on the left shows the test script being executed. We'll talk about the grammar of the script commands in a later post.)

Not only that, but EasyTest also supports breakpoints:


While an application is being tested, EasyTest provides the actions that you've already specified and the application runs on its own.


At the moment, the logging facilities are pretty simple too: test messages and warnings are posted to the Output window in Visual Studio:

Test Output

Although I stated above that we didn't have much documentation yet, we are certainly in the process of writing it for the release. For such a feature though, it makes sense to continue to blog about it and explain its evolution, why we did it, how simple it is to use and run. So, please stay tuned as we explain more about functional testing in XAF, about test scripts, and about the standalone testing app.

Published Jul 15 2009, 10:00 AM by
Filed under: ,
Bookmark and Share


Adam Leffert

1) First!

2) A+!  Way to go!

Adam Leffert

July 15, 2009 1:20 PM

Freddy Caballero

Great job!! it's very useful

July 15, 2009 2:43 PM

Boris Bosnjak

Unbelievably awesome!

July 15, 2009 4:17 PM

Robert Fuchs

Absolutely great!!!

Regarding the standalone testing app for QA, how about licensing?

July 15, 2009 5:39 PM

Julian Bucknall (DevExpress)

Robert: Obviously in order to use the EasyTest plug-in to Visual Studio a user will have to be properly licensed.

For the standalone application (which is just a test runner, no tracing/stepping), you shouldn't need the full-blown license and so, just like the end-user report designer I suppose, we'd have to add some special language to the EULA.

(Note to self: must get that language in the EULA before v2009.2.)

Cheers, Julian

July 15, 2009 6:05 PM

Binish Peter

Waiting....... for it.

something scary is in log output, I see statements like "This may take several minutes.." , minutes??.

One of the main expectation for me in 9.2 is XAF startup performance

July 16, 2009 3:43 AM

Chloe Anfield

Looking good.

July 16, 2009 3:43 AM

Steve Sharkey

Amazing job.

Really looking forward to this one - though it is of course more work in the short term it will (I'm sure) lead to much better releases.

Thanks DX

July 16, 2009 6:56 AM

Mohsen Benkhellat

I love it!

July 16, 2009 11:16 AM


Yesterday, I introduced EasyTest for XAF, our new functional testing framework for applications built

July 16, 2009 4:12 PM

Troy Gould

Boo.  You've been building your own tool when there are a million other very good testing tools out there?   How about just implementing Microsoft Automation UI framework for your non WPF controls.  After that, there are many very good tools out there that can (gasp) test both your controls and generic winform controls that developers may have in an application.

Disappointed in the lack of seeing the bigger picture...

July 29, 2009 10:05 AM

Joe Hendricks


And Troy, there is a big advantage in having fewer learning curves for me and also for having a testing tool that understands XAF.

December 30, 2009 7:24 AM

About Julian Bucknall (DevExpress)

Julian is the Chief Technology Officer at Developer Express. You can reach him directly at julianb@devexpress.com. You can also follow him on Twitter with the ID JMBucknall.

Chat is one of the many ways you can contact members of the DevExpress Team.
We are available Monday-Friday between 7:30am and 4:30pm Pacific Time.

If you need additional product information, write to us at info@devexpress.com or call us at +1 (818) 844-3383


DevExpress engineers feature-complete Presentation Controls, IDE Productivity Tools, Business Application Frameworks, and Reporting Systems for Visual Studio, Delphi, HTML5 or iOS & Android development. Whether using WPF, ASP.NET, WinForms, HTML5 or Windows 10, DevExpress tools help you build and deliver your best in the shortest time possible.

Copyright © 1998-2018 Developer Express Inc.
All trademarks or registered trademarks are property of their respective owners