Automated Testing - Suggestions

From Rosalab Wiki
Revision as of 18:41, 6 June 2013 by Euspectre (Talk | contribs) (Added a note about UI testing)

This is a page snapshot, showing old (but not deleted) versions of images and templates.
Jump to: navigation, search

The System

The automated testing system for ROSA Linux distros operates as follows:

  1. It looks for the new ISO images for the appropriate distros on ABF. If they are found, it downloads the images to a local machine.
  2. It creates virtual machines (currently based on qemu-kvm) and checks that the OS boots in Live mode from the ISO images on these machines.
  3. It automatically installs the OS to these virtual machines from the ISO images and performs several basic adjustments and checks. For example, it checks whether SSH connection to the machine is working, tries to enable the default package repositories and perform a package update, etc.
  4. Autotest is used to run functional tests on the live and installed systems.
  5. The results of the above steps are available at FBA

All this is currently done for ROSA Desktop Fresh 2012, both 32- and 64-bit.


Suggestions

Listed here are the suggestions collected so far about the tests and the system features that could be useful, in no particular order.

Profiles

  • Profile for ROSA Desktop Fresh GNOME Edition
  • Profile for ROSA Desktop Fresh LXDE Edition

Installation Options

  • /var on a separate partition
  • Installation on a RAID

Kernels

  • It could be useful to test the ROSA distros with different kernel flavours available for them.

Tests

  • Xfstests and/or other file system tests - at least for ext4 FS, other file systems can also be tested this way in the future
    • ext4 with default mount options (Done. At least the tests that run no more than several minutes run now.)
    • ext4 with noatime and discard (commonly used for the FS on SSD drives) (Done for noatime.)
    • btrfs (Done. At least the tests that run no more than several minutes run now.)
    •  ? XFS
    •  ? ReiserFS + Reiser4
    • fat/vfat (USB Frash drives)
    •  ? iso9660
    •  ? UDF
    • NTFS (with FUSE-based driver) (Done. Adapted xfstests for this purpose.)
    •  ? SquashFS
    • CIFS
    •  ? NFS
  • LSB test suites (see LSB Distribution Checker) - at least libcheck and cmdcheck. (Done. The system runs libchk and cmdchk daily.)
  • Mozmill tests - at least for Firefox (similar to how it is done in OpenQA for OpenSUSE)
  • Checking for errors in the kernel modules with KEDR tools
  • Regression tests for some of the bugs fixed in the distros
  •  ? Fuzz tests like Trinity, etc. (may be destructive)
  • Check the selected software, esp., the software developed by ROSA, for memory-related errors. The tests may be based on Valdrind's Memcheck or other tools.
  •  ? (What else?)

Benchmarks

  •  ? (Are they really needed here?)

Enhancements

  • Possibility run test for specified iso-image + update specified package from specified repository. For example, we would like to use autotest for testing ROSA utilities like SimpleWelcome (development version).

Comments: it is already possible to use a particular ISO image rather than the newest one. It is also possible to write Autotest scenarios that enable the given repositories, update the specified packages from these repositories and test that software.

This is now possible. See the description and the tutorials here: English Russian

  • Distinction of known and unknown failures.
  • Enhancements of the report generation mechanism in Autotest:
    • Fix broken links in the generated pages (dmesg, etc.).
    • Show the description of the tests in the report.
    • Something to make it easier to see how exactly the tests have failed (currently, it is needed to look through the logs).
  • When the repository for pending updates is available, it will be useful to add it on the client machines to check the updates early.

Development

The sources of the system are available at ABF.