IT用語帳

カオスエンジニアリング

Chaos Engineering

かおすえんじにありんぐ

本番システムに意図的に障害を注入し、システムの耐障害性を検証するプラクティス。Netflixが提唱したChaos Monkeyが有名。定常状態の仮説を立て、実験を行い、差異を観測して改善に繋げる。分散システムの信頼性向上に活用される。
システムアーキテクチャ > 高信頼化設計

関連キーワードの用語

SA可用性

システムが必要なときに利用可能な状態にある度合い。稼働率で定量化され、99.99%(フォーナイン)のように表現する。冗長化、フェールオーバー、計画的保守などにより向上させる。

SA決定表(デシジョンテーブル)

条件の組み合わせと、それに対応する処理(アクション)を表形式で整理する技法。複雑な条件分岐をもれなく網羅的に記述でき、仕様の漏れや矛盾を発見するのに有効。テスト設計にも活用される。

SAウォッチドッグタイマ

システムの暴走を検知するためのハードウェアタイマ。正常動作中はソフトウェアが定期的にタイマをリセットし、リセットが行われない場合(暴走時)にシステムを再起動する。組込みシステムの信頼性確保に不可欠。

SAブラックボックステスト

内部構造を考慮せず、入力と出力の関係からテストケースを設計する手法。同値分割、境界値分析、デシジョンテーブル、状態遷移テストなどの技法がある。機能仕様に基づいてテストする。

SAホワイトボックステスト

プログラムの内部構造(制御フロー、データフロー)に基づいてテストケースを設計する手法。命令網羅、分岐網羅、条件網羅、パス網羅などのカバレッジ基準がある。ロジックの正確性を検証する。

SAテストカバレッジ

テストによってどの程度のプログラムコードが実行されたかを示す指標。命令網羅率(C0)、分岐網羅率(C1)、条件網羅率(C2)などがある。カバレッジ100%でも完全な品質保証にはならない点に注意が必要。