web-dev-qa-db-ja.com

バグ追跡システムと問題追跡システムの違いは何ですか?

各システムを使用する理由と時期の説明を探していますおよびバグ追跡アプリケーションと問題追跡アプリケーションを区別する機能は何ですか。

41
Aardvark

問題追跡システム通常、顧客および顧客の問題とより統合します。問題は、「これをインストールするのを手伝ってください」または「どうすればfubarをflimflamに入れることができますか」である可能性があります。 「ソフトウェアの評価キーが必要です」のようなものである可能性もあります。

バグ追跡システムプログラムから間違ったものや不足しているものを追跡するのに役立ちます。

Webシステムを見るとき、通常、焦点には大きな違いがあり、顧客を支援するか、ソフトウェアの問題を追跡します。

45
Alan Jackson

次の例から、違いがより明確になる可能性があります。

今日、5人の顧客に影響を与えたが、単一のソフトウェアの欠陥が原因である本番環境の問題が発生したとします。

issue-追跡システムで、5つのチケットを開き、各顧客が報告した内容、顧客に通知された内容、ソフトウェアパッチが適用された時期などの追跡を開始しました。このようなものは、個別に追跡できます。各顧客。

bug-追跡システムで、ソフトウェアの欠陥に対して1つのエントリを作成し、再現手順、コード変更などの追跡を開始しました。

お客様の問題は、お客様が満足するように修正された場合はいつでもクローズできます。これには、ソフトウェアの修正が含まれる場合と含まれない場合があります。バグは修正されて再テストされたときに閉じることができます。

外向きと内向きの2つのシステムで、それぞれ独自のライフサイクルを持つ2つの異なる種類のものを追跡します。

39
azheglov

Tracのようなバグ追跡システムは、プログラムに固有の問題ごとに1つのチケットを持つように設計されています、したがって、プログラムを変更することによってチケットが閉じられます。

IssueTrackerProductのようなカスタマーサポートチケットシステムは、状況を経験している顧客ごとに1つのチケットを持つように設計されていますしたがって、チケットは、その顧客の状況を把握することによって(おそらくプログラムを変更することによって)閉じられます。

それぞれの例については、ウィキペディアの 問題追跡システムの比較 を参照してください。

11
krubo

バグは問題のサブクラスです。すべてのバグが問題ですが、すべての問題がバグであるとは限りません。

通常、バグはコードベースの欠陥です。これは、不完全な/まだ実装されていない機能、または開発者が技術的負債に対処するためにチケットを入れる、またはUIに関する懸念など、特定するのが難しい機能とは異なります。これらはすべて、意味的に言えば「問題」です。

一般的な問題は、これらの他のカテゴリに分類されない場合、多くの場合、エンドユーザーによって報告されたものの表現です。ほとんどのシステムでは、この報告された問題はそれ自体がバグレポートとして処理されます。これは間違いだと思い切って言います。

トリッキーな部分は、複数の問題が他の問題に関連している場合があることです。同じバグ、複数のバグ、または実際には機能のリクエストに関するものである可能性があります。つまり、問題間には多対多の関係が存在する可能性があります。

なぜ区別が重要なのですか?ええと、内部には自然な木があります-1つの問題を解決すると、他の100万の問題を間接的に完了する(または完了することに貢献する)ことができます。また、問題の解決方法にも違いがあります。欠陥自体は、それを修正するか、または無関係にするコード変更で解決される場合があります。ユーザーからの苦情の場合は、回避策を送信することで解決でき、元の欠陥が解決されたときにフォローアップすることができます。

これらのニュアンスを便利な方法で表現および操作するのに適した機能は、チケット追跡システムで探すべきものです。

ある時点で、実際のチケットシステムよりもプロセスと方法論について話しているので、実際の名前は無関係になり始めるはずです。メインストリームおよびエンタープライズ指向のソリューションは、ITILのような一般的なシステムで実行される傾向がありますが、チームの全員がカスタマーサービスのニーズを十分に理解していれば、アドホックなものを回避できます。私は個人的にそれを ウォーターフォール(ITIL)対アジャイル(DevOps) 状況として見ています。

10
Ape-inago

それは単なるセマンティクスです。バグは問題であり、問​​題はやるべきことです。それ以外はほとんど同じです。

5
Alister Bulman

それはせいぜいあいまいな線です。問題追跡システムは、おそらく2つのうちのより一般的なものと見なされます。すべてのバグ追跡システムは問題追跡システムですが、必ずしもその逆ではありません。

私たちの友人から ウィキペディア

バグ追跡システムは、品質保証とプログラマーが作業中に報告されたソフトウェアバグを追跡するのに役立つように設計されたソフトウェアアプリケーションです。これは一種の問題追跡システムと見なすことができます。

4
Matthew Vines

コードにバグが見つかりました

問題は、プロセス、ハードウェア、人のどこにでも見られます。

定義の意味については、採用している開発プロセスによって異なります。

4
Peter

この質問に答えるには文脈が必要であり、その見た目からアランの答えはあなたの文脈に対するものでした。

ソフトウェアテストの世界では、問題とバグを区別するものの1つは次のとおりです。バグは製品の価値を脅かすものです問題とは、テストの価値(またはプロジェクトの価値、特にテストの価値)を脅かすものです。Rapid Softwareテスト は私たちにそれを教えています。

私の経験では、追跡システムを使用すると、2つを区別することができます。特定の追跡システムをどのように使用するかはあなた次第です。

3
Chris Kenst

バグはコードで修正できるものだと思いますが、問題は使いやすさの問題です。

たとえば、ログインフォーム。ログインフォームのバグは、ログインの完了後にフォームが正しくリダイレ​​クトされないことです。問題は、全体的なログインプロセスが遅すぎること、または忘れたパスワードを電子メールで送信するオプションがないことです。

3
Soviut

これはあなたの質問に対する完全な答えではありませんが、私は顧客との取引について同様の質問をしました。最高レベルでは、バグ追跡システムは通常、開発者に焦点を当てているようです。つまり、開発者はコードの問題を追跡しようとしています。関数が正しい値を返さない、さらに検証を行う必要があるなど。

コードとうまく統合するシステムの良い例は Trac です。

問題追跡システムは、より顧客中心のようです。たとえば、「[OK]をクリックするとエラーが発生します」と顧客に言わせることができます。これは、ユーザートレーニング、機能、または実際にはバグである可能性があります。

したがって、私が取り組んできたプロジェクトの多くでは、これらを区別しています。バグ追跡システムで実際のバグが作成される場合とされない場合がある、高レベルの問題追跡システムがあります。ただし、多くのバグは、問題追跡システムで「問題」が作成されることなく、内部で追跡されます。

これら2つの間に見られる問題は、経験の浅いユーザーが技術用語に混乱するため、 Trac のようなものにチケットを入力するのは非常に簡単ではないということです。ただし、高レベルの問題追跡システムはコードと緊密に統合されていないため、開発者には役に立ちません。

とにかく...私の0.02ドル。

3
Andrew Flanagan

明確な答えはないと思いますが、私は通常、IssueTrackingを単なる「バグ」以上のものに対応するより一般的な用語と考えています。 「バグ追跡」という用語のみを使用することは、ソフトウェアの欠陥に関連する一種の鳩の穴です。

ただし、課題追跡システムをソフトウェアに関連付ける必要はありません。BugZillaでさえ、のみのバグだけでなく、新しい拡張機能や機能のリクエストも追跡しません。そういう意味では、「問題」とは、誰かが「やり遂げたい」という一つの興味のある項目だと思います。

最近、作業項目の追跡も増加しています(たとえば、 Visual Studio および IBM/Rational Jazz )。これは「問題」よりも低いレベルです。この問題は、完了するためにN個の小さな作業項目が必要であると見なすことができます。より高いレベルでは、 BugZillaMilestone に似たものが表示される場合もあります。

2
Garen

バグはソフトウェア開発者に固有のものです。問題はより一般的であり、グラフィックデザイナー、システム管理者、会社の幹部など、プロジェクトに関するすべてのチームメンバーの進捗状況が含まれる場合があります。

課題追跡システムは、やるべきことについて話し、必要に応じてアイテムをバグとして分類できます。

ほとんどはばかげた言葉ですが、プログラマーではない多くの人と仕事をしているので、「課題追跡システム」を使用します。お互いが何をしているのかを認識できる共通の生産性ツールを使用して、共通の言語を話す必要があります。 。

バグトラッカーを使用することはできますが、特に開発者が自分のタスクをバグであると考えなければならない場合は、開発者以外の人を混乱させるだけです。

バグは通常、既存のコードの問題であり、問​​題は新しい機能の要求である可能性があるため、プログラマーにとってバグと問題の違いを描くのも良いことだと思います。

1
Kekoa

ええと...問題は単なるバグ以上のものであるという事実以外に違いはありません。それは、タスク、新機能、または単に改善である可能性があります。バグは主に誤ったシステム動作と見なされますが、問題にはより広い定義があります。 「機能しない」だけではありません...

0
ReneS