[Gridflow-dev] test suite (fwd)

Claude Heiland-Allen claudiusmaximus at goto10.org
Sat Nov 12 09:33:57 EST 2005


Hi,

I think automated tests are a good thing too, and the [#expect] object 
sounds reasonable too.

I'm not sure how to fully automate tests in Pd though - my ideal output 
would be like configure's output - a text list of tests with 
passed/failed, with more info on failure - a patch-loader patch 
controlled with pdsend could do the job, if each testpatch runs its 
tests and closes itself when done?

Basically the minimum of interaction, one command to activate the 
test-suite.

I think a text to guide human testers for non-fully-automatable display 
objects would be essential, too.


Claude

Alexandre Castonguay wrote:
> Bonjour Mathieu,
> 
> I agree with automating the tests, what do ou have in mind for the GUI tests?  
> 
> Cheers,
> 
> Alexandre
> 
> Le Samedi 12 Novembre 2005 01:54, Mathieu Bouchard a écrit :
> 
>>any comments on the following?
>>
>>---------- Forwarded message ----------
>>Date: Wed, 13 Jul 2005 19:07:32 -0400 (EDT)
>>From: Mathieu Bouchard <matju at artengine.ca>
>>To: gridflow-dev at artengine.ca
>>Subject: [Gridflow-dev] test suite
>>
>>
>>GridFlow could afford a better test suite. base/test.rb should be replaced
>>by something more appropriate i'm thinking something that would look like:
>>
>>[#expect, send 1 2 3, get 4 5 6] X [# + 3]
>>
>>so [#expect] would be a new control object destined to do quality
>>assurance. actually there's already one sort of like that in
>>base/test.rb, but it's not usable outside of Ruby.
>>
>>there could be a [, radius 42] option so that instead of using exact
>>equality like [# ==] -> [#ravel] -> [#fold &] it would use euclidean
>>distance [# sq-] -> [#ravel] -> [#fold +] -> [# sqrt] as is used in
>>statistics and acoustics to evaluate the energy or the RMS amplitude.
>>Alternatively it could use manhattan distance [# abs-] -> [#ravel] ->
>>[#fold +] which is what used in chemistry labs to compute error
>>propagation. Which one to use could be controlled by a message "norm 2"
>>and "norm 1" respectively.
>>
>>This "radius" extension to the normal Extreme Programming testing is
>>necessary to address two issues:
>>
>>1. the usual equality testing can't be used successfully with floats
>>   because slight deviations in computation can be obtained quite easily.
>>   For example you just can't rely on (A+B)+C==A+(B+C), ever, although the
>>   error radius could usually be about 16 million times smaller than the
>>   involved numbers.
>>
>>2. similar rounding issues can occur in integer math and that it can be
>>   sometimes okay for one high-level effect to yield slightly different
>>   numbers as long as it appears roughly the same on-screen.
>>
>>Other automated testing patterns should be developed to address issues
>>such as testing GUI objects like [display] [#peephole] [#edit].
>>
>>Possibly that it's time to introduce semi-automated testing, in which the
>>part that is fully automatable gets automated, but is interleaved with
>>documentation taking the tester by the hand, so that the tester doesn't
>>have to think too much and doesn't forget what it is s/he is supposed to
>>test; this makes testing time shorter thus tests become more affordable.
>>
>>What do you think?
>>
>>,-o--------o--------o--------o-. ,---. irc.freenode.net #dataflow |
>>
>>| The Diagram is the Program tm| | ,-o-------------o--------------o-.
>>
>>`-o------------o-------------o-' | | Mathieu Bouchard (Montréal QC) |
>>
>>  | téléphone:+1.514.383.3801`---' `-o-- http://artengine.ca/matju -'
>>
>>_______________________________________________
>>Gridflow-dev mailing list
>>Gridflow-dev at artengine.ca
>>http://ns.artengine.ca/mailman/listinfo/gridflow-dev
>>
>>_______________________________________________
>>Gridflow-dev mailing list
>>Gridflow-dev at artengine.ca
>>http://ns.artengine.ca/mailman/listinfo/gridflow-dev
> 
> 
> _______________________________________________
> Gridflow-dev mailing list
> Gridflow-dev at artengine.ca
> http://ns.artengine.ca/mailman/listinfo/gridflow-dev



More information about the Gridflow-dev mailing list