TheStages

Differences between revisions 1 and 18 (spanning 17 versions)
Revision 1 as of 2012-08-08 17:01:40
Size: 7414
Editor: adsl-98-70-53-93
Comment:
Revision 18 as of 2014-07-22 19:10:48
Size: 6339
Editor: host-80-41-221-66
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was copied from QATeam/Overview
Line 4: Line 5:
= More Information =
Line 6: Line 6:
This section provides further information and useful links for testers. As with all alphas and betas they are not suitable for a production environment, please take the time to read [[http://ubuntuforums.org/showthread.php?t=1594833 | Common Questions for Testing]] = The Stages =
Line 8: Line 8:
== Announcements == There are some differences between how the ubuntu family carry out their testing cycles. Some only release at LTS, some use alpha testing, some use only beta testing and everyone has to use release candidate. You need to check with the team(s) who you are testing for to know which of the various options they are using. The dates of when important things happen?
Line 10: Line 10:
At each milestone release, the notes at [[https://wiki.ubuntu.com/QuantalQuetzal/TechnicalOverview | technical overview]] are updated. '''[[https://wiki.ubuntu.com/ReleaseSchedule | Release Schedule.]]'''
Line 12: Line 12:
== Bugs == == Testing ==

Testing is split into distinct, but joined areas. The '''Daily Builds''', the '''QA-testing of Milestone releases''' and the '''Milestone releases''' themselves.

As new features are added at the beginning of the cycle, Quality assurance and the testers check for bugs and test for correct function.

== Daily Builds ==

The daily images are built automatically each 24 hours when not 'turned off' for milestone testing.

The most important goal with these images is simply to find as many bugs as possible and report them with enough detail that they can be fixed. Finding the bugs ahead of the milestone crunch is helpful as it gives us more time to fix them. Of course finding and reporting bugs in the released milestones is also useful for improving the overall quality of the distribution.

As there is less time pressure on testing these images than the pre-release ones, we would encourage more in-depth testing on a range of hardware to flush out the deeper hidden bugs. If possible, please perform installs using a variety of methods and focus on the quality and depth of testing as opposed to the quantity.

The Dailies are automatically generated every 24 hours, the get suspended as the QA cycles kick in.

== Pre-Alpha ==

Scary, expect them to break! At this point in the cycle the developers (devs) are pushing the boundaries to the absolute limit to what they would ''like'' to be in the next release. Testing is always important during this time, so that the devs have some feed back as to how things are going. The use of [[https://help.ubuntu.com/community/VirtualMachines | Virtual Machines]] is handy at this point.

== Alpha's ==

With the launch of the alpha's, we are into the area of 'it should not break too often'. The pre Alpha testing is to ensure that they boot. With a bootable Alpha 1 out, the devs then go to try adding things to it and updating things to the latest versions available for things. Things may well get broken. With the test version of the Alpha 2, things are little less concentrated on getting 'new' stuff in, but checking what is fixable.

The purpose of the Alpha milestones is to encourage wider public testing of the image builds. Before we can recommend the images for public testing we must at least ensure that they have all built correctly (are not in themselves corrupt) and are at least known to boot on some machines. Some form of installation should also be tested. We do not require that these images be tested for any possible minor defect or that all possible install methods work, since that is rather the goal of the wider image testing itself. Find the show stopper bugs and get them fixed.

When an important error is found, the current frozen images are rejected and new ones are built after the fix has been applied. It is therefore important to make sure that you are testing the most recent images.

If the bug is specific to one flavour, only those will be re-built and the other flavour builds remain valid. So if we find a serious bug in the Ubuntu version we will rebuild those images, which will take several hours in total. Likewise, if we find a bug that exists across all flavors, but only on i386, we will re-build i386 and all amd64 and PPC images remain valid.

== Beta and Final Release Candidates ==

The first glimpse of what the final release may well look like. With the Betas, we mainly switch from testing on [[https://help.ubuntu.com/community/VirtualMachines | Virtual Machines]] to 'Real Computers'. No changes to what applications that will be shipped from this point should be altered without a very good reason. The first Beta is for people to widely check on as many computers as possible to check if certain types of computer and their associated internal parts are having problems. The second Beta is the prelude for the final version, things are now concentrated on bug-fixing.

For Beta and Final milestones we have extended testing periods where we try to find as many bugs as we can. With the Beta we want to put our best foot forward across the distribution and want to fix as many bugs as we have the manpower for, large or small. For the Final release on the other hand, we will only fix the remaining release critical bugs. This is because seemingly small changes can have unintended consequences and break other things. Minor changes that are merely a good idea to fix will be deferred to downloadable updates.

The procedure of rejecting known bad images and continuing testing of unaffected ones also applies here as with the Alphas.

== Point Releases ==

For [[https://wiki.ubuntu.com/LTS | L.T.S.'s]] There are what is called '''point-releases'''. For eample 12.04 LTS has had its 4 point releases and is now on 12.04.4 In the meantime, 14.04 approaches it's first point relase as I write this. The testing time for point releases is very short and we do ask people to get involved. The changes for point releases have undergone [[https://wiki.ubuntu.com/QATeam/PerformingSRUVerification | SRU validation]]. This testing is to double, triple and quadruple that there are no regressions in all the work that has been to fix bugs and update for newer hardware.

== Final Release ==

And that, is how we test & do things. If you fancy a roller-coaster ride then do get on. You will have the ability when the Release is made, to smile to yourself and to others. And to say "'''I was a part of that'''".
Line 15: Line 59:
=== Reporting Bugs ===
Discussing a bug on IRC, email, forum or facebook areas etc. does not raise a bug. The devs do not monitor those areas. By all means use them to discuss a problem. Once your discussion about the bug is at a stage where you can report it, then for it to be actioned by the devs you '''must''' raise a bug. You can find information on how to report bugs at [[https://wiki.ubuntu.com/Lubuntu/ReportingBugs | Reporting Bugs]]
== Virtual Machines ==
Line 18: Line 61:
=== Dealing with Bug Reports ===
Triaging (dealing) with bug reports is a really important area. When new fixes come through it is important to let people know. [[https://wiki.ubuntu.com/Bugs/Responses#Old_untouched_bugs | please try a newer version]] is one such answer. There is also [[https://wiki.ubuntu.com/Bugs/Responses | full list of responses]]. It is important that the person who raised the bug, no matter if it is incomplete, a duplicate or any other reason is made to feel that their bug is important. Simply put, to them, it is the most important bug in the world and should be treated as such.
Some testing is carried out on Virtual Machines (VMs), for details on these head over to:
Line 21: Line 63:
=== The Bug Squad ===
If you'd like to know more about the treatment of bugs, please head over to [[https://wiki.ubuntu.com/BugSquad/KnowledgeBase | The Bug Squad]] new comers are always welcome.

== Testing ==
Testing is split into distinct, but joined areas. The '''Daily Builds''', the '''QA-testing of Milestone releases''' and the '''Milestone releases''' themselves.

To not get overly complicated, think of it as that we have a [[https://wiki.ubuntu.com/QuantalQuetzal/ReleaseSchedule | schedule]] to keep to. A few days before a Milestone is due, the daily is plucked and becomes the QA (Quality Assurance) test version for the Milestone release. Once it is confirmed that the QA version works, it then becomes the [[https://wiki.ubuntu.com/Lubuntu/Testing#Milestone_Releases | Milestone]].

All release stages are tracked by [[http://iso.qa.ubuntu.com/ | ISO Tracker]] where you can get the latest builds, see and allocate any [[https://wiki.ubuntu.com/Lubuntu/ReportingBugs | Bugs]].

So, in order of how they happen.

=== Daily Builds ===

These iso's are automatically generated every 24 hours using the latest updates on the system from the devs. They are available from [[http://iso.qa.ubuntu.com/|ISO tracker]]. Using the [[https://help.ubuntu.com/community/ZsyncCdImage | zsync (or rsync)]] option allows you to update your [[https://help.ubuntu.com/community/BurningIsoHowto |iso]] to any of the various dailies you choose to follow without having to re-download the entire iso. They are there to check that bugs that are resolved between the Milestone releases do not break the install. They also are used to confirm that any fix for a bug that seriously affects an initial install which is released for testing now works.

=== QA testing of Milestone releases ===

Alpha, Beta and Release Candidates (RC) are also tested using [[http://iso.qa.ubuntu.com/|ISO tracker]]. If you want to help out in this important area of testing, please read through [[https://wiki.ubuntu.com/Testing/ISO/Procedures | Procedures]] for further details. These appear a couple of days before the actual Milestone release so that we can check they are okay to become Milestone releases.

'''QA testing is to ensure the actual install iso works, if you can, please get involved in the qa testing'''

=== Milestone Releases ===

Once a Milestone release passes the QA testing, it becomes a Milestone Release and is listed on the [[http://cdimage.ubuntu.com/lubuntu/releases/ | Releases]] as such.

If you would to know more about how this all works, have a read of [[https://wiki.ubuntu.com/Lubuntu/Testing/TheStages | Stages of testing]].

== General Testing ==
During the release cycle, things will get broken. You can really reduce these occurrences by taking the time to read [[http://ubuntuforums.org/showthread.php?t=1479146|Partial Upgrades]].

=== Known Issues ===
All the known issues for a particular release are mentioned in the Announcement email, and are available to see at [[http://iso.qa.ubuntu.com/ | ISO Tracker]].

=== Manual test of ISO and CD ===
On the help-pages of Ubuntu there is an extensive guide on [[https://help.ubuntu.com/community/HowToMD5SUM|how to MD5SUM]].

== Specific Testing ==

=== QA tests ===
You can do more specific tests, like ones done for the Ubuntu ISO : http://iso.qa.ubuntu.com/qatracker/test/5090

=== Laptop Testing ===

Laptops never cease to have their little 'quirks'. You can help on this important area by heading over to [[https://wiki.ubuntu.com/Testing/Laptop/Procedures | Laptop Testing]] for full details.


=== Performance tests ===
You can test some aspects of Ubuntu performance with the following programs :
 * [[http://gtkperf.sourceforge.net/ | gtkperf]] : Test the performance of the gtk theme.
 * [[http://www.phoronix-test-suite.com/ | phoronix-test-suite ]]: General benchmarks and test suite.
 * [[https://wiki.ubuntu.com/BootCharting | bootchart]] : Test boot process.

=== Unwanted packages ===
Some packages can be automatically installed, but are not wanted on a default installation. To find the package which automatically installed the package that you don't want :
 * Install apt-rdepends
 * run "apt-rdepends -r --show=Depends the_unwanted_package" => It will show which packages depend on the_unwanted_package.
 * run "apt-rdepends -r --show=Recommends the_unwanted_package" => It will show which packages recommend the_package_unwanted (Recommended packages are installed by default).
 * You may have to run the commands several times to see the complete chain of depends / recommends.

=== PPA Testing ===
Sometimes during the test cycle one of the developers may ask you to test something specific for them. Most often this is from a '''staging''' area. To temporarily add a '''staging''' area (below is an example using the lubuntu-staging ppa and the application lxinput), install what they want you to test and then remove the staging area following the below example.

{{{
sudo apt-add-repository ppa:lubuntu-dev/staging
sudo apt-get update
sudo apt-get install lxinput
sudo apt-add-repository -r ppa:lubuntu-dev/staging
sudo apt-get update
}}}

This will 'grab' the lxinput from the staging area and then remove staging. If the new '''lxinput''' broke your system, then you need to get rid of it and re-install the current version

{{{
sudo apt-get remove lxinput
sudo apt-get install lxinput
}}}

This will remove the new '''lxinput''' we got from the ppa, and now that ppa is no longer in use, the install will 'grab' the one from the normal area. If you are working on a bug, it is important to test with these packages to verify it has been fixed.
'''[[https://wiki.ubuntu.com/Testing/Virtual_Machines | Virtual Machines.]]'''

The Stages

There are some differences between how the ubuntu family carry out their testing cycles. Some only release at LTS, some use alpha testing, some use only beta testing and everyone has to use release candidate. You need to check with the team(s) who you are testing for to know which of the various options they are using. The dates of when important things happen?

Release Schedule.

Testing

Testing is split into distinct, but joined areas. The Daily Builds, the QA-testing of Milestone releases and the Milestone releases themselves.

As new features are added at the beginning of the cycle, Quality assurance and the testers check for bugs and test for correct function.

Daily Builds

The daily images are built automatically each 24 hours when not 'turned off' for milestone testing.

The most important goal with these images is simply to find as many bugs as possible and report them with enough detail that they can be fixed. Finding the bugs ahead of the milestone crunch is helpful as it gives us more time to fix them. Of course finding and reporting bugs in the released milestones is also useful for improving the overall quality of the distribution.

As there is less time pressure on testing these images than the pre-release ones, we would encourage more in-depth testing on a range of hardware to flush out the deeper hidden bugs. If possible, please perform installs using a variety of methods and focus on the quality and depth of testing as opposed to the quantity.

The Dailies are automatically generated every 24 hours, the get suspended as the QA cycles kick in.

Pre-Alpha

Scary, expect them to break! At this point in the cycle the developers (devs) are pushing the boundaries to the absolute limit to what they would like to be in the next release. Testing is always important during this time, so that the devs have some feed back as to how things are going. The use of Virtual Machines is handy at this point.

Alpha's

With the launch of the alpha's, we are into the area of 'it should not break too often'. The pre Alpha testing is to ensure that they boot. With a bootable Alpha 1 out, the devs then go to try adding things to it and updating things to the latest versions available for things. Things may well get broken. With the test version of the Alpha 2, things are little less concentrated on getting 'new' stuff in, but checking what is fixable.

The purpose of the Alpha milestones is to encourage wider public testing of the image builds. Before we can recommend the images for public testing we must at least ensure that they have all built correctly (are not in themselves corrupt) and are at least known to boot on some machines. Some form of installation should also be tested. We do not require that these images be tested for any possible minor defect or that all possible install methods work, since that is rather the goal of the wider image testing itself. Find the show stopper bugs and get them fixed.

When an important error is found, the current frozen images are rejected and new ones are built after the fix has been applied. It is therefore important to make sure that you are testing the most recent images.

If the bug is specific to one flavour, only those will be re-built and the other flavour builds remain valid. So if we find a serious bug in the Ubuntu version we will rebuild those images, which will take several hours in total. Likewise, if we find a bug that exists across all flavors, but only on i386, we will re-build i386 and all amd64 and PPC images remain valid.

Beta and Final Release Candidates

The first glimpse of what the final release may well look like. With the Betas, we mainly switch from testing on Virtual Machines to 'Real Computers'. No changes to what applications that will be shipped from this point should be altered without a very good reason. The first Beta is for people to widely check on as many computers as possible to check if certain types of computer and their associated internal parts are having problems. The second Beta is the prelude for the final version, things are now concentrated on bug-fixing.

For Beta and Final milestones we have extended testing periods where we try to find as many bugs as we can. With the Beta we want to put our best foot forward across the distribution and want to fix as many bugs as we have the manpower for, large or small. For the Final release on the other hand, we will only fix the remaining release critical bugs. This is because seemingly small changes can have unintended consequences and break other things. Minor changes that are merely a good idea to fix will be deferred to downloadable updates.

The procedure of rejecting known bad images and continuing testing of unaffected ones also applies here as with the Alphas.

Point Releases

For L.T.S.'s There are what is called point-releases. For eample 12.04 LTS has had its 4 point releases and is now on 12.04.4 In the meantime, 14.04 approaches it's first point relase as I write this. The testing time for point releases is very short and we do ask people to get involved. The changes for point releases have undergone SRU validation. This testing is to double, triple and quadruple that there are no regressions in all the work that has been to fix bugs and update for newer hardware.

Final Release

And that, is how we test & do things. If you fancy a roller-coaster ride then do get on. You will have the ability when the Release is made, to smile to yourself and to others. And to say "I was a part of that".

Virtual Machines

Some testing is carried out on Virtual Machines (VMs), for details on these head over to:

Virtual Machines.

QATeam/Overview/TheStages (last edited 2015-01-23 16:17:15 by xdsl-83-150-81-40)