Mark Waite wrote:
> --- George Dinwiddie <lists@...> wrote:
>
>> Ulrich Freyer-Hirtz wrote:
>>> As I understood your GUI is a Swing GUI. Therefore you can try
>>> jfcUnit (open source). I love to use qfTest from Quality First
>>> Software (http://www.qfs.de/) with Swing-GUIs. It's not costly and
>>> the money comes back soon through the efftive way of desinging the
>>> tests.
>> For Swing, I recommend Abbot over jfcUnit (see
>> http://blog.gdinwiddie.com/2007/04/25/tdd-and-java-swing/). You can
>> also use the Swing wrapper of JBehave
>>
> (http://blog.gdinwiddie.com/2007/05/09/making-tdd-and-java-swing-behave/).
>> It's very nice, but not as full-featured as Abbot. Abbot has a bit
>> more learning curve (at least for me) because some techniques weren't
>> obvious to me. Be sure to see the comments on those entries.
>
> I used Abbot to create a regression test for a Swing application
> whose user interface was not changing but whose implementation
> was changing. While developing the Abbot tests, I often found that
> I wanted to "program" something, but because I had initially chosen
> to record the tests, I had tests written in XML which were not ready
> to be refactored, extended, or changed.
>
> We left those tests alone, grateful that they continued running. They
> continued that way for a year or more.
>
> When we switched to JDK 6, the tests stopped working. Rather than
> dig deeply into the cause of the failure, I decided to try a different
> automation tool in a scripting language I prefer. I switched to
> Marathon (http://sourceforge.net/projects/marathonman) because it
> lets me record scripts, the recorded scripts are written in Python,
> and I'm comfortable with Python. Some of my initial observations are
> http://blog.360.yahoo.com/blog-4B.afOU8erSVU28a2FPKRNU-?cq=1&p=215
>
> The switch was about 2 days worth of work, including recording and
> refactoring the tests to keep them simple, and switching our test
> infrastructure to run the Marathon based tests instead of the Abbot
> based tests.
>
> Others will probably have different experiences than I had. I know
> that Abbot has a programming interface which allows Java programmers
> to code their UI tests in Java. I assume that is preferable for Java
> programmers in test, since they can use a familiar language. In my
> case, Marathon was a better fit because I was more comfortable with
> Python than with Java, and I didn't want to get any "closer" to the
> Java GUI implementation than was absolutely necessary.
>
> The switch to Marathon has not been trouble free, but the two
> Marathon questions I've asked on the sourceforge forums have been
> addressed promptly and very well.
>
> This is not any statement against Abbot's style of testing, I think
> it is a great program, and my first experiences with it a year or
> two ago were quite positive. As I worked with it further, I found
> that I wanted more programmable tests than I was getting with my
> chosen implementation path on Abbot.
Mark, that's something I hadn't thought about as I've never used the
record/playback form of testing with Abbot. I used it for TDDing the
GUI, so the tests were all programmatic.
I'm curious, have you tried TDD using a testing framework in a different
language than the implementation? I haven't done so, but I can imagine
it might cause me difficulty.
- George
[cross-posted, because I think this might be an interesting question on
TFUI, also]
--
----------------------------------------------------------------------
* George Dinwiddie * http://blog.gdinwiddie.com
Software Development http://www.idiacomputing.com
Consultant and Coach http://www.agilemaryland.org
----------------------------------------------------------------------