ふり返る暇なんて無いね

日々のメモ書きをつらつらと。メインブログに書くほどでもないことを流してます

故障と障害の違いがわからずに困惑してた

ふと調査ごとをしてて故障と障害ってなんか違いあるんだっけ?と疑問に思い調べてました。

JIS X 0014:1999 情報処理用語-信頼性、保守性及び可用性

いったん、JIS X 0014:1999の定義を見てみることにします。

故障は要求された機能の能力がなくなること。できごとを表す感じですかね?

故障
要求された機能を遂行する,機能単位の能力がなくなること。
備考 この定義はJIS Z 8115 : 1981と同一であるが,JIS Z 8115 : 1981には更に幾つかの備考がある。

なるほど。障害は要求された機能が実行できない異常状態らしいです。

障害
要求された機能を遂行する機能単位の能力の,縮退又は喪失を引き起こす,異常な状態。
備考 JIS Z 8115 : 1981では,予防保守又は他の計画的な作業の間に発生する場合,及び外部資源の不足のために発生する場合を除いて,要求された機能を遂行できない状態を“フォールト”と定義している

ちょっとこれだけだとよくわからないので、言及されてるJIS Z 8115を見てみましょう。

JIS Z 8115 : 2000 デイペンダビリティ(信頼性)用語

JIS Z 8115 : 1981が見つからないので今回はJIS Z 8115 : 2000を見ていきます。

これも機能を失うこと。イベントですね。故障はイベント、フォールト(障害)は状態という区別らしいです。そしてそれらを厳密に区別しないこともある。

故障
アイテムが要求機能達成能力を失うこと。

備考1.  一般に,アイテムは故障の後フォールトをもつ。
2.故障は,イベントであり,状態であるフォールトと区別される。
3.ソフトウェアを含むシステムは故障事象をもち,その要因はシステムを構成するハードウェア,ソフトウェア,及び人的要素等の個々の状態又はそれらの組み合わさった複合状態に起因した不具合及び故障によっても発生する。
4.システム故障は系全体の機能の喪失又は規定された機能水準を下回る,系の一時的機能低下,すなわち,系のサービス中断として用いる。
5.ソフトウェア故障という用語は,一般にシステム故障が発生したときの状態において使用される。
6.イベントと状態を厳密に区別しないで故障ということかある。参考  正しい理解と使用のために解説を参照する

障害にあたるフォールトを見てみると。1つ目は機能が実行できない状態。2つ目がちょっとわかりにくいですが、こちらも状態としてとっていいのかな。

フォールト
a)ある要求された機能を遂行不可能なアイテムの状態,また,その状態にあるアイテムの部分。
b)アイテムの要求機能遂行能力を失わせたり,要求機能遂行能力に支障を起こさせる原因(設計の状態)。ただし,予防保全又はその他の計画された活動にる場合,若しくは外部からの供給不良による場合は除く。

備考1.  フォールトはアイテム自体の故障の結果であるが,先行ずる故障がなくても存在することがある。
2.故障発生の過程を原因−結果の連鎖とした場合,故障の原因をフォールトとみなすこともある。フォールトは,着目しているアイテムの下位のアイテムの故障である場合もあるが,アイテム自身に内包されている場合もある。
3.ソフトウェアアイテムの場合,コンピュータシステムではプログラム全体てのプログラミング,論理構成,プログラムプロセス,チータ定義などの間違いを意味する。
4.ソフトウェアフォールトはハードウェアの故障要因と区別するときに使用する場合がある。参考  正しい理解と使用のために解説を参照する

ところで、アイテムとは、

アイテム
ディペンダビリティの対象となる,部品,構成品,デバイス,装置,機能ユニット,機器,サブシステム,システムなどの総称又はいずれか。
備考1.  アイテムは,ハードウェア,ソフトウェア,又は両方から構成される。さらに,特別な場合は,人間も含む。
2.複数のアイテム,例えば,アイテムの母集団及びサンプルは,それ自身アイテムとして考えることができる。
3.ソフトウェアアイテムとして用いる場合は,例えば,ソースコード,オブジェクトコード,ジョブ制御言語.関連文書類又はこれらの集合体を指す(SW1 参照)。
参考  IEC 60050 (191)  の対応英語 entity は除いてある(解説を参照)。

ISTQB 用語集

昔、JATQBの試験を受けたときにこの辺の単語見た気がしたので改めて用語集を見てみます。

ISTQB Glossary failure

日本語だと状態を表してるように読み取れますが、原文だとEventになってます。JISでいうところの故障と同じような概念を指してるように見えます。

故障(failure)
コンポーネントやシステムが定義された範囲内で要求する機能を実行しないこと。
An event in which a component or system does not perform a required function within specified limits.

ISTQB Glossary fault

フォールトそのものは載ってないのですが、Synonymとしてdefectがありました。ただ、JISでいうところのフォールトとは違う意味のように取れます。うーむ?

欠陥(defect)
作業成果物に存在する、要件または仕様を満たさない不備または欠点。
Synonyms: バグ(bug), フォールト(fault), 問題(problem)
An imperfection or deficiency in a work product where it does not meet its requirements or specifications.

結果

余計困惑しました。

アイテムが故障した結果、フォールト(障害)の状態になるというのが基本的な理解で、ただ、故障とフォールトは厳密に区別せずに使われることもある。そういう理解で良いのでしょうか?