こんにちは!Hojoです。
今回はVivaldiに報告されたバグレポートがどのような手順で修正され、Vivaldiブラウザーに反映されるかをご紹介します!
フォーラムを利用したり、Twitter等のチャンネルで私たちをフォローしている方は、私たちがよくユーザーに対してバグの報告をお願いしているのを見かけることがあるかと思います。これは、私たちが必要とする情報(VivaldiやOSのバージョンなど)を全て取得する上で最も簡単な方法であり、これにより、Vivaldiチームはバグを再現し修正することができます。
提供される情報が多ければ多いほど、問題の原因の発見、解決が容易になります。みなさんのフィードバックは、Vivaldiの改善に役立っており、時間の経過とともに品質も向上しています。ありがたい限りです。
バグは常に発生し得るものであり、中には新しい機能の開発を止めてでも対応しなければならない類のものがあります。したがって私達は、バグとリグレッションに対応できるキャパシティをチームが持つようにしています。直近の30日間だけでも692件ものバグの報告が提出され、そのうち653件はすでに解決されました。
私たちはJiraをプロジェクト管理の大部分に使用しており、ユーザーが投稿したバグも追えるようにしています。一度バグレポートが提出されると、修正が安定版として正式に公開されるまで、いくつかの段階を経ます。以下が、Vivaldiにおけるバグレポートの通常のライフサイクルです。
新しいバグレポートが作成される
新しいバグが報告されると、それが内部からの報告であってもVivaldiユーザーからであっても、そのステータスはデフォルトで「未確認」に設定されます。
バグを再現確認する
ここで、テストチームは、レポートに記載されている情報と手順に基づいてバグの再現を試みます。 VivaldiはWindows、Linux、Macのいくつかの異なるバージョンで利用できるため、テスターはさまざまなテスト環境にアクセスできなくてはなりません。数多くのモニターが必要となり、デスク上が散らかっていることもしばしば。。バグを再現して確認できるようになると、ステータスは「未確認」から「確認済」に変更されます。
バグを開発者に割り当てる
バグが確認されると、そのバグに対し1から5の範囲で優先度を割り当てます。1が最も高い優先度となっています。この時点では、エンジニアの裁量により、すぐに取り掛かるか、後に回せるかが判断されます。エンジニアが作業に取りかかれる場合は、そのバグを自分自身に割り当てて、作業中であることを周知します。以前のバグ修正によって引き起こされたリグレッションが見つかった場合は、それを発生させる要因となった開発者にその修正が割り当てられます。
バグ修正をマスターブランチにプッシュし、ソプラノにビルドを送信する
バグが修正され、内部のテスト工程が完了すると、エンジニアはそれをマスターブランチにプッシュします。テストはほぼ毎日行われ、そのバージョンが公開される前に、ベータテスター(Vivaldiではソプラノと呼ばれます)に配布されます。この時点で、ソプラノは手動でのテストを開始することができます。
リグレッションテスト
ここでは、ソプラノと共に、システム全体をテストし、バグの修正がシステム内のどこかで問題を引き起こしていないかどうかを確認します。時には、バグを修正することで、いくつか新しいバグを引き起こしてしまうこともあります。各ビルドは、3つのプラットフォームすべてにおいて、自動的にテストされます。リグレッションを引き起こす修正が一連のスナップショットに流れ込むのを阻止するのに、リグレッションテストは役立ちます。
バグの修正を最新のスナップショットに反映
バグの修正が問題なく機能している場合は、最新のスナップショットにこの修正を適用します。スナップショットは誰でもダウンロードできます。スナップショットとは、Vivaldiのテスト版です。 こちらからスナップショットのリリースブログをフォローでき、こちらではスナップショットを使用するべきかどうかを確認することができます。
バグの修正を最新の安定版に反映
最後のステップとして、最新の安定版へと修正をプッシュします。バグの修正が公開されたら、QA(品質保証)チームはやっと足をテーブルに載せ、思慮に耽ることができます。
リリースノート
スナップショットでも安定版でも、リリースごとにリリースノートが含まれます。(普段ブログに記載している変更ログにあたります。)ここでは、どのバグとリグレッションが修正されたかを、個別のバグ報告番号により確認できます。したがって、バグレポートを送った後、いつバグが修正されたかを調べたい場合、バグ報告番号(VB番号とも呼ばれます)を追ってみて下さい。
バグレポートの却下
バグレポートは、以下の様な理由で却下されることがあります。
- レポートが古いバージョンのVivaldiで発生しているバグで、現在のビルドには存在していない場合。
- レポートに記載されている手順が明確でない、あるいは私達がバグを再現するための情報が満たされていない場合。
- バグ報告を完全に理解することができない場合。(これは多くの場合、情報の不足が原因です。)
- 報告が重複している場合。バグがすでに報告されている場合、最初に報告されたバグレポートに紐付けられてクローズされます。多くのユーザーから同一のバグに対して報告が送られてくる場合、その問題がいかに深刻かつ重大であるかを知るための鍵ともなりえます。
バグ管理システムは一般に公開されていません
私たちは、バグ管理システムを公開していません。公開してほしいという要望をたびたび受けてきましたが、これはチームにとって逆効果になると感じています。多くの報告を受けており、時間的な制約のため、各報告の解決の背景を一つ一つ詳細に説明することはできません。しかしながら、可能な限り透明性を持つよう、最善を尽くしています。
Vivaldi
Hojo
note | Twitter | Facebook | Instagram
写真はUnsplash上のFarzad Nazifiより