Modeler - GUI Testing

2017-12-05 Thread eme...@gmail.com
Hi Dev@Cayenne community.
 
During recent months after an intensive work with the modeler, I found a set of 
bugs related to visualization, two of them have been already fixed (CAY-2379 
[1] & CAY-2384 [2]) , currently I'm in the process for reporting and solving at 
least 3 new ones.

During the fixing I have implemented some GUI testing specific for the modeler, 
using assertj-swing [3]. This has passed all validations for the building 
process, including Travis-CI by using xvfb [4] for all the active profiles in 
master branch. Also it requires including the assertj-swing[5] dependency in 
the parent-pom with test scope.

So, I wonder if including this new GUI testing feature would be aligned to 
apache cayenne goals; I remember reading recently from Andrus his happiness 
posting about "Cayenne Core is Dependency-Free" [6] as part of the version 4.X 
key improvements.

Although the implemented GUI testing does not add too much time to the building 
process, all validations until now look stable, and by include this kind of 
testing we will be working toward guaranty a better end-user experience, I 
would like to ask for your opinions before keep working on that.

Regards

EmeCas


[1] https://issues.apache.org/jira/browse/CAY-2379 
[2] https://issues.apache.org/jira/browse/CAY-2384 
[3] https://joel-costigliola.github.io/assertj/assertj-swing.html 
[4] https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml 
[5] http://mvnrepository.com/artifact/org.assertj/assertj-swing/3.8.0 
[6] 
https://medium.com/@andrus_a/apache-cayenne-4-1-java-8-no-dependencies-smaller-memory-footprint-629eb47a725f
 



Re: Modeler - GUI Testing

2017-12-07 Thread eme...@gmail.com


Thank for Andrus for your quick feedback I got the point about dependency-free.

I will keep working on this until reaches good-enough level to create a PR.

For now, I have been using it in order to test the solutions for the specific 
bugs I fixed and for playing around some user stories with the modeler. What I 
really would like to do, in a long-term, is adopting a BDD approach and 
maintaining a battery of tests for the GUI that help us addressing the 
development process, at least  the part regarding to the modeler. I do not know 
if there is another approach you have for this subject, I will be happy to 
learn about and helping out with this.

I have observed that there have been created 553 JIRA issues related to the 
modeler component (23% of the total of issues), where 117 still in 
open/unresolved status. It looks it can be a good start point to prioritize the 
existent backlog by trying to connect with that long-term goal I have mentioned.

Looking forward to community replies 

EmeCas

On 2017-12-05 18:07, Andrus Adamchik  wrote: 
> Without looking at specifics, I think it would be awesome to have real tests 
> for the GUI. Cayenne is dependency-free where it matters - when it is 
> embedded in the apps. Using a third-party lib to test the code during the 
> build does not affect that in any way. So we should be fine.
> 
> Andrus
> 
> > On Dec 5, 2017, at 5:54 PM, [email protected] wrote:
> > 
> > Hi Dev@Cayenne community.
> > 
> > During recent months after an intensive work with the modeler, I found a 
> > set of bugs related to visualization, two of them have been already fixed 
> > (CAY-2379 [1] & CAY-2384 [2]) , currently I'm in the process for reporting 
> > and solving at least 3 new ones.
> > 
> > During the fixing I have implemented some GUI testing specific for the 
> > modeler, using assertj-swing [3]. This has passed all validations for the 
> > building process, including Travis-CI by using xvfb [4] for all the active 
> > profiles in master branch. Also it requires including the assertj-swing[5] 
> > dependency in the parent-pom with test scope.
> > 
> > So, I wonder if including this new GUI testing feature would be aligned to 
> > apache cayenne goals; I remember reading recently from Andrus his happiness 
> > posting about "Cayenne Core is Dependency-Free" [6] as part of the version 
> > 4.X key improvements.
> > 
> > Although the implemented GUI testing does not add too much time to the 
> > building process, all validations until now look stable, and by include 
> > this kind of testing we will be working toward guaranty a better end-user 
> > experience, I would like to ask for your opinions before keep working on 
> > that.
> > 
> > Regards
> > 
> > EmeCas
> > 
> > 
> > [1] https://issues.apache.org/jira/browse/CAY-2379 
> > [2] https://issues.apache.org/jira/browse/CAY-2384 
> > [3] https://joel-costigliola.github.io/assertj/assertj-swing.html 
> > [4] https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml 
> > [5] http://mvnrepository.com/artifact/org.assertj/assertj-swing/3.8.0 
> > [6] 
> > https://medium.com/@andrus_a/apache-cayenne-4-1-java-8-no-dependencies-smaller-memory-footprint-629eb47a725f
> >  
> > 
> 
>