応用情報技術者試験 - SE娘の剣 -

応用情報処理技術者試験の対策サイトです。 応用情報処理技術者試験の午前問題を中心とした基礎用語の解説を中心に掲載します。書き始めたばかりなので、内容はまだまだ不十分です。少しずつ追記していきます

トップダウンテスト、ボトムアップテスト

単体テストが終わったら、次は複数のモジュールを組み合わせて、モジュール間の連携部分を含めた確認をする結合テストを行います。結合テストには、トップダウンテストと、ボトムアップテストとの2つがあります。

トップダウンテスト
 モジュールの上位からテストを実施するのがトップダウンテストです。最近では開発の方式が多様化しているので一概には言えませんが、階層構造の上位モジュールから開発する場合が分かりやすい例です。上位モジュールから開発していますから、単体テストおよび結合テストも、それに応じて上位から行われます。下位モジュールはまだ完成していないと、十分なテストが行えない場合があります。そこで、スタブと呼ばれる下位モジュールの代替となるテスト用モジュールを準備して補います。
b
ボトムアップテスト
 モジュールの下位からテストを実施します。上位のモジュールの代替えとなるのがドライバです。
a
 
では、スタブやドライバは具体的にはどんな役割をするのでしょうか。具体例で説明します。以下は、検索画面で、たとえば「network」という文字を入力して「検索」ボタンを押すと、該当するデータを表示する機能とします。

a

モジュール構造ですが、上位モジュールとして、「文字入力」(入力値のチェックなどを行います)と、下位モジュールとして「検索処理」(入力された文字をもとに、DBから検索します)があります。

このとき、上位モジュールから下位モジュールに、入力された値である「network」という文字を、引数として渡します。ですから、ドライバは,引数を渡してテスト対象モジュールを呼び出す機能だけを実装したテスト用モジュールです。