QA/TestPlans/Fedora10 On XO

= Introduction =

This document describes the test process by which Fedora 10 will be verified for operation consistent to that of other common laptop hardware. (For information regarding Fedora 11 and beyond on XO hardware, see OLPC/Fedora_on_XO.)

The goals of this plan are to:


 * Organize a community test effort
 * Communicate the strategy, scope and priorities of the planned tests to all relevant stake-holders for their input and approval
 * Serve as a base for the test planning for future Fedora releases

= Strategy =

In an effort to focus testing on specific XO hardware, the test strategy will be to:
 * 1) Define a set of high-level test areas that group similar functional components together
 * 2) Organize volunteers into teams, each team focused on a specific test area
 * 3) Teams will develop a rough test plan for their test area.  Each team can dictate the required level of testing (both in terms of depth and breadth)

As no centralized automation is available, test teams are encouraged to leverage exploratory testing and built-in unit-tests where possible.

Use existing tools to facilitate writing new test builds to the XO's SD card (see livecd-iso-to-disk.sh).

= Schedule =

An up-to-date schedule for Fedora 10 is available at Releases/10/Schedule. A summary of Fedora XO related test milestones is noted below.

= Scope =

The scope of all testing should be representative of the XO hardware under test. No need to test Gigabit ethernet if the XO doesn't provide such an adapter. See the test area break down for more details.

Items not tested:
 * Installation of Fedora on an XO - only live image booting from the SD is planned for Fedora 10

= Responsibilities =

Test Teams
This section outlines the test teams and various community points of contact. If you are an XO Tester, please add your name to one of the groups on the XO Test Roll Call.

Team Lead
Responsibilities of a team lead include:
 * 1) Coordinate team test efforts
 * 2) Update testing status to wiki ([bi]weekly)
 * 3) Ensure any defects are filed to block FedoraOnXo
 * 4) Establish and lead team irc meetings
 * 5) Stub test guidelines on wiki ... and coordinate w/ test team

Team Member
As a team member, you are encouraged to:
 * 1) Provide suggested names for your team :)
 * 2) Attend team meetings
 * 3) Contribute test plan guidance to the wiki for your team
 * 4) Notify your team lead of any blocking defects

= Test Areas =

Testing of Fedora on the XO is broken out into several high-level groups with a focus on targeting the hardware environment of the XO.

The list of test areas includes:
 * Performance
 * Built-in Camera
 * Power Management
 * Networking
 * Display
 * Audio
 * XFCE

= HOWTO's =

The following sections are intended to provide high-level instructions for common tasks encountered by a Fedora XO tester.

File Fedora XO bugs
All bugs will be tracked in Bugzilla.

Please file all bugs found while testing Fedora on the XO with the following parameters:
 * product = Fedora
 * version = rawhide
 * blocks = FedoraOnXO

For convenience, you can file an new Fedora XO bug by clicking here.

Triage NEW Fedora XO Bugs
To help with triaging ...


 * 1) Start with the list of NEW Fedora XO bugs at http://tinyurl.com/52wclh

For each bug, ask yourself the following questions:


 * 1) Is the bug specific to the XO hardware or environment?
 * 2) Was the following information provided?
 * 3) * Build tested (rawhide-YYYYMMDD or package versions)
 * 4) * Clear steps to reproduce the problem

If the above requirements have been met, please:
 * 1) Mark the bug as blocking 461806 (FedoraOnXO)
 * 2) Change to bug state to ASSIGNED

For further reading, the bug triage process is described in more detail at BugZappers.

Test a MODIFIED Fedora XO Bug
FIXME - provide tinyurl link to MODIFIED Fedora XO Bugs

Ask the following questions:


 * 1) Are you able to confirm that the steps to reproduce no longer trigger the failure?
 * 2) Have any new bugs been introduced as a result of the fix?
 * 3) Are any release notes required?

When comfortable with the fix:


 * 1) Add a comment indicating which build or software packages were tested
 * 2) Change the bug state to CLOSED with a resolution of RAWHIDE

If the reported issue has not been addressed:


 * 1) Add a comment indicating which build or software packages were tested that still exhibit the failure
 * 2) Change the state to ASSIGNED

= Documentation =

Before you get an XO

 * Visit http://laptopgiving.org/start to familiarize yourself with the XO hardware and OLPC mission.


 * Download the OS images mentioned in the sections below.


 * Purchase a Sandisk Extreme III SD 4GB SD card if you do not already have one

When you get an XO

 * 1) Try out the hardware (sound should play at boot, webcam should take a picture)
 * 2) Update the Sugar OS with the "general public" clean-install procedure
 * 3) * Install build 767 located at - http://download.laptop.org/xo-1/os/candidate/767/jffs2/
 * 4) * Note that the new build will not have any applications until you run Software update
 * 5) Boot the XO and connect to a nearby wireless network
 * 6) * To find OLPC mac address ... press .  Then type ip addr list eth0
 * 7) * You may need to manually configure your SSID with iwconfig eth0 mode managed essid MYSSID
 * 8) Go to Software update in the Control Panel and apply any updates
 * 9) Obtain a developer key (see http://wiki.laptop.org/go/Developer_key#Getting_a_developer_key_for_your_running_XO_laptop)
 * 10) Load the Browse activity
 * 11) Navigate to file:///home/.devkey.html
 * 12) * Follow the instructions on the page
 * 13) Wait for developer key activation (more information at https://www.redhat.com/archives/fedora-test-list/2008-October/msg00229.html)
 * 14) Download key using instructions provided
 * 15) Reboot

Download a Fedora Live Image
Requirements:
 * A computer with a internet connection
 * A torrent client installed

First, determine which image you wish to load:

Fedora 10 snapshot images are provided by bittorrent and available at http://torrent.fedoraproject.org. To download a torrent, you must:

Using the transmission client:
 * 1) Install the client: yum install transmission
 * 2) Download the torrent file.  For example, to download the torrent file for F10 Snapshot2 you might type: wget http://torrent.fedoraproject.org/torrents/Fedora-10-Snap3-i686-Live.torrent
 * 3) Download the snapshot by typing: # transmissioncli Fedora-10-Snap3-i686-Live.torrent

Using the bittorrent-curses client:
 * 1) Install the client: yum install bittorrent
 * 2) Download the torrent file.  For example, to download the torrent file for F10 Snapshot2 you might type: wget http://torrent.fedoraproject.org/torrents/Fedora-10-Snap3-i686-Live.torrent
 * 3) Download the snapshot by typing: # bittorrent-curses Fedora-10-Snap3-i686-Live.torrent

Installing your SD card
Requirements:
 * Another linux computer to flash the SD card - the installation scripts require a linux machine
 * SD card - specifically a Sandisk Extreme III SD card (4 Gig capacity). The card must be 4Gb or larger. The installed image is 3.0 Gb + 576Mb
 * SDHC reader - older SD card readers will not recognize the 4Gb SDHC card
 * An internet connection

To install a live image to your SD card:
 * 1) Make sure the syslinux package is installed: # yum install syslinux
 * 2) Download a live image as described in QA/TestPlans/Fedora10_On_XO
 * 3) Download the installation script: # wget http://katzj.fedorapeople.org/olpc/livecd-iso-to-disk.sh
 * 4) Make sure you know what device your SD card is attached to.  Insert the SD card into the system and type: # mount | grep media
 * 5) * You need both the mount point (the part after /media/), and the device (the part after /dev/). If you get more than one line of output make sure you know what's attached to what.
 * 6) Make sure the SD card is not mounted: # umount /media/usbdisk
 * 7) * Replace usbdisk with the mount point of your SD card.
 * 8) Write the live image to your SD card: # bash livecd-iso-to-disk.sh --xo --overlay-size-mb 320 --swap-size-mb 256 Fedora-10-Snap3-i686-Live/F10-Snap3-i686-Live.iso /dev/sdb1
 * 9) * Replace sdb1 with the device name of your SD card.

FAQ

 * OLPC Support FAQ