システムテストの重要性 | Technolog.jp - ICTウェブマガジン

システムテストの重要性

システム開発をする上で大切なことはたくさんありますが、テストフェーズは最も重視されるステップかもしれません。当然、要件定義を行い、仕様を決めていくことも大前提としてありますが、テストは本番稼動前の試運転みたいなもので、ここで誤作動を修正し、安定したシステムに調整してきます。

本日の主要紙に三菱東京UFJ銀行のシステム障害に関する記事が掲載されていました。問題は12日夜に発覚したもので、セブン銀行のATMで引き出しができないなど約2万件の取引に影響があった他、一部の他金融機関の口座所有者が旧東京三菱銀行のATMから引き出しができないなどで、現在、同障害は解消されたとのことです。

今回の障害は旧UFJ銀行と旧東京三菱銀行の合併により大規模なシステム統合が行われ、その開始時に起きたものです。メガバンク同士の合併なので、店舗や口座の統廃合の他、様々な課題があったと思います。それに備え、銀行側では100万回にも及ぶテストを繰り返したそうですが、それでも今回の障害を防ぐことはできませんでした。

テストでは様々なケースをリストアップし、インプットとアウトプットを決め、処理の結果を確認します。今回のような銀行のケースではおそらくインプットとしてATM取引、アウトプットとして各取引の正常終了なども想定されていたのではないでしょうか。ただし、日本を中心とした世界に存在する他金融機関のすべてを想定し、全処理をテストしていくことは膨大な手間と時間がかかるため、その工程で何かが欠落し、今回のような障害が発生してしまったことは考えられます。

テストの現場ではリストアップされた内容を実施し、確認するため、集中力は必要とされますが、比較的単純作業であることが多いのに対し、そのテストケースを考える側は十分な業務知識と緻密性が必要とされます。場合によっては要件定義をおこなったコンサルティング会社や顧客(今回の例で言えば銀行)が一緒になって考えることもあります。

システム開発では要件定義時にスケジュールを作成し、それに沿った進め方をしますが、開発期間とテスト期間を同等またはテスト期間を長く取ることも珍しくありません。それだけテストは重要視され、ここでの内容の善し悪しがシステムに大きな影響を及ぼしてしまうのです。

KEYWORD