23

私の会社では、次の規則が適用されます。

  • 問題を作成できるのはテスターのみです。
  • 開発者は、テスターに​​問題を作成してもらうために電子メールを送信する必要があります。
  • 開発者は、技術リードに電子メールを送信して、解決できると思われる問題について自分自身に問題を割り当ててもらいます。
  • 開発者は問題を別の開発者に割り当てることはできません (テクニカル リードに電子メールを送信する必要があります)。
  • 開発者の問題が別の開発者のコ​​ードによってブロックされている場合、開発者はバグ追跡システムの外でこの問題を解決する必要があります。
  • 自分で開いた問題を閉じることができるのは、テスターのみです。
  • 彼が問題を追跡できるように、すべての割り当てはテクニカル リードを経由する必要があります。
  • ユーザー インターフェイスに直接関係しないバグはシステムに入力されません (外部で解決する必要があります)。

どのバグ追跡フローを使用していますか? それはあなたにとってうまくいきますか?

4

10 に答える 10

32

代替テキスト

于 2010-09-15T21:08:25.533 に答える
13

バグ追跡には BugZilla を使用しており、次のようなルールがあります。

  • 誰でもバグを報告でき、小さな変更はすべてバグ追跡システムを通過する必要があります。製品の拡張である場合は、バグを拡張としてマークし、バグ追跡システムに従う必要があります。

  • 誰でもバグを他の人に割り当てることができます。つまり、バグが他の人のコードに存在する場合、問題を他の人に簡単にルーティングできます。バグを複数の場所で修正する必要がある場合があります。つまり、最初に他の人のコードに依存して修正され、その後、他の人が自分のコードを修正します。このような場合、バグは最初に作業を行う必要がある人に割り当てられ、その人はバグを再割り当てすることで適切な人に再ルーティングします。

  • 問題が複数の場所で発生し、コード ビハインドは異なるが問題が明らかに同じである場合、バグは複製され、すべての変更を個別に追跡できるようになります。

  • テクニカル リードは、特定の修正の要求に基づいてバグに優先順位を付ける責任があります。

  • テスター/QAE は、バグに重要度 (クリティカル/メジャー/マイナーなど) を割り当てる責任があります。

  • すべてのバグは、バグ追跡システムを通過します。顧客からのバグは、カスタム フラグによって個別に分類され、顧客のバグであることを示します。顧客のバグはほとんどが以前にリリースされたビルドにあり、パッチはそれらに対して作成されるため、それらは別々に保持されます。

このようにして、ソース管理システム (TFS である) と Bugzilla ですべての変更を同時に追跡し、将来必要に応じて元のコード変更/所有者に変更を追跡できるようにします。

于 2009-01-21T12:19:53.900 に答える
10

かなり複雑に聞こえます。おおまかに次のプロセスを使用しています。

  • 会社の誰もが発行チケットを開いて、それを部門に割り当てることができます。
  • すべての部門には「ディスパッチャ」があり、着信チケットの有効性をチェックして優先順位を付けます。
  • 部門の慣行に応じて、開発者はディスパッチャによって現在の開発サイクルのチケットを割り当てられるか、最も優先度の高いチケットを最初に割り当てます。
  • チケットが解決されると、それを開いた人に戻ります。この人はまた、顧客への通知など、その後に必要なすべての活動を実行します。
  • すべてのチケットは、これらのタスクを簡単にするソフトウェアシステムに保持されます。チケットを受け取ると、電子メール通知も受け取ります。

これは、開発者が問題に責任を持つことを奨励する軽量プロセスです。

これとは別に、変更要求のソースやタイプに関係なく、ソフトウェア内のすべてを変更するプロセスに対して、いくつかの品質保証措置が講じられています。これには特に次のものが含まれます。

  • すべてのコードは、ソースコード管理システムにチェックインする前に確認する必要があります。これには、必要に応じて、専門のレビュー担当者によるGUIおよびデータベースのレビューが含まれます。
  • コードをチェックインする前に、開発者自身がコードを徹底的にテストする必要があります。
  • 毎月のビルド後、同じコードに影響を与えるいくつかの変更が原因で発生する問題を防ぐために、すべての変更を再度テストする必要があります。
  • 月次ビルドは「最初の顧客フェーズ」に入り、少数の顧客システムにのみ展開されます。このフェーズで以前に検出されなかったエラーが表示されない場合、ビルドは安全であると宣言されます。
于 2009-01-21T12:30:44.500 に答える
6

ブヨ (うわー!)、Bugzilla (少しうーん)、Trac、Jira、そして今では FogBugz など、数多くの問題追跡システムを使用してきました。私は何よりも Trac が好きですが、それはおそらく、私が FogBugz の管理者ではなく、現在の化身で悲しいことにひどく悪用されているためです。

ワークフローを正しく設定することは非常に重要です。奇妙なことに、バグ トラッカーに何を入れるか、そこに入れるものにどのようにラベルを付けるかを決めるところから始まります。顧客を獲得するとすぐに、すべての開発チームが次の 3 種類の問題を実際に追跡します。

  1. 実際の顧客によって指摘された問題 (ライブ バグ)。

  2. 現在開発中の新しいソフトウェアの問題 (開発バグ)。

  3. 今後やりたいこと(特徴)。

もちろん、これら 3 つのクラスの問題には、それぞれ独自の優先順位があります。ボタンの単なるスペルミスである「ライブバグ」は、公式に発表されたリリースをブロックしたり、他の開発やテストなどを妨げたりする「開発バグ」よりもはるかに重要ではない可能性があります.

問題の重大度は、副作用がどれほど恐ろしいものであるかを表します。私の経験では、これは次のように要約されます。

  1. プログラムが何かを台無しにしています。データ、顧客への不正請求、間違った薬の調剤。これは最悪です。私はかつて、ソフトウェア コマンドがサービスマンの真ん中で油圧アームを引っ込めるシステムに取り組んだことがあります。これは最悪です。

  2. プログラムがクラッシュしており、回避策はありませんが、その間は (ダウンする以外に) 何も台無しにはなりません。ダウンタイムによって何かが台無しになった場合は、重大度 #1 を使用します。

  3. プログラムは正しく動作していませんが、実際に使用できる特定の回避策があります。

  4. プログラムは迷惑な方法で誤動作していますが、結果には影響しません。

  5. プログラムは、明確に定義された方法で改善する必要があります: 使いやすく、新しい機能を実装し、より速く実行するなど.

これらのシステムでよく発生するもう 1 つの問題は、「役割」の概念です。問題追跡システムに適用されるように、役割は要約すると、誰が実行を許可されているかということになります。問題を作成できるのは誰ですか? 誰がステータスを変更できるか、誰がステータスを別のユーザーに再割り当てできるか、誰がステータスを閉じることができるかなど。

私が緊密に協力してきた小規模から中規模のチームでは、この一般的な一連のルールがうまく機能しています。

  • 誰でも問題を作成できます。作成者は、課題の作成時に任意の (またはほとんどの) 受信者に課題を割り当てることができます。デフォルトの受信者は問題トリアージ チームです。開発者は、この方法でコードの作業中に見つけたバグをメモし、そのバグを自分自身に割り当てて、コードを変更する理由を追跡できます。

  • トリアージ チームが集まり (ここで間隔を指定)、問題を評価して割り当てます。トリアージ チームは特に重複レポートを探します。その場合、新しい問題は既存の問題チェーンに「ロールアップ」されます。再現のために QA に割り当てられた、フィールドからの再現されていない問題。お客様からの重大度の高い問題の場合。

  • バグをクローズできるのは、バグの作成者だけです。QA または CSR によって開始されたバグ レポートは、開発者がクローズすることはできません。はい、これは、CS と開発チームが同意しないバグが未解決のままであることを意味します。人々が同意していないのに、問題トラッカーが問題を解決済みとして報告するのはなぜですか? 嘘のデジタル リポジトリが必要な場合は、C-SPAN があります。

一部のチームは、ある部門から別の部門への問題の移動をマネージャーに予約したい場合があります。他のチームは、チームメンバーが問題を別のチームに移動 (または戻る) することを許可する場合があります。これは経営陣の疑念、または単に誰が作業時間を割り当てることが許可されているかという問題に帰結する可能性があります。

トリアージプロセスが鍵です。トリアージ チームは基本的に、組織内で誰が何に取り組み、次に何に取り組むかを決定する人です。チームが定期的にミーティングを行うことで、本当に重要なことを見逃したり、不注意によって平凡なことを忘れたりしないようにすることができます。Triage キューに何もない場合、会議 (concall、netmeeting、実装が何であれ) は、会議のリーダーによってキャンセルされる可能性があります。

スクラムを使用している場合、トリアージ チームはおそらくスクラム マスターであり、問​​題が現在のスプリントに取り込まれるかどうかを決定し、バックログに入る場合は適切に優先順位を割り当てます。

于 2011-07-28T18:44:25.933 に答える
2

バグレポートと機能リクエストを分離することなく、お客様も問題を作成できるはずだと思います。

問題の割り当ては開発者自身が行うべきではありません。次のリリースで修正する必要のある問題を決定するのは、顧客とマネージャーの責任です。

他の方法は、JoelSpolskyによる痛みのないバグ追跡にあります。

于 2009-01-21T12:25:36.663 に答える
2

バグのロギングは速度に関するものです - バグを調査/再現するために必要な最小限の情報です

Web プロジェクトの場合、これは次のようになります: 1) 説明的なバグのタイトル、2) エラーが発生したページ、3) 問題の説明 + スクリーンショット、または問題を再現するための段階的な手順 (スクリーンショットの場合)提供されていません)

スクリーンショットは次の 2 つの理由で非常に強力です: 1) 写真は百聞は一見にしかず、2) バグレポートに信頼性を与えます (再現できないバグを調査して、「クライアントがまたでっちあげているように見える」と思ったことはありませんか?)

私はさらにトピックに入るブログ記事を持っています: Logging Bugs Like a Pro

于 2010-06-05T04:48:29.407 に答える
2

過去 10 年間、何もない、Word ドキュメント、FogBugz、Bugzilla、Remedy など、さまざまな種類のバグ追跡システムを使用してきました。FogBugz は群を抜いて最高のものです。その仕事では、誰でもバグを入力することができ、誰でも他の人にバグを割り当てることができました。コードに小さなバグが見つかった場合は特に、これがうまく機能することがわかりました。電子メールを書いたり、フォームに記入したり、他の何人かを巻き込んだりするのに 1 時間も費やす代わりに、バグを見つけて修正したことをすぐに記録することができました。これにより、見つけたすべてのバグを入力してすばやく修正することができました。バグに多くの作業が必要な場合は、マネージャーに割り当てて、他の作業で優先順位を付けられるようにします。
私が Bugzilla を使用していた仕事では、バグが作成、割り当て、または変更されるたびに、電子メールがすべての開発者とマネージャーに送信されました。これは逆の効果があり、システムのバグを見つけて入力することを思いとどまらせました。

于 2009-01-21T15:36:07.530 に答える
2

待って、次のように書きます。

開発者の問題が別の開発者のコ​​ードによってブロックされている場合、開発者はバグ追跡システムの外でこの問題を解決する必要があります。

そのため、通常のバグ フローから外れるバグがあります。それらのバグを追跡するための 2 つ目のシステムがありますか、それともすべてアドホックですか?

あなたのバグ追跡システムは、実際にはユーザーの欠陥を追跡するシステムのようです。

それはあなたにとってうまくいきますか、それとも代替案を検討していますか?

于 2009-01-21T12:16:50.927 に答える
1

私の小さなショップでは、非常に単純なワークフローを使用しています。

  • 誰でも問題を作成できます (これを許可しないのは不必要に制限的だと思います) これには、オープン ソース プロジェクトの顧客とユーザーが含まれます。
  • 変更管理委員会 (派手に聞こえますが、QA リードとエンジニアリングの責任者、そしてプロダクト マネージャーだけです) が新しい問題をレビューし、修正バージョンと優先度を割り当てます。
  • 誰でもバグを再割り当てして、レポーターに質問したり、別の人に修正またはテストを依頼したりできます
  • 誰でもバグを解決済みとしてマークできます
  • バグをクローズできるのは QA だけです。これは、各バグ修正の検証を強制するために行われます。

このようにして、すべてがバグ追跡システムに記録され、更新を制限しないことで効率が維持されます。この方法では、多少の「バグ スパム」が発生する可能性がありますが、私の経験では、ボトルネックを作成するよりはましです。

私たちはバグ追跡ツールとして JIRA を使用しています。JIRA であらゆる種類のカスタム ワークフローを設定して、特定のプロセスを強制することができますが、小規模な組織でそれを行う必要があるとは思いませんでした。

于 2009-01-21T18:11:02.600 に答える
0

どのバグ追跡フローを使用していますか?

  • テスターはすべてのバグをオープン状態で投稿します
  • 開発者への割り当て
  • 開発者はバグの修正を試みます - 修正済み
  • バグクローズ
  • バグのステータスを再度開く
于 2011-09-19T12:09:23.093 に答える