Testing

Revision 1 as of 2012-07-05 00:55:59

Clear message

Testing

Testing is a hugely useful way of contributing to Ubuntu Accomplishments. We have a strong commitment in the project to quality, and we would like to build a community in which our testers can help our developers to deliver the best possible quality.

There are two types of testing you can help with:

  • Manual Testing - this is testing the software and reporting issues. You don't need to be a programmer to help here.

  • Automated Testing - this is writing programmatic tests for different parts of our infrastructure. You will need to be a programmer to help here.

This guide helps outline how you can help with both of these efforts.

Manual Testing

Manual testing is an important part of ensuring that our releases work effectively as well as our trunk development version.

How can I help?

Release Testing

Around the time of release we like to put together a set of manual tests that our release candidate gets further testing before we release (see https://wiki.ubuntu.com/Accomplishments/GetInvolved/Testing/0.2 for an example for the 0.2 release.

A wonderful way to help here is to help put together these manual testing plans and coordinating getting people involved. To help with this, check when the next milestone is due to be released (you can ask on the mailing list/IRC channel) and then coordinate the wiki page and tests for then.

Development Testing

To ensure that we are fixing bugs as we develop, regular testing of our development trunk is really helpful. To help with this you should install our daily PPA.

You can do this with:

sudo add-apt-repository ppa:ubuntu-accomplishments-admins/daily
sudo apt-get update
sudo apt-get install accomplishments-daemon accomplishments-viewer ubuntu-community-accomplishments ubuntu-desktop-accomplishments accomplishments-lens

Before you test you should ensure you have a clean configuration. To do this, test in a guest account or remove your configuration with:

rm -rf ~/.local/share/accomplishments
rm -rf ~/.config/accomplishments
rm -rf ~/.cache/accomplishments

Now test the various features of the application and report bugs at https://bugs.launchpad.net/ubuntu-accomplishments-system/+filebug - be sure to specify in your bug report that you are running the daily packages.

Automated Testing

At the time of writing (late July 2012) our automated testing infrastructure is in it's infancy. Our goal is to build the following automated testing facilities:

  • Unit testing across our different projects (daemon, viewer, web gallery, lens etc).
  • Ubuntu One Synchronization testing to test for synchronization delays and/or problems.

What we do have in place is a tool for performing testing of global accomplishments. This tool is called battery (https://launchpad.net/ubuntu-accomplishments-battery) and we use it to run daily tests of all accomplishments registered with the validation server.

How can I help?

A great place to start is to mail the mailing list and ask how you can help with our unit tests or Ubuntu One synchronization testing.