テストにおける不具合とバグの違い?

不具合とバグの違いは何ですか?

質問へのコメント (4)
ソリューション
  • バグとはコーディングミスの結果である**。

不具合とは、要件からの逸脱である

ということです。欠陥とは、必ずしもコードにバグがあることを意味しない、ソフトウェアの要件で定義されているのに実装されていない機能である可能性もある。


Wikipediaのソフトウェアテストのページより。

すべてのソフトウェアの欠陥は、コーディングエラーによって引き起こされるわけではありません。高価な欠陥の一般的な原因の1つは、要件ギャップ、例えば、プログラム設計者による省略のエラーに起因する認識されていない要件によって引き起こされる[14]。要件ギャップの一般的な原因は、テスト容易性、拡張性、保守性、ユーザビリティ、パフォーマンス、セキュリティなどの非機能的な要件である。

解説 (8)

書籍Practical Software Testing(推奨)からIlene Burnstein氏を引用し、quot;IEEE Standards Collection for Software Engineering" (1994) とquot;IEEE Standard Glossary of Software Engineering Terminology" (standard 610.12, 1990) における定義の一部を引用しています。

エラー

エラー

エラーとは、間違いや誤解のことです。 ソフトウェア開発者の側での誤り、誤解、または誤解のことです。 ソフトウェア開発者

開発者というカテゴリには ソフトウェアエンジニアも含まれます。 プログラマ、アナリスト、テスターなどが含まれます。 例えば、開発者は以下のようなことがあります。 デザイン表記を誤解していたり プログラマが変数名を間違えて入力したり。 gt;名前を間違えてしまう。

Faults (Defects)

故障(不具合)は、次のような形でソフトウェアに侵入します。

エラーの結果、ソフトウェアに侵入したものです。 エラーとなります。それは、ソフトウェアの異常です。 ソフトウェアに生じた異常のことです。 ソフトウェアの異常のことで、ソフトウェアがその仕様に従わない、不正な動作をする原因となります。 仕様に従わない動作の原因となるソフトウェアの異常のことです。

不具合や故障は、次のように呼ばれることもあります。 バグと呼ばれることもあります。後者の用語を使用すると、以下のように矮小化されます。 欠陥がソフトウェア品質に与える影響 ソフトウェアの品質に与える影響を矮小化してしまいます。不具合という言葉を使うことで 不具合」という言葉の使用は、次のようなことにも関連しています。 ソフトウェアの成果物である 要件定義書や設計書などのソフトウェア成果物にも使われます。 これらの成果物に発生する不具合は、エラーに起因するものでもあり、また、そのような不具合は、ソフトウェアの品質にも影響します。 これらの成果物に発生する不具合も、エラーに起因するものであり、通常、レビューで発見されます。 通常、レビューで検出されます。 プロセスで発見されます。

Failures

障害とは、ソフトウェアシステムやコンポーネントが、以下のような障害を起こすことです。 ソフトウェアシステムやコンポーネントが 要求された機能を、要求された性能の範囲内で実行できないことです。 要求された性能を発揮できないことです。

ソフトウェアの実行中に コンポーネントやシステムの実行中に、テスターが、そのコンポーネントやシステムが、要求された性能を満たしているかどうかを観察します。 開発者またはユーザが、ソフトウェアの実行中に、そのソフトウェアが期待された結果を出していないことを確認すること。 gt; 期待された結果が得られない。 ということがあります。 ある種の動作不良は、ある種の故障を意味します。 ということです。と言うことができます。 誤操作の種類は、欠陥の症状である。 と言うことができます。経験豊富な 開発者/テスターは、以下のような知識を持っています。 故障/症状/故障事例の知識ベース 第3章で説明する故障モデル)を記憶しています。 を記憶しています。誤った 動作には、以下のようなものがあります。 出力変数が正しくない値である。 デバイスの応答が正しくない。 デバイスの応答が正しくない、画面上の画像が正しくない、などです。 画面上に誤った画像が表示されることです。開発時の不具合 開発中の不具合は、通常、テスターによって観察されます。 不具合は、開発者によって発見され、修復されます。 gt;開発者が故障を発見し、修理します。

この章の全文は、Googleブックスの[こちら]で読むことができます2

解説 (0)

ソフトウェアのバグに関連するいくつかの異なる用語があります。私が受講した講座からの抜粋です。

  • エラー**。不具合を引き起こす人間の行為または不作為。

  • フォルト。故障とは、ソフトウェアの欠陥(ステップ、プロセス、データ定義が正しくない)であり、故障の原因となる。

  • Bug:Faultと同じ。

  • 故障。ソフトウェアが、指定された性能要件内で必要な機能を果たすことができないこと。

これによると、欠陥とバグに違いはない。しかし、バグとはソフトウェアをリリースする前に発見されるエラーであり、欠陥とは顧客が発見するものであるとする意見もある。

有名な「初めてバグが発見された事例」を載せずにはいられませんでした。

解説 (3)

ソフトウェアテストとソフトウェア品質のためのソフトウェアエンジニアリング知識体系KAで引用されているソフトウェアエンジニアリング用語のIEEE標準用語集から:

バグ。 参照:エラー。障害。

---。

エラー。 (1)計算、観察、または測定された差。 値または条件、および真、指定、または理論的に正しい。 値または条件。 たとえば、a間の30メートルの差。 計算された結果と正しい結果。 (2)誤ったステップ。 プロセス、またはデータの定義。 たとえば、誤った指示が入力されます。 コンピュータプログラム。 (3)誤った結果。 たとえば、計算済みです。 正しい結果が10の場合の12の結果。 (4)人間の行動。 誤った結果を生成します。 たとえば、の誤ったアクション。 プログラマーまたはオペレーターの一部。 注:4つの定義はすべてですが。 一般的に使用される1つの区別は、単語に定義1を割り当てます。 「エラー」、定義2から単語「障害」、定義3から単語。 「失敗」、および定義4から「間違い」という単語。” a2so:ダイナミックを参照してください。 エラー;致命的なエラー;固有のエラー;セマンティックエラー;構文エラー;。 静的エラー;一時的なエラー。

---。

失敗。 システムまたはコンポーネントがそれを実行できないこと。 指定されたパフォーマンス要件内で必要な機能。 注: フォールトトレランスの規律は、人間の行動を区別します(a。 間違い)、その症状(ハードウェアまたはソフトウェアの障害)、結果。 障害(障害)、および結果の量。 正しくありません(エラー)。 参照:クラッシュ;依存障害;例外;。 故障モード;故障率;ハード障害;初期の故障;。 独立した失敗;ランダムな失敗;ソフトな失敗;行き詰まった失敗。

---。

障害。 (1)ハードウェアデバイスまたはコンポーネントの欠陥。たとえば、a。 短絡または壊れたワイヤー。 (2)誤ったステップ、プロセス、またはデータ。 コンピュータプログラムの定義。 注:この定義が使用されます。 主にフォールトトレランスの規律による。 一般的な使用法では、 この意味を表すために、「エラー」および「バグ」という用語が使用されます。 参照: データ依存障害;プログラム依存障害;同等の障害; 障害マスキング;断続的な障害。

---。

失敗の定義が最も重要だと思います。 要件、設計、実装、またはテストケース/手順のいずれであっても、すべてが間違いから始まります。 この間違いがソフトウェアで明らかになった場合、それは障害になります。 障害は、ソフトウェアの1つ以上の障害の存在によって引き起こされます。

ただし、エラーの正式な定義には熱心ではありません。 私はdukeofgamingの回答で提供されている定義を非常に好みますが、この回答の1つは、IEEEの標準エラーの定義です。

解説 (0)

まあ。

昔、コンピュータの操作の不良は、あらゆる種類の原因によって引き起こされました-配線を噛んでいるネズミや、実際のバグ(クリッター)が作業に参加することを含みます。

BUGという用語は、期待どおりに機能しないものを意味する用語として立ち往生しています。

BUGは、欠陥を意味する専門用語と考える必要があります。

欠陥は技術的に正しい用語であり、本来あるべきことを行わないことを意味します。

可能な限り、BUGの代わりにDEFECTを使用すると、より ⁇ 細なサウンドの「バグ」としてドレスアップするのではなく、障害(欠陥、ユーザー要件の理解の欠如、または実装で見落としたもの)を認めるという意味合いが実際に伴います。 。

DEFECTを使用します。

BUGという用語を使用しないようにしてください。そのばかげた、無関係な、歴史的、そして ⁇ 細なこと。

解説 (5)

ダンマクグラスの答えはそれを正しく釘付けにした。

-バグはコーディングエラーの結果です。 -欠陥は要件からの逸脱です。

多分例はそれをより明確にするでしょう。

例:クライアントは、Webフォームがウィンドウを保存して閉じられるようにしたいと考えていました。

シナリオ#1:Webフォームには保存ボタンと別の閉じるボタンがあります。 結果:クライアントがウィンドウを保存して閉じる1ボタンを求めていたため、欠陥があります。 開発者は誤解し、別々に作成しました。 両方のボタンが要件を実行したため、バグではなく、クライアントの要件を満たしていないため欠陥です。

シナリオ#2:Webフォームには保存と保存があります。閉じるボタンですが、保存するだけで閉じません。 結果:バグ。 ボタンは必須/期待どおりに機能しないためです。 開発者は、その結果を生成すると想定されていることを知っていますが、最終的には生成しませんでした。 (おそらくコーディングエラー)。

これが明確になるかどうかはわかりません。

p / s:開発者の立場(私はかつて)から、欠陥とバグの両方も同様に重要です。 まだ修正します。

バグの下に分類した奇妙な異常に遭遇し、原因と修正方法を継続的に把握しようとしています。 バグを終了しても、欠陥と比較して簡単ではありません。

解説 (2)

違いは、「バグ」という用語が魔法のように聞こえることです。 プログラミングが完了した後、プログラムがランダムにバグを抱えている可能性があるかのように。 ランダムなバグがある場合は、仕様に準拠しておらず、プログラムにエラーがあることを意味します。

欠陥とは、プログラムが仕様に準拠していないエラーを意味します。 これはより深刻で、基本的には、「任意の」エラーはプログラムの「大きな」問題であり、これはプログラムがリリースするのに適していないことを意味します。

違いは、用語を使用するプログラマーの態度にあります。 バグがリリースされたプログラムは何百万もあり、バグは魔法でランダムであり、すべてのプログラムに少なくとも1つのバグが含まれていることを何らかの理由で受け入れているため、人々はそれで大丈夫です。 ただし、「欠陥」という用語を使用するプログラマーは、この用語がより重大度を意味するため、欠陥のあるプログラムをリリースすることに不快になる可能性があります。

一方の用語を他方の用語よりも優先することの影響は、毎日私たちに影響を与えます。

解説 (0)

信頼性:基本的な概念と用語によると:

システム障害は、配信されたサービスの範囲がずれている場合に発生します。 システム機能を果たし、後者はシステムとは何か。 意図した。 エラーは、システム状態のその部分です。 その後の障害につながる可能性があります:サービスに影響を与えるエラー。 障害が発生したか発生したことを示します。 判断した。 またはエラーの仮説の原因は障害です。

私は欠陥を障害の別の名前として理解しています。

バグは混乱を招き、コンテキストに応じて障害または障害を表すことができます。

仕様についての言及がないことに注意してください。仕様に欠陥がある場合があります。

解説 (0)

これは、ISTQB語 ⁇ に基づいて雇用主Q-LEAPのために以前に行ったものであり、IEEE語 ⁇ もチェックしました。 楽しい。

バグとデフェクト? これについて無限の議論をすることができますが、同じです。 他にも気になることがあるし、人生はすでに十分に複雑だなど。

ここに画像の説明を入力してください。! "How Google Tests Software" p。からの、この用語が野生で使用されている方法の例。 113。 「IEEEソフトウェア」の記事を開くと、同じように使用されます。 実際、実生活で「欠陥」という言葉に遭遇することはめったにありません。

バグの生活。 。 バグとバグのレポートは、すべてのテスターが理解できる1つのアーティファクトです。 バグ、トリアージバグ、修正バグ、および後退バグを見つけることです。 ソフトウェア品質のハートビートとワークフロー。 これは一部です。 Googleで最も一般的なテストですが、まだあります。 標準からのいくつかの興味深い逸脱。 このセクションでは無視します。 作業項目を追跡し、用語を使用するために提出されるバグ。 実際の壊れたコードを識別します。 そのため、バグはしばしばを表します。 エンジニアリングチームの時間単位および日単位のワークフロー。 。 バグが生まれました。 バグはGoogleの全員によって発見され、提出されます。 製品。 マネージャーは、初期のビルドで問題をキャッチしたときにバグをファイルします。 仕様/考えが異なります。 開発者はいつバグを提出します。 彼らは誤って問題をチェックインしたか、問題を見つけたことに気づきました。 コードベースのどこか、またはGoogle製品のドッグフード中。 バグは、外部からのクラウドソーステスターからもフィールドから入ってきます。 ベンダーのテスト、およびコミュニティマネージャーが監視して提出します。 製品固有のGoogleグループ。 アプリの多くの内部バージョンも。 Googleマップのように、バグをファイルするワンクリックですばやく作成できます。 そして、。 ソフトウェアプログラムは、APIを介してバグを作成することがあります。

解説 (0)

特定のバグ/タスク/チケット/欠陥/問題/追跡システムインスタンスの外では、これらの単語は正確な意味を持たないため、それらの違いについて議論することは無意味です。 ワークフローを決済するときは、用語を決済して説明を提供する必要があります。

私の現在の環境では、「欠陥」はジラの任意のアイテムです。 ジラ自体が「問題」という用語を使用しているようです。 以前のシステムから継承した可能性があります。 「バグ」は、期待どおりに機能せず、ドキュメントに記載されている場合の一種の問題です。 何かが期待どおりに機能しているが、強制が望まれる場合の「機能要求」(それは明白で重要な場合がありますが、現在の動作が記述されている場合でも、機能要求です)。 より多くのタイプがありますが、これら2つは開発チームの外の人々が何かから尋ねるために使用されます。

発行タイプの名前を選んでいる場合、「バグ」と「欠陥」は私と同じように聞こえます。 それらの違いはスタイルです。 英語は私の母国語ではないので、あまり見ることができず、私が見るものが正しいかどうかわかりません。

解説 (0)