このユニットの結論
大きなシステムは、完成してから一度に全体を試すのではなく、小さな部品から始めて、つなぎ目、システム全体、業務の流れへと、段階を追って確かめるものです。
段階ごとに「何を確かめる段階か」を決めておくと、問題を見つけやすく、原因も絞りやすくなります。
1. 何の話か
このユニットは、テストの段階(テストレベル)の話です。
家を建てるときに、材料、柱と梁の組み合わせ、家全体、住んでみての使い勝手を、それぞれ別の時点で確かめるのと似ています。システムのテストも、確かめる対象の大きさによって段階を分けます。
2. なぜ必要か
段階を分けずに、全部を組み上げてから試すと、
- 問題が見つかっても、どの部品のどこが原因かを絞り込めない
- 小さな部品の誤りが、全体のテストの段階まで残り、直すのに手間と時間がかかる
- つなぎ目(システムどうし・会社どうしの境目)の確認が、誰の担当か分からないまま抜ける
ということが起きます。
3. このユニットで分かること
- テストの代表的な段階と、それぞれで確かめること
- 段階ごとに決めておくこと(範囲・担当・次に進む条件)
- 段階ごとのテストで、AIに任せてよいことと人間が決めること
4. 代表的な段階
呼び方はプロジェクトや会社によって違います。ここでは一般的な分け方を示します。
| 段階 | 確かめる対象 | 主に確かめること |
|---|---|---|
| 単体テスト | 1つの部品(画面、処理、機能の単位) | その部品が、決めたとおりに動くか |
| 結合テスト | 部品と部品、システムとシステムのつなぎ目 | データが正しく受け渡されるか。相手が止まったときにどう動くか |
| 総合テスト(システムテスト) | システム全体 | 業務の流れを通して動くか。性能・安全などの非機能を満たすか |
| 受入テスト | 業務で使う立場からの全体 | 利用部門が、業務として使えると確かめられるか |
受入テストは、10-03 利用部門が確認するテストで詳しく扱います。
5. 段階ごとに決めておくこと
一般的には、テストの方針(TST-001)で、段階ごとに次を決めます。
- 範囲:その段階で何を確かめ、何を確かめないか(前後の段階との分担)
- 担当:誰がテストを作り、誰が実行し、誰が結果を確かめるか
- 環境とデータ:どの環境で、どんなデータを使うか
- 始める条件:前の段階で何が済んでいれば始めてよいか
- 次に進む条件:何を満たしたら次の段階へ進んでよいか
段階を進むほど、確かめる範囲は広がり、1つの問題の原因を探す手間も大きくなります。そのため、小さい段階で見つけられる問題は、小さい段階で見つけておくことが大切です。
CASE FACTFROZEN正本に記載されたアステリア案件の事実
アステリア案件に関係する記載
- 約1,500件の要件、約36本のシステム連携
- マルチベンダー(Vendor A〜D の4社)
- システム連携は IF-01〜IF-12 が正本に記載されている
- SYS-09 開発・CI/CD基盤(CI/CD:自動でテストし、自動で配布する仕組み)
- Vendor B / クラウドブリッジの担当範囲に CI/CD が含まれる
- P-010 宮田 直人 — テスト・品質管理リーダー
アステリア案件のテストの段階の分け方、各段階の範囲・担当・時期・次に進む条件は、正本に記載がありません。未確定
6. THINK — 部品のテストはすべて合格
各担当が作った部品の単体テストは、すべて合格しました。担当者は次のように言っています。
「自分たちの部品はすべて合格です。あとはつなげば動くはずです。」
問題
この状態で、結合テストを飛ばして、総合テストから始めてよいでしょうか。
判断例を開く
判断
飛ばすべきではありません。単体テストの合格は、「部品が、その部品の担当の考えたとおりに動く」ことの確認です。
確認すること:
- つなぎ目で受け渡すデータの形と意味を、両側の担当が同じように理解しているか
- 相手の部品やシステムが止まったとき、遅れたときに、どう動くか
- つなぎ目の確認を、どちらの担当が行うのか決まっているか
つなぎ目の問題を総合テストで初めて見つけると、原因がどちら側にあるのかを探すところから始めることになります。
7. よくある失敗
- 単体テストの合格を、全体が動くことの証拠として扱う
- つなぎ目のテストを、どの担当が行うか決めないまま進める
- 前の段階の問題が残ったまま、次の段階を始める
- 段階ごとの範囲が重なり、同じ確認を何度もする一方で、どの段階でも確かめていないことが残る
- 本番に近いデータ・環境での確認を、最後の段階まで一度もしない
8. 成果物との接続
- TST-001 テスト戦略書:段階の分け方と、段階ごとの範囲・条件を決める
- TST-002 テスト計画・対象一覧:段階ごとに、何をテストするかの一覧
- TST-003 障害管理表:どの段階で見つかった問題かを記録し、追いかける
システムどうしのつなぎ目は 07-06 36本を一覧で管理する、相手が止まったときの扱いは 07-04 相手システムが止まっていたらどうするか で学びます。危機演習 CR05 開発が2か月遅延 では、報告された状況をどう読むかを体験します(学習上の接続です。正式な対応関係ではありません)。
9. AI WORKFLOW — つなぎ目のテストの観点を洗い出させる
AIは、連携の一覧から、つなぎ目で確かめる観点の下書きを作るのに役立ちます。
指示例:
「次のシステム連携の一覧について、連携ごとに結合テストで確かめる観点(正常なデータ、項目の欠け、形式の誤り、相手の停止、遅れ、同じデータの二重送信)を表にしてください。期待する結果は空欄にしてください。」
10. REVIEW — AIの下書きを確認する
- 連携の一覧が、今の設計と合っているか
- 期待する結果を、AIが推測で書いていないか
- 観点ごとに、どちらの担当が確かめるかを人が決めたか
11. 人間が判断すること
- テストの段階の分け方と、段階ごとの範囲
- つなぎ目のテストの担当
- 前の段階の問題が残っているときに、次の段階へ進むか
12. 判断演習
あなたは、2つのシステムをつなぐ連携の結合テストを計画する担当です。
テストを始める前に、両方のシステムの担当と決めておくことを3つ挙げてください。
あなたの記録あなたの考え。事実ではありません
判断ノート
このユニットで覚えてほしいこと
テストは、部品 → つなぎ目 → 全体 → 業務の順に、段階を追って確かめます。
段階ごとに範囲・担当・次に進む条件を決め、小さい段階で見つけられる問題は、小さい段階で見つけます。