Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
AW: AW: AW: [jwt-dev] Tests and unit testing in JWT ?

Hi Marc,

I think it isn't necessary to really simulate a click. The corresponding
changes could be made by "producing" GEF-commands, i.e. requesting them from
the EditingDomain and then executing them on the CommandStack.

Regards,
Chris


-----Ursprüngliche Nachricht-----
Von: jwt-dev-bounces@xxxxxxxxxxx [mailto:jwt-dev-bounces@xxxxxxxxxxx] Im
Auftrag von Marc Dutoo
Gesendet: Donnerstag, 8. Mai 2008 17:38
An: Java Workflow Toolbox; Valdes Faura Miguel; 'Pierre Vigneras'
Betreff: Re: AW: AW: [jwt-dev] Tests and unit testing in JWT ?

Hi Christian

Thanks for this valuable input.
We now have the "state of testing" in JWT I guess ^^

Concerning the GEF layer, how would you do it ? You would 
programmatically simulate a click and then introspect the model to check 
it has been correctly changed, is this it ?

Regards
Marc

Christian Saad a écrit :
> Hi all,
>
> concerning the implementation of automated tests, I can speak only for the
> situation in the JWT workflow editor. As has been already mentioned by
Marc
> and Florian there are currently no tests available. Since a large part of
> the WE consists of the management of the graphical interface, the test
cases
> could - in my opinion - be limited to the actual logical layer, that
carries
> out manipulations on the workflow model, since the user interface is
subject
> to rapid change and the maintenance of tests in this field would require a
> lot of attention. I'd like to share a few thoughts about the situation in
> the different parts of the WE:
>
> The EMF Model
> The transformation of the meta model into java classes and the management
of
> the contents is done by the eclipse modeling framework, so there are
> basically no important test cases present (at least none I can think of at
> the moment).
>
> The GEF Layer
> The meta model is linked with the GEF elements. Since the manipulations of
> the model by GEF is a very complex process that depends heavily on the
> implemented routines, which have to be adapted when altering or adding
> elements to the meta model, this layer is possibly the most interesting
for
> formulating automated tests.
> I'm thinking of test cases which simulate the interaction of a user with
the
> UI elements. Definitely useful in my experience would be complex use cases
> that carry out all available actions in as much different combinations as
> possible, e.g. creating/saving/opening a model file and use
> create/select/copy/delete/paste/redo/undo (GEF) commands on the model
> objects.
>
> The Plugin Interface and Graphical UI
> In my experience, manipulations of the plugin part and the non-GEF part of
> the UI affect mostly isolated parts of the code and can (and have to) be
> debugged during the implementation process.
>
> Best Regards,
> Christian
>
> -----Ursprüngliche Nachricht-----
> Von: jwt-dev-bounces@xxxxxxxxxxx [mailto:jwt-dev-bounces@xxxxxxxxxxx] Im
> Auftrag von Mickael Istria
> Gesendet: Mittwoch, 30. April 2008 17:26
> An: Java Workflow Toolbox
> Betreff: Re: AW: [jwt-dev] Tests and unit testing in JWT ?
>
> Hi all,
>
> Here are some of my thoughts about testing.
>
> JWT does not currently integrate automated tests. That will imply to 
> spend some time debugging what we currently have in the future. However, 
> it is too late to change it, so that there is no interest in adding 
> tests now.
> Alexandre Boutin spoke about a "technical debt". Actually, that means 
> that when we write code without tests (even when the code works) we will 
> have to spend time debugging later, for example we will modify it. With 
> this approach we can consider that JWT has a debt that will have to be 
> paid in the future. What we can do now is to prevent this debt from 
> become larger and larger. If we let this debt become too large, one day 
> we won't be able to pay it (and then the project won't be extensible or 
> maintainable any more).
> The strategy with the current debt is to pay it when necessary, that 
> means when modifying current code.
>
> This comparison with a debt is interesting. I admit it is very 
> "business-oriented", and that it is not perfectly convenient with JWT, 
> but I think that what he calls a debt is equivalent to the ability to 
> progress in our case.
> Indeed, if the "debt" becomes too big, JWT won't attract other 
> committers (because coding in JWT will become a difficult puzzle, and 
> will require more time), won't react quickly enough to new use cases, 
> and won't go ahead. Tests anticipate this situation.
>
>
> About bugs, we can consider that "1 bug fixed = 1 patch + 1 automated 
> test". This could become a convention before closing a bug in the
bugzilla.
>
> About testing the UI... Maybe there is nothing to allow this now. But we 
> can still try... ;)
> We can at least write some unit tests with classes that are independent 
> from Eclipse runtime. We can also learn how to write mock classes to 
> replace Eclipse runtime.
>
>
> I'll try to find some interesting things about continuous integration 
> and automated tests in PDE. And I promise my next commit will contain 
> some tests!
>
>
> Best Regards,
> Mickael
>
>
> Florian Lautenbacher a écrit :
>   
>> Hi Marc,
>>
>> thank you for this post. Yes, you are right - currently there are no
tests
>> for JWT WE (I made a few of them myself, but actually I'm not an expert
in
>> how to write tests, especially for graphical modeling environments such
as
>> GEF). I'll read through the chapter of the Gamma & Beck book and will
have
>>     
> a
>   
>> look whether we can start implementing some tests without neglecting the
>> next features and fixing bugs...
>> Any assistance here is of course always welcome :-)
>>
>> I agree with you (and Alexandre Boutin) that at least every time
something
>> has been broken, one should add some tests after fixing it in order to
>>     
> make
>   
>> sure it won't break again. 
>>
>> Best regards,
>>
>> Florian 
>>
>> -----Ursprüngliche Nachricht-----
>> Von: jwt-dev-bounces@xxxxxxxxxxx [mailto:jwt-dev-bounces@xxxxxxxxxxx] Im
>> Auftrag von Marc Dutoo
>> Gesendet: 30 April 2008 15:31
>> An: Java Workflow Toolbox
>> Betreff: [jwt-dev] Tests and unit testing in JWT ?
>>
>> Hi all
>>
>> The issue of tests and how to do unit testing in JWT is of interest for
>>     
> the
>   
>> core development team as well as anybody wishing to use JWT for his own
>> purpose.
>>
>> So what do you think about tests and unit testing in JWT ?
>>
>> As a starter, I've tried to compile a few answers here - feedback welcome
>>     
> !
>   
>> JWT tests status :
>>    * none in WE, many but not yet automated in Transformations, junit
>>     
> tests
>   
>> in runtime parts (but their impl is generally not jwt per se since not
>> available on eclipse because of license issues)
>>
>> Unit testing
>>    * for unit tests of eclipse plugins, use pde.junit plugin (from jdt ui
>> page). In addition to executing junit tests, it takes care of
initializing
>> an eclipse workspace, as required by eclipse plugins.
>>    * "httpunit-like" tools are scarce and far from useful in the field of
>> heavy client UIs. Some of my colleagues had a little bit of experience
>>     
> with
>   
>> such IBM tools targeting Swing UIs back then, and say that writing tests
>>     
> was
>   
>> far more cumbersome and long than writing the UI itself -_-
>>    * hence nothing car replace functional testing (test plans etc.) to
>>     
> know
>   
>> a UI is not broken in use or impl - though a good architecture (like emf
-
>> gmf - extension points - common patterns etc.), development and
>>     
> integration
>   
>> methodology, limits risks.
>>    * more about testing eclipse plugins : see the excellent gamma & beck
>> book, and especially its chap12 that is freely available here
>> http://today.java.net/today/2004/02/02/ch12Eclipse.pdf
>>
>> So what if you want to make your own tooling by extending JWT, and you'd
>> like to have some level of trust in the fact that a given release of JWT
>>     
> is
>   
>> not broken, or that your extensions are not breaking it ? According to
>> Alexandre Boutin (main french advocate of Lean Programming),
>>    * it would not be business-savvy to spend time writing tests for
>>     
> existing
>   
>> code. If code exists without tests and you trust it, use it so.
>>    * But if it breaks at some point, then add tests ensuring it won't
>>     
> break
>   
>> the same way anymore.
>>
>> Regards,
>> Marc
>> _______________________________________________
>> jwt-dev mailing list
>> jwt-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/jwt-dev
>>
>> _______________________________________________
>> jwt-dev mailing list
>> jwt-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/jwt-dev
>>   
>>     
>
> _______________________________________________
> jwt-dev mailing list
> jwt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/jwt-dev
>
>
>
> _______________________________________________
> jwt-dev mailing list
> jwt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/jwt-dev
>   

_______________________________________________
jwt-dev mailing list
jwt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/jwt-dev




Back to the top