defect management process
欠陥管理プロセスの概要:
より焦点を絞ったプロセスとテストにより、市場でのバグの少ないソフトウェアが可能になります。
欠陥防止 欠陥の数を減らすのにはるかに効率的かつ効果的であり、ソフトウェアプロセスの初期段階で見つかった欠陥を修正するのにも非常に費用効果があります。ほとんどの組織が実施しています 欠陥発見 、 欠陥の除去 その後 プロセス改善 総称して 欠陥管理プロセス 。
UNIXコマンドインタビューの質問と回答pdf
学習内容:
欠陥管理プロセス(DMP)の目標
このプロセスのさまざまな目標を以下に示します。
- 欠陥を防ぐ
- 早期発見
- 影響を最小限に抑える
- 欠陥の解決
- プロセス改善
欠陥管理プロセスを検討する前に、まず理解しましょう 実際の欠陥やバグは何ですか?
欠陥管理のライフサイクル
システムが実際のビジネス要件以外の異なる出力を提供する場合、つまり実際のまたは元のビジネス要件から逸脱している場合、システム/ソフトウェアに欠陥があると言えます。
テストチームがテストケースを実行すると、実際のテスト結果が期待される結果と異なる状況に遭遇します。このバリエーションは、 欠陥 。
基本的に、ソフトウェアの欠陥は、ソフトウェア要件を満たさない状態です。欠陥は、システムに予期しないまたは誤った動作を引き起こすエラーまたは欠陥です。
プロジェクトを適切に処理するには、開発とリリースの処理方法を知っている必要がありますが、それに加えて、欠陥の処理方法も知っている必要があります。
テストチームが欠陥を口頭で報告し、開発チームも欠陥のステータスを口頭で更新するとどうなるか想像してみてください。これらの欠陥には、実際に修正されて期待どおりに機能する、修正されたがまだ機能していない、拒否された、延期されたなどのすべての欠陥が含まれ、プロセスが続行されるため、プロセスはより複雑になります。
上記の場合、欠陥の数が増え、口頭でコミュニケーションが行われるため、状況はすぐに最悪になります。 欠陥を効果的に制御および処理するには、適切な欠陥ライフサイクルが必要です。
欠陥ライフサイクルは、プロセスが均一で標準化されていることを保証します。欠陥は、ライフサイクルのさまざまな状態になります。欠陥が発見された後、それはその寿命の間にさまざまな段階を経て、それは一般的にとして知られています 欠陥のライフサイクル 。
通常、欠陥のライフサイクルは、テストチームが欠陥を発見または提起した段階から始まり、再現性がないことを確認するか、開発チームが欠陥を拒否したことにより、欠陥が閉じられたときに終了します。欠陥が発生する状態の数は、プロジェクトごとに異なります。
参考文献:
注意: 以下のサイクルは、組織ごとにわずかに異なります。
以下の欠陥ライフサイクルは、考えられるすべてのステータスをカバーしています。
- テストチームがアプリケーションに欠陥を見つけると、「」というステータスで欠陥を提起します。 新着 」。
- 新しい欠陥がQAリードによってレビューされ、欠陥が有効である場合、欠陥のステータスは「 開いた 」と、開発チームに割り当てる準備ができています。
- QAリードが欠陥を対応する開発者に割り当てると、欠陥のステータスは「 割り当て済み 」。開発者は、この段階で欠陥の分析と修正を開始する必要があります。
- 開発者が欠陥が本物または有効ではないと感じた場合、開発者は欠陥を拒否します。欠陥のステータスは「 拒否されました 」とテストチームに割り当てられました。
- ログに記録された欠陥が2回繰り返されるか、報告された両方の欠陥の結果と再現手順が類似している場合、1つの欠陥ステータスが「 複製 」。
- 特定の欠陥を修正するために現在のリリースにいくつかの問題またはハードルがある場合、その欠陥は現在のリリースではなく次のリリースで取得され、「 延期 」または「 延期 」。
- 開発者がテストチームによる「再現手順」に記載されている手順で欠陥を再現できない場合、開発者は欠陥に「 再現性がありません」 。この段階で、テストチームは開発者に詳細な再現手順を提供する必要があります。
- 開発者が欠陥を再現するためにQAによって提供される再現手順について明確でない場合、開発者はそれを「 詳細情報が必要 」。この場合、テストチームは、開発チームに必要な詳細を提供する必要があります。
- 欠陥がすでにわかっていて、現在実稼働環境に存在する場合、その欠陥は「 既知の欠陥 」。
- 開発者が必要な変更を加えると、欠陥は「 修繕 」。
- 開発者は欠陥をテストチームに渡して確認するため、開発者はステータスを「 再テストの準備ができました 」。
- 欠陥にそれ以上の問題がなく、適切に検証されている場合、テスターは欠陥を「 閉まっている 」。
- テスターが欠陥を再テストしているときに、欠陥がまだ再現可能であるか部分的に修正されていることがわかった場合、欠陥は「 再開 」。ここで、開発者はこの欠陥をもう一度調べる必要があります。
適切に計画および制御された欠陥ライフサイクルは、リリースまたはすべてのリリースで検出された欠陥の総数を示します。この標準化されたプロセスにより、コードの記述方法、テストの適切な実行方法、欠陥またはソフトウェアのリリース方法などが明確に示されます。これにより、テストで欠陥を見つけることにより、本番環境での欠陥の数を減らすことができます。フェーズ自体。
欠陥管理プロセス
ルーターでネットワークキーを見つける方法
欠陥管理プロセスについては、以下で詳しく説明します。
#1)欠陥防止:
欠陥防止 は、後の段階で欠陥を見つけて修正するのではなく、テストの早い段階で欠陥を排除するための最良の方法です。この方法は、テストの初期段階で見つかった欠陥を修正するために必要なコストが非常に低いため、費用対効果も高くなります。
ただし、すべての欠陥を取り除くことはできませんが、少なくとも欠陥の影響とそれを修正するためのコストを最小限に抑えることができます。
欠陥防止に関連する主な手順は次のとおりです。
- 重大なリスクを特定する :テスト中または後の段階で発生した場合に、より大きな影響を与えるシステムの重大なリスクを特定します。
- 予想される影響を見積もる :重大なリスクごとに、リスクが実際に発生した場合の経済的影響を計算します。
- 予想される影響を最小限に抑える :すべての重大なリスクを特定したら、発生した場合にシステムに害を及ぼす可能性のある最上位のリスクを取り上げ、リスクを最小化または排除するようにしてください。排除できないリスクについては、発生の可能性とその経済的影響を低減します。
#2)成果物のベースライン:
成果物(システム、製品、またはドキュメント)が事前定義されたマイルストーンに達すると、成果物がベースラインであると言えます。このプロセスでは、製品または成果物が1つのステージから別のステージに移動し、成果物が1つのステージから別のステージに移動すると、システムの既存の欠陥も次のマイルストーンまたはステージに持ち越されます。
例えば、 コーディング、単体テスト、そしてシステムテストのシナリオを考えてみましょう。開発者がコーディングと単体テストを実行する場合、システムテストはテストチームによって実行されます。ここで、コーディングと単体テストは1つのマイルストーンであり、システムテストは別のマイルストーンです。
したがって、単体テスト中に開発者が問題を見つけた場合、マイルストーンの期限に間に合う前にこれらの問題が特定されるため、欠陥とは呼ばれません。コーディングと単体テストが完了すると、開発者はシステムテストのためにコードを引き渡し、コードは次のようになります。 「ベースライン」 そして次のマイルストーンの準備ができています。ここでは、この場合は「システムテスト」です。
現在、テスト中に問題が特定された場合、それは以前のマイルストーン、つまりコーディングと単体テストの完了後に特定されたため、欠陥と呼ばれます。
基本的に、成果物の変更が確定し、考えられるすべての欠陥が特定されて修正されると、成果物はベースライン化されます。次に、同じ成果物が、それに取り組む次のグループに渡されます。
#3)欠陥の発見:
システムからすべての欠陥を取り除き、システムを欠陥のないものにすることはほとんど不可能です。ただし、プロジェクトのコストが高くなる前に、欠陥を早期に特定できます。発見された欠陥は、正式に開発チームに通知され、分析の結果、欠陥開発チームも欠陥として受け入れたことを意味していると言えます。
欠陥発見に関連する手順は次のとおりです。
- 欠陥を見つける :システムにとって大きな問題になる前に、欠陥を特定します。
- 欠陥を報告する :テストチームが欠陥を見つけたらすぐに、分析と修正が必要な問題が特定されていることを開発チームに認識させる責任があります。
- 欠陥を認める :テストチームが欠陥を開発チームに割り当てたら、開発チームは欠陥を確認し、それが有効な欠陥である場合はさらに修正を続ける責任があります。
#4)欠陥の解決:
上記のプロセスで、テストチームは欠陥を特定し、開発チームに報告しました。ここで、開発チームは欠陥の解決に進む必要があります。
欠陥解決に関連する手順は次のとおりです。
- リスクを優先する :開発チームは欠陥を分析し、欠陥の修正に優先順位を付けます。欠陥がシステムにより大きな影響を与える場合、欠陥の修正を優先します。
- 欠陥を修正する :優先度に基づいて、開発チームが欠陥を修正し、優先度の高い欠陥が最初に解決され、優先度の低い欠陥が最後に修正されます。
- 決議を報告する :開発チームの責任は、欠陥がいつ修正されるか、および欠陥がどのように修正されたかをテストチームが認識できるようにすることです。つまり、構成ファイルの1つを変更するか、コードを変更します。これは、テストチームが欠陥の原因を理解するのに役立ちます。
#5)プロセスの改善:
欠陥解決プロセスでは、欠陥に優先順位が付けられて修正されますが、プロセスの観点からは、優先順位の低い欠陥が重要でなく、システムに大きな影響を与えないという意味ではありません。プロセス改善の観点から、識別されたすべての欠陥は重大な欠陥と同じです。
これらの小さな欠陥でさえ、プロセスを改善し、将来システム障害に影響を与える可能性のある欠陥の発生を防ぐ方法を学ぶ機会を与えてくれます。システムへの影響が少ない欠陥を特定することは大したことではないかもしれませんが、システム自体にそのような欠陥が発生することは大したことです。
プロセスを改善するために、プロジェクトの全員が振り返って、欠陥が発生した場所を確認する必要があります。これに基づいて、検証プロセス、ベースラインドキュメント、レビュープロセスに変更を加えることができます。これにより、プロセスの早い段階で、より安価な欠陥を見つけることができます。
結論
欠陥管理プロセスは、特定のテストまたは開発活動だけでなく、ソフトウェア開発プロセス全体で従う必要があります。
テストフェーズで欠陥が見つかった場合、このフェーズで欠陥が検出された場合、システムに存在し、システム障害が発生してまだ発見されていない場合にシステム障害を引き起こす可能性のある他の欠陥についてはどうでしょうか。
したがって、レビュープロセス、静的テスト、検査などのすべてのプロセスを強化する必要があり、プロジェクトの全員がプロセスに真剣に取り組み、必要に応じて貢献する必要があります。組織の上級管理職も、欠陥管理プロセスを理解し、サポートする必要があります。
テストアプローチ、レビュープロセスなどは、プロジェクトの目的または組織プロセスに基づいて選択する必要があります。
欠陥管理プロセスに関するこの有益な記事があなたに計り知れない助けになることを願っています。