[Sugar-devel] Automated testing

Gary Martin garycmartin at googlemail.com
Fri Dec 7 16:27:55 EST 2012


Hi Daniel,

On 7 Dec 2012, at 18:48, Daniel Narvaez <dwnarvaez at gmail.com> wrote:

> Hello,
> 
> I made a lot progress in the last few days on automated testing, so I
> thought I would give a quick update to the list. Hopefully this will
> also provide an higher level description of the many patches I sent.
> I'm working on a few cases which I consider paradigmatic but of course
> we will need everyone to buy into it for this to really work. After
> all, if you worked with a unit tested code base before you know it
> takes less time to write code with tests than without!
> 
> Case 1. Non-UI component.
> 
> http://git.sugarlabs.org/~dnarvaez/sugar-toolkit-gtk3/dnarvaez/blobs/master/tests/test_bundlebuilder.py
> 
> Nothing special here. We are setting up a git repository with a sample
> activity and running all the bundlebuilder commands on it, both
> in-source and out-of-source.
> 
> Case 2. UI component, functional testing.
> 
> http://git.sugarlabs.org/~dnarvaez/sugar/dnarvaez/blobs/master/tests/test_activitieslist.py
> 
> This is more interesting. We are using at-spi (the gtk accessibility
> framework) to get a tree of the UI. We can check if certain widgets
> exists, click on them etc. At the moment it looks like for a palette
> for the activities list palette for example
> 
>  [test_activitieslist.py | application]
>    [ | frame]
>      [ | filler]
>        [ | filler]
>          [ | filler]
>            [ | panel]
>              [ | icon]
>          [ | panel]
>            [ | filler]
>              [mock | accelerator label]
>              [ | label]
>        [ | filler]
>          [ | separator]
>          [ | filler]
>            [ | filler]
>              [ | panel]
>                [ | filler]
>                  [ | filler]
>                    [ | filler]
>                      [ | icon]
>                      [ | panel]
>                        [Make favorite | label]
>              [ | panel]
>                [ | filler]
>                  [ | filler]
>                    [ | filler]
>                      [ | icon]
>                      [ | panel]
>                        [Erase | label]
>              [ | panel]
>                [ | filler]
>                  [ | filler]
>                    [ | filler]
>                      [ | icon]
>                      [ | panel]
>                        [Start new | label]
>          [ | filler]
> 
> 
> Case 3. UI component, visual testing.
> 
> No code to share here yet. The idea is to take a screenshot of the UI
> and compare with it at testing time. It should be pretty easy to
> update it when styles and sizes changes. I never experimented with it
> yet, so I will have to play and see if it really works. I'm probably
> going to use one of the sugar3.graphics widget to start with.
> 
> Case 4. Full UI, functional testing.
> 
> http://git.sugarlabs.org/sugar-build/sugar-build/blobs/master/tests/sugar/tree.py
> 
> In sugar-build we are starting all the activities from the activities
> list view and the close them. Timing is tricky but I think we can make
> it work reliably. Of course we will need to write more and more
> complex tests.
> 
> Case 5. Full UI, visual testing.
> 
> I have not thought too much about this. I think a combination of
> at-spi and screenshots could work. But I hear humitos is doing some
> research on it :)
> 
> I will keep the list updated as I make progress on this.

Thanks for all the effort on this! It really looks like your work is pulling together as a great test suite for us folk working further up the stack at the Activity end of development. :)

Regards,
--Gary

> 
> -- 
> Daniel Narvaez
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel



More information about the Sugar-devel mailing list