Fedoraでどんなテストが行われているかを書いてみたいと思います。
テストは大別すると3種類有って、通常のパッケージアップデート時に行われる updates-testing とリリース前に行われるテスト、それにTest Dayと呼ばれるテストイベントの3個です。
updates-testing
これはリリース版のディストリビューションでパッケージのアップデートをする時に行われるテストです(Fedoraのwiki)。
Fedoraの場合、メンテナさんがパッケージをアップデートすると最初にupdates-testingというリポジトリにrpmファイルがアップロードされます。ここで人間がテストしてOKだったものが通常のupdatesリポジトリに入るという流れになっています。
そしてテストした結果はbodhi(菩提)というシステムで管理されます。
bodhiトップ画面
大体は見たままなので説明不要かと思いますが、重要なのはkarmaです。テストした人はkarmaを与えます。問題が無ければ+1、問題があったら-1、単なるコメントだったら0ですね。karmaが-1(ニコニコマークが泣いているもの)は基本的にupdatesリポジトリに入れません。
bodhiコメント一覧
パッケージのテストはどんなことをやるかというと基本的に任意です。そのパッケージを使っている人がその人の通常の使い方で問題なければOKとしても良いし、Wikiにテストケースがあればそれを実行してもOKと言う感じです。
なのでここでバグがちゃんと見つかるかというとテスト内容依存(X.orgあたりはハードウェア依存も)ですが、それなりには見つかってるかなと思います。
ちなみに、「bodhiコメント一覧」の画像でAuthorに「autoqa」という人がいますが、これは自動テストです。パッケージの依存関係が正しいかなどはこれがテストしてます。
リリース前のテスト
これはそのままですねw FedoraはAlpha、Betaときて正式版がリリースされます。そしてこれら3種類にもRC版があります。Alpha版をリリースするためにはAlpha rc1でテストして問題があればAlpha rc2で再テストという感じで進んでいきます。
テスト内容はインストール、旧版からのアップグレード、デスクトップ環境のテストという3本柱です。
Fedora20で行われたテストはこちらで確認できます。例えばCategory:Fedora 20 Beta RC Test Resultsを見てみますと、インストールテストの結果、デスクトップ環境のテスト結果などが見れます。
で、rc2のインストールテスト結果を見るとどんなテストをして、その結果がどうだったか確認できます。
リリース前のテストで行うテストは一通りテストケースがありますのでそれを行っていきます。
Test Day
これはリリース前に行われることが多いですが、パッケージとか機能に特化したテストイベントです。Fedora 20で予定されているTest Dayの一覧がここで見れます。Test Dayの主催者は通常はそのパッケージ/機能のメンテナさんですね。この人がパッケージ、テストケース、必要ならテスト用のライブCDイメージなどの準備をしてTest Dayが行われます。Test Day中はircで話しつつ進める感じです。
テストして得られる物
- テストして報告をしておくと、とりあえず自分の環境ではそれなりに動く最新のFedoraディストリビューションが手に入ります。
- QAチームのリーダーにblogで褒めてもらえるw Fedora 14の時はSpecial Thanks to~頂きました( ´∀`)bグッ!