トップダウンかボトムアップか [ひとこと言わねば]
明日から、3日間連続で、コンピュータ・プログラミングの話が出るので、ちょっと用語の説明をするにゃ。
コンピュータのプログラムのテストには、次の2つの方法があるにゃ。
1 トップダウン(テスト)
2 ボトムアップ(テスト)
コンピュータのプログラムのテストには、次の2つの方法があるにゃ。
1 トップダウン(テスト)
2 ボトムアップ(テスト)
トップダウンテストとは、次のようなテストの手法。
トップダウンテストとは、複数のモジュールを結合させたプログラムを、上位モジュールから順に結合しながら検証していくテスト方法。
https://goo.gl/XTtRZ6
トップダウンテストをするとき、エライ、上のモジュールは出来ているけれど、下位モジュール(上位モジュールが「これを計算せよ」、「この絵をかけ」と命令をくだす、下位のモジュール、プログラムのこと)はまだできていない。だから、テストをするためには、下っ端である下位モジュールの代わりになるプログラムが必要になる。この下っ端プログラムの代役をする、とりあえずのプログラムをスタブと呼ぶにゃ。
プログラムを上流、上から下へ作ってゆく場合、使われるテスト方法だにゃ。
プログラムを上流、上から下へ作ってゆく場合、使われるテスト方法だにゃ。
一方、ボトムアップテストとは、次のようなもの。
ボトムアップテストとは、複数のモジュールを結合させたプログラムを、下位モジュールから順に結合しながら検証していくテスト方法。
https://goo.gl/dcyeGp
ボトムアップテストは、部品である下位のブログラムから順に作ってゆくプログラムの作り方をする時に、行われるプログラムのテスト方法だにゃ。
この場合、部品である下位のプログラムは作ってあるけれど、このプログラムを動かすプログラムはまだできていない。だから、この部品プログラムがちゃんと機能するかどうかをテストするためには、このプログラムを制御し、動かすためのプログラムが必要になるケロ。この部品プログラムをとりあえず動かすためのプログラムのことを(テスト)ドライバと呼ぶにゃ。
この場合、部品である下位のプログラムは作ってあるけれど、このプログラムを動かすプログラムはまだできていない。だから、この部品プログラムがちゃんと機能するかどうかをテストするためには、このプログラムを制御し、動かすためのプログラムが必要になるケロ。この部品プログラムをとりあえず動かすためのプログラムのことを(テスト)ドライバと呼ぶにゃ。
トップダウン、ボトムアップテストの他に、ビッグバンテストと呼ばれるものがある。
ビッグバンテストとは、複数のモジュールを結合させたプログラムを、全てのモジュールを組み合わせてから一気に動作検証するテスト方法。
https://goo.gl/V6J3sF
チンタラチンタラと、テストなんてやってられないにゃ。全プログラムを一気に書き上げ、ちゃんと動くかどうかわからないけれど、「出たとこ勝負!!えいや〜」とプログラムを実行させてみるテスト法だにゃ。
なのですが、ボトムアップテストやトップダウンテストを行った後に、全プログラムを組み合わせて、ビッグバンテストを行うのが一般的。
こうしたテストを一切せず、いきなり、全プログラムを結合し、ビッグバンテストを行うと、エラーメッセージが山のように出てきて、このバグ取りが大変なことになってしまうにゃ。
なのですが、ボトムアップテストやトップダウンテストを行った後に、全プログラムを組み合わせて、ビッグバンテストを行うのが一般的。
こうしたテストを一切せず、いきなり、全プログラムを結合し、ビッグバンテストを行うと、エラーメッセージが山のように出てきて、このバグ取りが大変なことになってしまうにゃ。
ネムネコは素人だし、作るプログラムもそれほど長くないから、「たぶん、こうすればいいにゃ」という漠然とした青写真をもとに、部品の方からプログラムを作り、その部品プログラムがちゃんと動くことを確認した後、新たな部品プログラムを作り、ある程度部品が出来上がったら、それを組み合わせて、とりあえず完成版のプログラム(プロトタイプ)を作るにゃ。
そして、何か追加の機能が欲しかったら、部品を作り、プロトタイプに追加するといった手法で、プログラムを作ってゆくにゃ。
こういったプログラムの作り方をスパイラル・モデルと言うにゃ。
そして、何か追加の機能が欲しかったら、部品を作り、プロトタイプに追加するといった手法で、プログラムを作ってゆくにゃ。
こういったプログラムの作り方をスパイラル・モデルと言うにゃ。
スパイラルモデル(Spiral Model)とは、トップダウン設計とボトムアップ設計の長所を生かしたソフトウェア開発工程のモデルであり、設計とプロトタイピングを繰り返して開発していく手法である。
https://goo.gl/kqus7R
スパイラル・モデルは、言ってみればツギハギだらけだから、システムはどこまでも肥大化し、最終的に、冗漫で無駄の多いプログラムになってしまうにゃ。
コメント 0