基本情報技術者試験 平成31年度 春期 午前 問56
移行テストについての問題。
--------------------------
平成31年度 春期 午前 問56
システムの移行テストを実施する主要な目的はどれか。
ア
確実性や効率性の観点で、既存システムから新システムへの切替え手順や切替えに伴う問題点を確認する。
イ
既存システムの実データのコピーを利用して、新システムでも十分な性能が得られることを確認する。
ウ
既存の他システムのプログラムと新たに開発したプログラムとのインタフェースの整合性を確認する。
エ
新システムが、要求された全ての機能を満たしていることを確認する。
--------------------------
解説
テストには色々な種類がある。
単体、結合、システム、総合、性能、負荷、移行、障害、etc...
(そして組織により微妙に呼び方と定義が異なる)
闇雲にテスト項目を作るのではなく、システムのどこを重点的にチェックしたいのか、何を目的にテストしたいのかをまず検討する必要がある。
目的に沿っていない、やらなくてもいいテストに無駄な時間とお金をかけてないかをよく確認しよう。
問題となっているのはシステムの移行テスト。
システムを新しくするプロジェクトで、旧システムから新システムに切り替える(移行する)ときの手順や問題点、スケジュールなどを確認するためのテストとなる。
移行テストの目的が "新システムに切り替えるときの手順や問題点、スケジュールの確認" であることを念頭に置きながら選択肢を眺めてみる。
選択肢ア「確実性や効率性の観点で、既存システムから新システムへの切替え手順や切替えに伴う問題点を確認する。」
"切替え手順を確認"、"切替えに伴う問題点を確認" ということで、移行テストの目的そのものである。なので、この問題の正解は選択肢アである。
選択肢イ「既存システムの実データのコピーを利用して、新システムでも十分な性能が得られることを確認する。」
既存システムのデータを利用しているので移行に関係ありそうであるが、新システムの性能を確認するだけでは上記の移行テストの目的は達成できない。
この選択肢は性能テストの目的を書いている。
新システムへの移行手順は完璧(移行テストは完了)であるが、十分な性能が得られていない(性能テストが未完了)という状態もあり得る。
納期の直前に様々なチューニングパラメータを駆使して数秒を削る戦いが始まるケース。
ものによってはマニュアルにない隠しパラメータまで登場することも。
選択肢ウ「既存の他システムのプログラムと新たに開発したプログラムとのインタフェースの整合性を確認する。」
インタフェースの整合性が問題ないことを確認しても、システムを切替えるための手順を確認したことにはならないので、移行テストではない。
これは結合(外部結合)テストの目的を書いている。
新システムへの移行手順は完璧(移行テストは完了)であるが、既存の他システムとのインタフェースの整合性が検証できていない(結合テストが未完了)という状態もあり得る。
終盤になって結合テストに不備が見つかり手戻りが発生する非常にまずいケース。
その整合性確認って、向こうのシステム担当者の仕事じゃないんですか・・・?
選択肢エ「新システムが、要求された全ての機能を満たしていることを確認する。」
新システムが業務で必要な機能を全て満たしていることが確認できても、システムを切替えるための手順を確認したことにはならないので、移行テストではない。
これはシステムテストの目的を書いている。
新システムへの移行手順は完璧(移行テストは完了)であるが、一部の機能に不具合が残っている(システムテストが未完了)という状態もあり得る。
不具合の原因が根深いものでないことを願い続けるケース。
前後の問題はこちら。