QA/TestPlans/Audio

So, you've decided to test the XO Audio subsystem, eh? Your mission, if you choose to accept it, involves: testing test cases, filling some stubs, and triaging bugs.

First off, if you see something notable, you should mark it on our scratch page, located here: XO Audio.

=How the heck do I do this?=

To add a new test case, add in a line like this:

* |  () |

If you wish to claim a test case, try following the description, and if it passes, mark your test case as such. If it fails, you're going to need to file a bug; thankfully, this process is relatively swift and simple. Follow this link and fill in the appropriate fields:


 * Component (make your best guess here, as it's required to file the bug)
 * Summary (a short sentence describing the problem)
 * Description (fill out the fields as clearly as possible here; it's paramount that the bug you file be understandable and reproducible by someone who knows little about the process)
 * Attachment (if you have any relevant logfiles/output, use this tool to attach them to your bug)
 * Blocks (make sure that it blocks FedoraOnXo (very important!))

For an example, check out the bug I filed for the volume accelerator key issue, BZ# 467796. After you've filled in that information, go ahead and submit the bug and report it on your test case thusly:

* Can you feel it coming in the air tonight? | FAIL () [ ] |

Finally, check out the dependency tree for the FedoraOnXO bug and look around for audio-related bugs. If you find one, run through the triage procedure described on the test plan wiki and see if you can move it over to ASSIGNED.

=Regression testing upon new snapshots=

When a new snapshot comes down the pipe, it is your responsibility to retest all of the test cases you've claimed to see if anything has changed between the last release and the current one. When you've retested, update the F10 build for each test case you've retested, along with changing the status if need be.

=Basic Functionality=

Status: PARTIALLY TESTED (Snap2)

The definition of basic functionality is that the sound hardware is detected/installed appropriately and at least a modicum of the basic GNOME applications that interact with PulseAudio and ALSA do so as you'd expect. The scope of this project is on the XO hardware alone, so we're not going to be testing external sound hardware with the XO (though it's OK if you want to give it a go).

ALSA

 * Does ALSA detect the soundcard? | PASS (Snap2, detects PulseAudio) | ssalevan
 * Does amixer accurately detect the capabilities of the soundcard? | PASS (Snap2) | ssalevan

Basic PA stuff

 * Default settings are not muted | PASS (Snap2) | ssalevan
 * Killing PulseAudio and restarting it, does it still work? | NOT TESTED |
 * Playing an audio file via paplay | PASS (Snap2) | ssalevan
 * Playing an audio file via PA client application (mplayer, totem, etc.) | PASS (Snap2, using totem) | ssalevan
 * Recording an audio file into a PA client application; does it work? Are there issues with the recorded file? | NOT TESTED |

pavucontrol
The XO has stereo audio output and mono audio input capabilities (through the on-board mic or the input jack).

Playback streams: Output devices:
 * Manipulating audio streams via pavucontrol:
 * Change volume of playback stream | NOT TESTED |
 * Mute playback stream | NOT TESTED |
 * Change volume of output device | NOT TESTED |
 * Mute output device | NOT TESTED |
 * Lock/unlock L/R channels, do volumes change appropriately? | NOT TESTED |
 * Change volume of input device | NOT TESTED |
 * Mute input device | NOT TESTED |

GNOME stuff

 * Various mixer settings are visible and editable (ala gnome-volume-control) | PASS (Snap2) | ssalevan
 * Gnome system sounds enabled | NOT TESTED |
 * Gnome system sounds work | NOT TESTED |
 * Recording is functional (ala gnome-sound-recorder) | NOT TESTED |

XO Hardware

 * Headphone jack works appropriately (sound is output via jack when plugged in, not passed through internal speaker) | PASS (Snap2) | ssalevan
 * Internal speakers work appropriately | FAIL (Snap2) 466038 | ssalevan
 * Volume up/down accelerator key work? | FAIL (Snap2) 467796 | ssalevan

=Applications=

Status: PARTIALLY TESTED (Snap2)

How do the various sound-producing applications play with PulseAudio on the XO and the built-in sound hardware?

Movie Player

 * Can the XO play back sound from Ogg-encoded video? | NOT TESTED | ssalevan

Music Players (rhythmbox, etc.)

 * Can the XO play back Ogg-encoded audio? | PASS (Snap3) | amandy
 * Can the XO play back Ogg-encoded internet radio streams? | PASS (Snap2) | ssalevan

NOTE: The XO doesn't have enough horsepower to play a high-quality stream very well, but it does indeed play it

Music programs (Csound, puredata, etc.)

 * Timidity++ - does the XO have enough horsepower to play back a MIDI file with a software GM set? | NOT TESTED | ssalevan
 * Does any of the Csound stuff work? | NOT TESTED | 

= Audio Performance =

Status: NOT TESTED

How well does the sound card perform under certain situations? Do multiple sources of audio cause stuttering/clicking/cutout?


 * Can the XO play back multiple Ogg-encoded files? | NOT TESTED | ssalevan
 * Can the XO play back sounds from different types of programs (for instance, a MIDI + an Ogg)? | NOT TESTED | ssalevan

= Helpful resources =

Getting around some XO limitations

 * The live image does not have wget, but it does have the version of busybox that comes with anaconda. To wget a file using busybox, try this invocation:


 * 1) busybox.anaconda wget 


 * Typing with the rubber keyboard can get extremely tiresome, I've found, and Firefox is all but dysfunctional at the moment due to aforementioned performance issues. To get around these limitations (and recover your lost WPM in the process), I suggest enabling sshd:


 * 1) su -
 * 2) service sshd start
 * 3) chkconfig sshd on

Sound Sources

 * For a good source of Ogg-encoded audio, check out CCMixter.
 * For a good source of Ogg-encoded streaming audio, check out the WKNC high-quality stream.
 * For a good source of WAV files, check out Freesound.

Further test inspiration

 * Check out the PulseAudio stuff from the last Fedora Test Day.