テストにおける欠陥とバグの違いは?

欠陥とバグの違いは何ですか?

コメント

  • testsstandards.co.uk/bs_7925-1_online.htmを読む>詳細
  • 何かが不足していると実際に言っているバグがあります。これは、バグではなく機能のリクエストであることを意味します。
  • 回答は、なぜ質問するのかという目的によって異なります。
  • 欠陥という単語の語源を調べます。 De = not、un。 Facere = do。したがって、(期待どおりに)実行しない、実行しない、壊れている、kaput。バグとは、”パフォーマンスを妨げる作業中の何か”を意味します。一日の終わりにあなたは何かを修正しなければならないでしょう、それでそれはすべて学術的です。終了することに投票しました。’修正するバグはありませんか?!

回答

  • バグはコーディングエラーの結果です

  • 欠陥は要件からの逸脱です

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


ソフトウェアテストのWikipediaページから:

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

コメント

  • どちらも”要件からの逸脱”です。
  • 欠陥は’バグである必要はありません。また、バグは’要件が満たされていないことを意味する必要はないため、’要件からの逸脱ではありません’
  • ポイント@Martinが欠落しているようです。はい、バグは欠陥である可能性があります。はい、欠陥はバグである可能性があります。しかし、それは必ずしも常に正しいとは限りません。’重複があるからといって、’が同一であるとは限りません。バグのベン図&欠陥-> (())
  • @Dan McGrath:基本的に、ここで行ったことは、バグの独自の定義です。ただし、一般に、’定義された意味はありません。’は単なる専門用語です!
  • @DanMcGrath :あなたのベン図は役に立たない。 ({})または({)} のいずれかを意味する場合があります。 2番目の意味だと思います。

回答

本からIleneBurnsteinを引用 実用的なソフトウェアテスト (推奨)「IEEE標準」の定義から離れた人「ソフトウェアエンジニアリングのコレクション」(1994)および「ソフトウェアエンジニアリング用語のIEEE標準用語集」(標準610.12、1990):

エラー

エラーとは、ソフトウェア開発者のミス、誤解、誤解です。

開発者のカテゴリには、ソフトウェアエンジニア、プログラマー、アナリスト、テスターが含まれます。たとえば、開発者が設計表記を誤解したり、プログラマーが変数名を誤って入力したりする可能性があります。

障害(欠陥)

エラーの結果として、ソフトウェアに障害(欠陥)が発生します。これはソフトウェアの異常であり、仕様に従わずに正しく動作しない可能性があります。

障害または欠陥は「バグ」と呼ばれることもあります。後者の用語を使用すると、障害がソフトウェアの品質に与える影響が簡単になります。 「欠陥」という用語の使用は、要件や設計ドキュメントなどのソフトウェアアーティファクトにも関連しています。これらのアーティファクトで発生する欠陥もエラーが原因であり、通常はレビュープロセスで検出されます。

障害

障害とは、ソフトウェアシステムまたはコンポーネントが、指定されたパフォーマンス要件内で必要な機能を実行できないことです。

ソフトウェアコンポーネントまたはシステムの実行中、テスター、開発者、または、ユーザーは、期待した結果が得られないことに気づきます。場合によっては、特定のタイプの誤動作は、特定のタイプの障害が存在することを示します。不正行為の種類は、障害の症状であると言えます。経験豊富な開発者/テスターは、障害/症状/障害のケース(第3章で説明されている障害モデル)の知識ベースをメモリに保存します。誤った動作には、出力変数の誤った値の生成、デバイス側の誤った応答、または画面上の誤った画像が含まれる可能性があります。開発中、障害は通常テスターによって観察され、障害は開発者によって特定および修復されます。

Googleブックスの章全体を読むことができます。 ここ

回答

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

  • エラー:人間の行動または不作為その結果、障害が発生します。

  • 障害:障害はソフトウェアです障害の原因となる欠陥(誤ったステップ、プロセス、またはデータ定義)。

  • バグ:障害と同じです。

  • 障害:ソフトウェアが指定されたパフォーマンス要件内で必要な機能を実行できないこと。

これによると、欠陥とバグの間に違いはありません。ただし、バグはソフトウェアをリリースする前に見つかったエラーであるのに対し、欠陥は顧客が見つけたエラーであると主張する人もいます。

有名な「バグが見つかった最初の実際のケース」を投稿するのは仕方がありませんでした。 “。

代替テキスト

コメント

  • 最後に、読んだ: testsstandards.co.uk/bs_7925-1_online.htm
  • その’ sどこから入手したかではありませんが、共通のソースがある可能性があります(または、これがソースである可能性があります)。
  • うん、何年も前に、バグの修正にしばらく時間を費やしました。画面の1つのセルに迷惑なちらつきがあり、意味がありませんでしたが、ようやく飛んでしまいました(これは、黒い画面に白いテキストが表示されていた時代でした。問題の場所は、常に右にある間、常に黒くなりました。編集していたので、プログラムが背後に白を置いたときにのみ気づきました。)

回答

まあ。

昔は、コンピューターの動作不良は、ネズミが配線を噛んだり、実際のバグ(生き物)が作業に侵入したりするなど、さまざまな原因で発生していました。

BUGという用語は、期待どおりに機能しないことを意味する用語として定着しています。

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

欠陥は、技術的に正しい用語の意味です。

可能な限り、BUGの代わりにDEFECTを使用すると、実際には、失敗(欠陥、ユーザー要件の理解の欠如など)を認識していることを意味します。実装では見落としていました)、より些細な「バグ」としてドレスアップする代わりに。

DEFECTを使用します。

BUGという用語は使用しないでください。そのばかげた、無関係な、歴史的な、そして些細なことです。

コメント

  • よく理解されている専門用語を使用から除外したいのはなぜですか? ‘申し訳ありません…はい、BUGは歴史的ですが、プログラマーがバグを(一般的には特定のものではなく)些細なものと見なしているのは、バグが’バグまたはその起源のために無関係と呼ばれる用語は、’不機嫌な中年になることは完全に正当化されるのではないかと心配しています。ああ、@ Danが指摘しているように、バグは欠陥ですが、欠陥は必ずしもバグではありません。’これは、この用語に価値があることをさらに示唆しています。 “バグ”は、プログラミングエラーの婉曲表現です。無意識のうちに、これは開発者が制御できない一種のグレムリンに魅了されます。これは正しくありません。これはエラーであり、これを認めることは、より専門的な行動への第一歩です。 (もちろんImho:-))
  • ええと、明らかに私は同意しません(-:私は自分のコードにあるバグ(コーディングと論理エラー)の責任者を正確に知っています。(I ‘ mは他の人のコードの失敗も特定できます’。)私が知っているすべてのプログラマーは、この用語の意味を明確にしています。ある種のグレムリンではなく、間違いを犯したプログラマーもいます。
  • 顧客に対応するときは、これらをバグまたは欠陥と呼ぶことができます。バグは専門用語です。欠陥は専門用語の外での承認です。 “欠陥”は、明確なコミュニケーションを促進する用語であり、プログラミングの仲間の外でも同様です。中のように。(バグと欠陥の間に違いがあることにも同意しません。)
  • 欠陥は適切な用語です。バグが含まれているプログラムがいくつリリースされていますか?しかし、欠陥のあるプログラムはいくつリリースされていますか? ‘この用語は重大度が高いことを意味し、’はエラーに対する私たち自身の責任であることがわかっているため、これを受け入れません。天気や時刻のせいにすることができるバグよりも。

回答

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

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


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


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


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


障害の定義が最も適切だと思います。要件、設計、実装、テストケース/手順のいずれであっても、すべてが間違いから始まります。この間違いがソフトウェアに現れた場合、それは障害になります。障害は、1つまたはソフトウェアの障害が増えています。

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

回答

ダンマクグラスの回答は正解でした。

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

例でわかりやすくなるかもしれません。

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

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

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

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

p / s:開発者から立場(私はかつて)、欠陥とバグの両方が同じように重要です。私たちはまだそれを修正します。

私たちはバグに分類した奇妙な異常にさえ遭遇し、私たちは継続的に何を理解しようとしています原因とそれを修正する方法です。バグと呼んでも、欠陥に比べて些細なことではありません。

コメント

  • 欠陥のある要件とは何ですか?
  • @ gnasher729要件に誤りがある場合、プログラマーが要件を誤解していることを意味する場合は、’に欠陥があると思います。しかし、ユーザーが間違った要件を提供して最終的な作業を行っても最初の問題が解決されないため、誤った要件を意味する場合、これは開発ではなく要件収集セッションの問題であるため、バグや欠陥を超えています。

回答

これは、ISTQBの語彙に基づいて、雇用主のQ-LEAPに対して以前に行ったものです。 IEEEの語彙。楽しい。

バグと欠陥?これについて無限の議論をすることができても同じです。他にも心配なことがあります。人生はすでに十分に複雑です。

ここに画像の説明を入力してください

「Googleがソフトウェアをテストする方法」からこの用語が実際にどのように使用されているかp。 113.「IEEEソフトウェア」の記事を開くと、同じように使用されます。実際、実際に「欠陥」という言葉に遭遇することはめったにありません。

バグの寿命

バグとバグレポートは、すべてのテスターが理解する1つのアーティファクトです。バグの発見、バグのトリアージ、バグの修正、バグの回帰は、ソフトウェアの品質。これはGoogleで最も一般的なテストの一部ですが、標準からの興味深い逸脱がいくつかあります。このセクションでは、作業項目を追跡するために提出されたバグを無視し、この用語を使用して識別します。実際に壊れたコード。そのため、バグはエンジニアリングチームの時間ごとおよび日々のワークフローを表すことがよくあります。

バグが発生します。バグはGoogleの全員によって発見され、提出されます。製品マネージャーは、仕様や考え方が異なる初期ビルドで問題を見つけたときにバグを報告します。開発者は、誤って問題をチェックインしたり、見つけたりしたときにバグを報告します。コードベースのどこかで、またはGoogle製品のドッグフーディング中に問題が発生しました。バグは、クラウドソーシングのテスター、外部ベンダーのテストからもフィールドから発生し、製品固有のGoogleグループを監視するコミュニティマネージャーによって提出されます。アプリの多くの内部バージョンには、Googleマップのように、バグを報告するための簡単なワンクリックの方法もあります。また、ソフトウェアプログラムがAPIを介してバグを作成することもあります。

回答

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

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

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

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

回答

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

システム障害は、提供されたサービスがシステム機能の実行から逸脱した場合に発生します。後者はシステムの目的です。 エラーは、システム状態の一部であり、その後の障害につながる可能性があります。サービスに影響するエラーは兆候です。障害が発生した、または発生したこと。エラーの判断または想定される原因は、障害です。

欠陥を障害の単なる別名として理解しています。

バグは紛らわしく、障害または障害を表す場合があります。コンテキスト。

仕様については言及されていないことに注意してください。仕様でさえ欠陥がある可能性があります。

回答

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

現在の環境では、「欠陥」とはJiraのすべてのアイテムです。 Jira自体が「問題」という用語を使用しているようです。以前のシステムから継承した可能性があります。「バグ」は、何かが期待どおりに機能せず、ドキュメントに記載されている場合の問題の一種です。 何かが期待どおりに機能しているが、改善が望まれる場合の「機能要求」(それは明白で重要な場合がありますが、現在の動作が説明されている場合は、それでも機能要求です)。 他にも種類はありますが、開発チーム以外の人が質問するために使用します。

問題の種類の名前を選ぶ場合、「バグ」と「欠陥」は私と同じように聞こえます。 それらの違いは文体です。 英語は私の母国語ではないので、私はそれの多くを実際に見ることができず、私が見ているものが正しいかどうかわかりません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です