Assuming you downloaded a non-release image (that is to say, an image intended for testing), the ISO Tracker contains a list of tests meant to be executed for the image. For example, a daily ubuntu amd64 image has, as of this writing, 21 testcases representing different scenarios for installing and using the ubuntu image on your machine.
These tests can be seen, executed and reported all using the ISO Tracker interface. A tutorial on using the tracker can be found here. You will need a launchpad account to login and report results. Each image contains download links for the image, instructions for reporting bugs, and a form to submit results. In general you can utilize your machine, or a virtual machine for testing. Real hardware testing is encouraged, but don't overwrite your current installation and data unless you understand what your doing! Virtual machines such as Virtualbox, Vmware player, or KVM are common for virtualized testing.
If you are using a release image of ubuntu and encounter a bug, you are encouraged instead to file the problem as a bug.
What is Autopilot?
From the Ubuntu wiki:
Autopilot is a functional testing tool for Unity. It simulates user actions by generating keyboard and mouse events, and then testing the internal state of Unity and associated applications.
You can get involved with testing by joining the QA team. Here is a link to their mailing list - ubuntu-quality, their launchpad page, as well as the official Ubuntu QA page.
Installation
To install Autopilot from the command line, run the following commands:
sudo add-apt-repository ppa:autopilot/ppa
sudo apt-get update && sudo apt-get install python-autopilot
An example of a simple test unit:
autopilot run unity.tests.test_showdesktop.ShowDesktopTests.test_showdesktop_hides_apps
Warning:
Running autopilot tests on your default desktop will cause your pc to send mouse and keyboard movements without your control. Please read the articles below before blindly running this command.
Tutorials
There is a tutorial here. Additionally, there have been several good articles mentioned in the Ubuntu weekly newsletter. These were written by Nicholas Skaggs, a community coordinator on the testing team, that have been very useful for me.
Autopilot: part 1
Autopilot: part 2 - Here the author walks through a simple "hello world" use case of autopilot
Autopilot: part 3
I highly recommend reading the three above linked articles before getting started with autopilot.
Contributing Testcases
You can submit test cases by emailing the ubuntu-quality mailing list using a specified format outlined here.
Additionally, test cases can be pulled via bzr using the following command:
bzr branch lp:ubuntu-autopilot-tests
Adding test case changes to the code branch can be done with a bzr push comand:
bzr push lp:<username>/ubuntu-autopilot-tests/ubuntu-autopilot-tests
See http://code.launchpad.net/ubuntu-autopilot-tests for more information.
Best Answer
Autopkg tests can be written for any ubuntu package. The tests follow the DEP 8 specification for including tests as part of a deb package.
Writing a test
A test can be written in a myriad of languages. Common examples are C, bash, python and perl. To write a test:
Contributing tests
Getting the test into ubuntu follows the normal ubuntu developer process. In short, you
More information
To see a list of current autopkgtests, you can see the live jenkins output of all the tests that are currently being automatically run here.
In addition, the ubuntu developer documentation has further information on contributing an autopkg testcase, including examples of tests.