テストファースト
プログラムの作り方だよ
先にテスト用のプログラムを作るよ
テストがOKになるように実際のプログラムを作るよ
簡単に書くよ
テストファースト(英:test first)とは
プログラムの作り方のひとつ
であり
先にテスト用のプログラムを用意して、そのテスト用のプログラムでやるテストがOKになるように実際のプログラムを作る やり方
です。
詳しく書くよ
サクっと一言で説明すると
先にテスト用(動作確認用)のプログラムを用意して、テストがOKになるように実際のプログラムを作る やり方
が「テストファースト」です。
今回は「プログラム」と表現しましたが「処理」でも「コード」でも「関数」でも好きに読み替えてください。
例えば、そうですね。
ピヨ太君がケーキが出てくる箱を作ろうとしています。
テストファーストでは、先にテスト用のプログラムを作ります。
今回は「箱からケーキが出てくるかチェックする」プログラムを作ったとしましょう。
今の時点で「箱からケーキが出てくるかチェックする」プログラムを動かすとテスト結果はNGになります。
当然ですよね。
現時点ではケーキが出てくる箱は影も形もないわけですから。
ピヨ太君はケーキが出てくる箱を作りました……が、出てきたのはコーヒーでした。
「箱からケーキが出てくるかチェックする」プログラムを動かすとテスト結果はNGになります。
あるのは「ケーキが出てくる箱」ではなく「コーヒーが出てくる箱」だからです。
ピヨ太君は箱を改造してケーキが出てくるようにしました。
「箱からケーキが出てくるかチェックする」プログラムを動かすと今度はテスト結果がOKになります。
ケーキが出てくる箱があるからです。
このような
テストを先に用意して、そのテストが合格するように実際の物を作る やり方
がテストファーストです。
なお「テスト」とは言っていますが、システム開発とかでやる実際のテストとは少しニュアンスが違います。
「動作確認用」くらいのニュアンスで捉えてください。
あと、テストファーストとの違いが分かりにくい用語に「テスト駆動開発」があります。
人によってはテストファーストとテスト駆動開発を(ほぼ)同じものと捉えています。
人によってはテストファーストとテスト駆動開発を区別しています。
テストファーストとテスト駆動開発を区別している人同士でも区別の仕方が違ったりもしました。
テストファーストとテスト駆動開発の違いは、あまり気にしない方が幸せになれると思います。
一言でまとめるよ
まぁ「テストファースト」って単語が出てきたら「『テストを用意する→テストがOKになるような実際の物を作る』やり方なんだな~」と お考えください。
おまけ
■訳してみるよ
「test(テスト)」はカタカナで「テスト」で分かりますよね。
「first(ファースト)」の意味は「最初」とか「1番目」とかです。
何となく くっつけると
テストが最初
となります。
■検索してみる?






