Modeler - GUI Testing

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Modeler - GUI Testing

Emerson Castañeda
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 

Reply | Threaded
Open this post in threaded view
|

Re: Modeler - GUI Testing

Andrus Adamchik
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, [hidden email] 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 
>

Reply | Threaded
Open this post in threaded view
|

Re: Modeler - GUI Testing

Emerson Castañeda


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 <[hidden email]> 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, [hidden email] 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 
> >
>
>