手動テストによる統合とは、異なるモジュール、サービス、または外部システム間の相互作用を自動スクリプトなしで手動で確認するプロセスです。
問題の歴史:
IT製品の初期の発展では、すべてのシステムがモノリシックに作成されましたが、会社の規模と外部サービスの数が増えるにつれて、統合テストが重要になりました。テスターは次の問いを持ちました:データとアクションがシステム間で正しく通過することをどのように確認するか—例えば、成功した支払いが請求書と会計システムの両方に反映されることです。
問題:
最大の難しさは、完全な機能を持つ環境がないことです:統合は外部サービス、間欠的なAPI、または外部の制限に依存することがあります。さらに、手動テストは統合の接点ごとに非常に労力がかかり、手順のシーケンスでミスを犯したり、重要なカスケード効果を見逃す可能性があります。
解決策:
主な特徴:
テストダブル(test doubles)とは何で、手動統合テストにおいてなぜ必要ですか?
テストダブルとは、統合コンポーネントの模擬(例えば、mock、stub、fake)です。手動テストでは、実際の外部システムが利用できないか、その呼び出しがコストのかかる場合にシナリオを実行するために必要です。
Happy pathだけをカバーした場合、統合がテストされたと見なせますか?
いいえ。エッジケース(接続エラー、不正なデータ形式、タイムアウト、予期しない応答)を必ずテストする必要があります。
データの送信/受信だけを確認することは十分ですか、それとも他に何か必要ですか?
データの内容の正確性、変換、および統合の接点でさまざまなエラーが発生したときのシステムの行動を確認することが重要です。
テスターはCRMシステムと請求システム間の統合を成功した注文の追加だけで確認しています。同期エラーや取引のスキップは確認していません。
利点:
欠点:
テスターはインターネット接続を切断および再接続し、無効なトークンを挿入するテストを作成します。両側のログを検証します。
利点:
欠点: