Re: [TFUI] Is test driven UI development conceptually different?

Timothy Wall <[email protected]>
Newsgroups gmane.comp.programming.test-first-user-interfaces
Message-ID <[email protected]>
On Jul 27, 2004, at 2:55 PM, George Dinwiddie wrote:

> I'm afraid the "UI Design" is an overloaded term, and that causes a lot
>  of confusion.  If you talk to someone like Larry Constantine, he'll 
> say
>  it has to do with deciding what elements belong on the screen together
>  (gross oversimplification on my part).  He'll complain (rightfully so,
>  IMO) that TDD and refactoring will produce a crummy design.
>
>  But another meaning of "UI Design" is the design of the code that 
> makes
>  the UI work.  As Ron Jeffries points out, this should be thin, but can
>  still harbor bugs.  This code *can* be developed with TDD.

I think this is a very important distinction to make.

A) broad functionality/aesthetics UI design - decide what the UI will 
allow the user to do
B) more narrow layout/aesthetic tweaking - stable functionality, but 
lots of presentation changes
C) code design to make the UI work

If you make sweeping changes to what you want a particular UI to 
accomplish (A), you're going to invalidate a lot of your tests.  But if 
you're rearranging and tweaking, that should have little or no effect 
on your UI unit tests.  Abbot (http://abbot.sf.net) has been designed 
specifically with this type of development in mind.

Writing tests doesn't work so well for broad UI design/mockup, but that 
type of work is really a different beast altogether, and as noted 
previously, the client is *very* different (in the case of UI, the 
client is a human rather than code).  You could probably do something 
analagous to TDD in this case, but right now the equivalent building 
blocks (TestCase, assertX, etc) don't really exist, even in RAD tools.  
You'd want some higher level abstractions like "show me N window 
resizing scenarios" and "compare N different layouts", as well as a 
good deal more automated verification, to get the same sorts of TDD 
interaction in broad UI design as you get with code.


>
>  A bit more than a year ago, Jeff Waltzer and I experimented with doing
>  so.  We were using java/swing.  We started with rolling our own
>  framework within jUnit, and found that we were basically 
> re-implementing
>  jfcUnit, so we switched to that.

Funny how everyone seems to do that.  google "java gui test".  But I 
admit, it's kinda fun at first.  "Look ma, no hands!"



------------------------ Yahoo! Groups Sponsor --------------------~--> 
Yahoo! Domains - Claim yours for only $14.70
http://us.click.yahoo.com/Z1wmxD/DREIAA/yQLSAA/nhFolB/TM
--------------------------------------------------------------------~-> 

To unsubscribe, email:
TestFirstUserInterfaces-unsubscribe-hHKSG33TihhbjbujkaE4pw@public.gmane.org
 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/TestFirstUserInterfaces/

<*> To unsubscribe from this group, send an email to:
    TestFirstUserInterfaces-unsubscribe-hHKSG33TihhbjbujkaE4pw@public.gmane.org

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.