[Bf-committers] Code "cleanups" in buttons.c

Gilles J. Seguin bf-committers@blender.org
Mon, 24 Feb 2003 12:05:00 -0500

Timo Mihaljov wrote:


> GUI testing is a bit more problematic.
> I for one would not trust automated
> tests for graphical output, as there often is no fixed correct output.

Xvfb answer this assertion

> A test can't tell if changes are good or bad.

The term "test" is vague.
To the question, are there tests that can not be done ?
The answer is yes.

> If someone adds anti-aliasing to a line
> drawing function the output will be different (which the test suite will
> see as a bug), while the change is actually a positive one.

Under a known common font and many others X Server state,
this can be realize, using Xvfb server.  What propably you refer here.
We can not reliably test output of proprietary graphic cards, obviously.

> It also seems to me that graphical errors would be spotted 
> more quickly and efficiently by people testing the software.

The service and commodity offered by test tools are,
- modifications by developpers, has at least succeed static compile
  and linking.
- visual or behavorial modifications/alterations to other components
  will show up during this verification phase.  Benefits include
  a) integration, 
  b) extend/ramification of modification.
  c) free the developper from wasting time checking usability.
     Since this is automated.

> I also think that all the actions could be tested non-graphically by having
> the test suite generate a bunch of events and check the program's responses
> to them.

This suppose we realize that the X Window Protocol is asynchrone.
Formal testing can give reliable result if there is no window manager
and no other clients making connection to the server.
Or identify tests that will give correct result if there are 
window manager and other client connected to the X server.

Other forms of usefull feedback, automated tutorials.
Which is basically, an playback and events generator.
We do not know the visual output but assumptions can
be deduced from completion.  This form of verification
usually precede previous more formal testing.  And is
appreciated a lot by new users.