QA/Testing/Regression Tests

Developers are only humans. Their modifications sometimes cause unexpected side effects, which bring new bugs or unreasonable performance downgrade. Regression tests help to find such problems. They check that a particular functionality works as designed and end users could happily use it in their daily job.

Naturally, the regression test will be executed in each testable new build. On the other hand, in practice it is unobtainable, that we can try out each corner of a large software as LibreOffice in each release. So we have regression test set selectively from often used scenarios or functionality and have them tested in beta and RC phase.

Existing Tests
LibreOffice has a well defined release cycle and Release Criteria. There are major releases X.Y.0 with their daily, beta and release candidate builds. Also there are bugfix releases X.Y.Z with their release candidate builds. The following tests are needed:


 * smoketest has to be done before any beta or RC build is announced
 * full regression test has to be done before every major release
 * basic regression test should be done also before every bugfix release

Smoketest
All builds are available 1-2 days before the official announce. We need to make sure that they are somehow usable on as many platforms as possible. Please, help us to do the following:


 * monitor the pre-announcement mails on the [mailto:libreoffice@lists.freedesktop.org libreoffice@lists.freedesktop.org] mailing list
 * download the build for your platform from the dev-builds pre-releases site
 * install it and try some basic operations, e.g. open/save documents in Writer, Calc, Impress, and Draw
 * if you find a bug that makes the build almost unusable, please let us know in a reply to the announcement mail. Please keep all people and mailing lists in CC
 * report bugs into bugzilla

FIXME: There are some attempts to automatize this task.

Full Regression Test
The automatic tests are currently run during the build:


 * please join developers and help them to implement more checks; it allows to run the tests more frequently
 * FIXME: does it make sense to extract subsequent tests from the build process and run them on the user systems?
 * IMPORTANT: There are even tasks for non-developers

Basic Regression Test
Pure bugfix releases happen every month after each major release. There is not enough time for a full regression test. Developers try to avoid regressions in pure bugfix releases by reviewing changes. But they are only humans, so it still makes sense to run the most important regression tests. Usually the priority 1 and priority 2 cases will be tested in this phase