TST-008

レジリエンス試験計画・結果

分類:TEST実物サンプルあり

これは何か

レジリエンス試験計画・結果は、部品の故障、相手システムの停止、通信の遅延、処理の集中といった「壊れる状況」を意図的に起こし、システムが設計どおりに耐え、戻るかを確かめた計画と結果をまとめた成果物です。

性能試験(TST-005 性能試験結果報告書)が「速さ」を確かめるなら、この試験は「壊れ方」を確かめます。06-05 「絶対に止まらない」は要件になるのか で学んだとおり、止まらないことは約束できません。約束できるのは「壊れたときにこう振る舞い、これだけで戻る」です。その約束が本当かを、本番の前に壊して確かめます。

なぜ作るか

誰が使うか・いつ作るか

CASE FACTFROZEN正本に記載されたアステリア案件の事実

壊れ方に関係する記載

  • 約36本のシステム連携。連携の経路に SYS-06 システム連携基盤を通るものと、直接つなぐものがある
  • 外部サービスとして SYS-03 勤怠・工数管理SaaS(Vendor D タイムリンク)がある
  • システムに SYS-11 監視・ログ基盤 がある。Vendor B クラウドブリッジの担当範囲に クラウド基盤、ネットワーク、連携、監視 が含まれる
  • 成果物に TST-001 テスト戦略書、OPS-004 障害対応計画、OPS-008 災害復旧計画・訓練結果 がある
  • P-010 宮田 直人 — テスト・品質管理リーダー、P-011 山下 恵 — 本番移行・運用リーダー

どの部品の故障や相手の停止が試され、システムがどう振る舞ったかは、正本に記載がありません。未確定

主な項目

一般的には、次の項目で構成します。

  1. 試験の目的と範囲:どのシステム・連携を対象にするか。本番相当の環境か
  2. 壊れる状況の一覧:部品の故障(計算機、データベース、記憶領域)、相手システムの停止・遅延・誤った応答、通信の切断、処理の集中、時刻のずれ。構成図と脅威の整理から選ぶ
  3. 状況ごとの期待する振る舞い:止まらずに続くか、一部の機能だけ止まるか、安全に止まるか。利用者に何が見えるか。監視で何が検知されるか
  4. 起こし方:どうやって壊すか(部品を止める、通信を遮る、相手の模擬を遅らせる)。業務への影響を限る手段
  5. 測るもの:検知までの時間、自動で切り替わるまでの時間、人が気づくまでの時間、戻るまでの時間、失われた処理の有無
  6. 結果:状況ごとの実測と、期待との差。差の原因(設計、設定、手順、監視)
  7. 直したこと:差の原因ごとの対応と、再試験の結果
  8. 残っている弱さ:試験で明らかになったが、今は受け入れる弱さと、その理由

教材用サンプル成果物の読み方を学ぶための例

教材用サンプル — 壊れる状況と結果の表

この成果物は学習用サンプルです。FROZEN正本に記載されたCASE FACTと、成果物の読み方を学ぶための教材用サンプル値を区別して表示しています。

次の表は、計画と結果の書き方を学ぶための例です。数値・状況はすべて教材上の架空の例で、アステリア案件の記録ではありません。

状況(教材上の例) 起こし方 期待する振る舞い 測るもの
業務アプリの計算機 1 台が停止 1 台を強制停止 利用者は気づかない。残りの台で処理が続く。監視が 1 分以内に検知 検知までの時間、処理の失敗件数
工数の外部サービスが 30 分応答しない 連携の模擬で応答を止める 取り込みは止まるが、新基幹の業務は続く。再開後に取り込みが自動で追いつく 業務への影響、再開後の取り込みの遅れ
データベースの主系が停止 主系を強制停止 従系に自動で切り替わる。切り替え中の処理は再試行で成功する 切り替えまでの時間、失われた処理の有無
連携基盤への処理が通常の 5 倍に集中 負荷の道具で集中させる 受け付けを絞り、遅れても失わない。監視が警告を出す 遅れの最大、失われた処理の有無
状況(教材上の例) 結果 期待との差 原因 直したこと 再試験
計算機 1 台が停止 処理は続いた。検知に 4 分 検知が 3 分遅い 監視の間隔が 3 分 間隔を 30 秒に 検知 45 秒。合格
外部サービスが 30 分応答しない 業務は続いた。再開後の追いつきに 50 分 追いつきが遅い 再送の間隔が固定で長い 間隔を段階的に 追いつき 12 分。合格
データベースの主系が停止 切り替え 40 秒。処理が 3 件失われた 失われた処理がある 再試行が切り替え時間より短く打ち切り 再試行の回数を増やす 失われた処理 0。合格
処理が 5 倍に集中 受け付けを絞れず、連携基盤が停止 止まった 受け付けの上限が未設定 上限と待ち行列を設定 遅れ最大 8 分、失われた処理 0。合格

読み方

  1. 壊れる状況が、構成図の部品と連携から網羅的に選ばれているか(都合の良い状況だけでないか)
  2. 状況ごとに「期待する振る舞い」が先に書かれているか(結果を見てから期待を書いていないか)
  3. 測るものに「失われた処理の有無」が入っているか(止まらなくても、処理が失われれば業務は壊れる)
  4. 期待との差に原因が書かれ、直して再試験しているか
  5. 残っている弱さが書かれ、受け入れの理由があるか

書き方

  1. 構成図(ARC-007 環境・配置構成図)の単一障害点の一覧と、連携の一覧から、壊れる状況を選ぶ
  2. 状況ごとに期待する振る舞いと測るものを先に書き、関係者で合意する
  3. 本番相当の環境で、業務への影響を限りながら起こす
  4. 結果と差を記録し、原因ごとに直して再試験する
  5. 残った弱さを運用の設計と障害対応の計画に引き継ぐ

何を書いてはいけないか

どこを見るか

  1. 壊れる状況の網羅
  2. 先に書かれた期待する振る舞い
  3. 失われた処理の有無
  4. 差の原因と再試験
  5. 残っている弱さ

赤信号

  • 二重化しているはずの部品を、一度も止めて確かめたことがない
  • 相手システムの停止を試しておらず、「相手が止まったら自分も止まる」ことを本番で知る
  • 試験で見つかった差が直されず、「次の機会に」のまま稼働する
  • 稼働後に構成が変わっても、再試験が行われない

よくある失敗

関係するUnit・成果物・危機演習

AI WORKFLOW

AIは、構成図の部品と連携の一覧から、壊れる状況の候補を網羅的に挙げ、計画の抜けを探す下書きに役立ちます。

「次の部品と連携の一覧から、部品ごと・連携ごとに起こりうる壊れ方(停止、遅延、誤った応答、切断、集中)を一覧にし、添付の試験計画にすでにある状況と、ない状況を分けて示してください。期待する振る舞いの提案や、優先順位の評価はしないでください。」

REVIEW

  • AIが挙げた状況が、この構成で起こりうるか(一般論の候補をそのまま載せていないか)
  • 「ない状況」について、意図して外したのか、見落としかを人が区別したか
  • 構成の情報を AI に渡してよいか(構成情報の扱い)を事前に確かめたか

人間が判断すること

  • どの状況を試験するか、本番相当の環境でどこまで壊すか
  • 期待との差を直すか、残っている弱さとして受け入れるか
  • 試験の結果を稼働判定にどう反映するか

Go / No-Go と重大障害判断は、AIへ最終委任しない事項です(正本の方針)。

いつ使うか

この教材では STAGE 10|本当に動くことを証明する の文脈で扱います。 アステリア案件での正式な作成・使用時期(月)は正本に記載がないため、未確定としています。

最後の問い

この計画と結果を読んだ運用の担当は、「どの部品が壊れたとき、システムがどう振る舞い、どれだけで戻り、どこは戻らなかったか」を、推測ではなく試験の記録で説明できますか?

学習上の接続

教材上の学習接続です。成果物とUnitの正式な対応表はbaselineにないため、正式な関連付けとしては登録していません。

  • Stage:未確定(baselineに対応表なし)
  • 危機演習:未確定(baselineに対応表なし)
  • 人物:未確定(baselineに対応表なし)