Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In the current "Automated Software Testing" magazine there is a short article about IcuTest. It is written that with "Test Generator" you can automatically create GUI unit tests:

ICUTest is a free GUI Unit test tool for Windows Presentation Foundation. Test Generator, included with ICUTest, is a tool that automatically creates GUI unit tests for an application. Just specify your assembly (executable or DLL) and Test Generator will inspect your assembly for UI components and generate unit tests automatically.

  1. What is the benefit of such tests, what is tested? Is it a bitmap comparison that is recorded when you execute Test Generator for the first time and which wants to make sure the layout does not change? If yes, it could be a useful tool to see whenever some (unexpected) changes to the GUI were made. Am I right?
  2. Is anyone using this tool in production environment?
share|improve this question

According to the Quick start guide the principle method used in generating the test code is CheckView(). Which compares two png screenshots of a screen a before and after then throws an exception if there are any differences. In the background it does this with some unit testing code:

static IcuTest ICU = IcuTestStarter.IcuFromDir(@"c:\test_data");

public void TestMyWindow()
    ICU.Invoke(() => {
        var w = new MyWindow();
        ICU.CheckView(w, "MyWindowTest");

We don't use this tool in production, but it seems to me to just be a proprietary unit testing framework specialized for UI work - with the main aim to avoid threading issues. Maybe have a look here for a open source solution you can modify and build on. As I would be worried about this auto generated method misinterpreting my screens (although maybe someone with more expertise on this product could provide more information - I could be wrong).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.