カオスエンジニアリング
Chaos Engineering
かおすえんじにありんぐ
本番システムに意図的に障害を注入し、システムの耐障害性を検証するプラクティス。Netflixが提唱したChaos Monkeyが有名。定常状態の仮説を立て、実験を行い、差異を観測して改善に繋げる。分散システムの信頼性向上に活用される。
Related
他の資格での定義
本番環境やそれに近い環境で意図的に障害を発生させ、システムが耐えられるかを検証して弱点を前もって見つけ、改善する手法。サーバの停止やネットワークの遅延などを計画的に起こし、障害に強いシステムを目指す。
本番に近い環境で意図的に障害を起こし、システムが耐えられるかを検証する取組み。想定外の弱点を稼働前に見つける。
本番システムに意図的に障害を注入し、システムの耐障害性を検証するプラクティス。Netflixが提唱したChaos Monkeyが有名。定常状態の仮説を立て、実験を行い、差異を観測して改善に繋げる。分散システムの信頼性向上に活用される。
本番環境やそれに近い環境で、サーバの停止や通信の遅延などの障害を意図的に発生させ、システムが耐えられるかを実験で確かめる手法。想定外の弱点を事前に見つけて回復力(レジリエンス)を高める。NetflixのChaos Monkeyが知られる。
Past Exams
過去問での出題
過去問で 2 回出題(応用情報技術者試験 1・情報処理安全確保支援士試験 1)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
個別にテスト済みのソフトウェアユニットを統合し、ユニット間のインタフェースや連携が正しく動作するかを検証するテスト。トップダウンテスト、ボトムアップテストなどの統合戦略がある。
プログラムを実行せずにソースコードを解析し、潜在的なバグ、セキュリティ脆弱性、コーディング規約違反などを検出する手法。バッファオーバーフロー、未初期化変数、メモリリークなどの問題を早期に発見できる。
ソフトウェアに対して予期しない入力データ(ファズ)を大量に送り込み、異常動作やセキュリティ上の脆弱性を発見するテスト手法。自動化ツールを用いてランダムまたは半構造的なデータを生成し、クラッシュやメモリリークを検出する。
下位モジュールから上位モジュールへ順にテストを統合していく手法。テスト対象の上位モジュールはドライバで代替する。個々のモジュールの動作を確実に検証でき、並行してテストを進められる利点がある。
ソフトウェアの変更(バグ修正、機能追加等)により、既存の機能に悪影響が出ていないかを確認するためのテスト。変更箇所だけでなく、関連する既存機能のテストを再実行する。自動化が重要であり、CI/CDパイプラインに組み込まれる。
システムの応答時間、スループット、リソース使用率などが要件を満たしているかを検証するテスト。負荷テスト、ストレステストを含む。非機能要件テストの一つで、システム検証テストの段階で実施される。
