みなさん、テストは好きですか?もしかしたら、「ちょっと苦手かな…」と思っているかもしれませんね。
でも、実はプログラムもテストを受けているって知っていましたか?
プログラミングは楽しいけれど、作ったプログラムがちゃんと動くかどうかテストして確かめることも、とても大事なことなんです。
みなさんがいつも使っているサービスやゲームも、たくさんの人が時間をかけてテストして、安心して使えるようにしています。
この記事では、プログラムをテストする方法を、小学生向けにかんたんな形にアレンジして紹介します。
テストの準備から実行、そして結果の確認まで、いっしょに楽しく学んでいきましょう!
なぜプログラムをテストするの?
プログラミングにおけるテストは、作ったプログラムが正しく動くか確認するための作業です。テストを行うことで、プログラムにまちがい(バグ)がないか確かめます。
これは、料理を作るときに味見をしたり、自転車に乗る前にタイヤやブレーキをチェックするのと同じです。問題があれば、味を調整したり、修理したりします。
プログラムも同じように、使う前にテストし、エラーやバグを見つけて修正します(デバッグ)
もしテストをしなかったら、プログラムにバグが残ったままになってしまい、使う人が困ってしまうかもしれません。
- バグ : プログラムのまちがい
- デバッグ: プログラムのまちがいを見つけて修正する作業
テストの計画を立てよう
テストには大きく分けて2つの方法があります。
- ホワイトボックステスト
- ブラックボックステスト
ホワイトボックステストは、プログラムの中身を見て、どう動いているかを確認します。
ブラックボックステストは、プログラムの中身を見ずに、結果だけをチェックします。
算数のテストに例えると、答えが正しいだけでなく 計算の式が正しいかどうかも確認するのがホワイトボックステスト、答えだけを見てそれが正しいかどうかをチェックするのがブラックボックステストです。
今回は、ホワイトボックステストの方法を、小学生向けにかんたんな形にアレンジして説明します。
確認することのチェックリストを作ろう
まず、プログラムがちゃんと動くかどうかを確認するために、「何をチェックするか」のリストを作りましょう。これを「テスト項目」といいます。
リストを作るときに考えること
ふつうにやってみる
まずはプログラムがふつうに動くかどうか確認してみましょう。
例:入力した数字を3倍にするプログラムで、7を入力したら21になるか見る。
ギリギリを攻めてみる
プログラムが「さかい目の値」でどう動くか確かめましょう。
例:「1から100までの数しか入れられない」とき、1や100だけでなく、0や101のようなギリギリアウトな数も入れてどうなるか見てみる。
おかしなことをしてみる
変なデータを入力したらどうなるか、プログラムがちゃんと対応できるか確認しましょう。
例:数字を入力するところに文字を入れたらどうなるか試してみる。
組み合わせを考える
プログラムで複数の設定がある場合、それらの組み合わせをテストしてみましょう。
例:アイスクリームの味と食べ方を選ぶプログラムで、「バニラ・コーン」「チョコレート・カップ」など、いろんな組み合わせをチェックする。
プログラムが通るすべてのルートを確認する
プログラムに「もし…ならこうする」や「そうでなければこうする」などの命令で処理が分かれる場合、それぞれのルートをテストします。
例:温度によってネコが話す内容が変わる場合、それぞれのルートをテストします。
どのようにテストするか考えよう
次に、テストのやり方を具体的に考えてみましょう。これを「テストケース」といいます。
どこをチェックするか決めよう
テスト項目をもとに、プログラムのどの部分をチェックするか決めます。
例えば、「計算が正しくできるか」「0を入力したらどうなるか」などです。
何を入力してどう動かすかを考えよう
次に、どんなデータを入れて、どう操作するかを決めます。
例えば、「7を入力してEnterキーを押す」といった具体的な値や操作です。
こうなるハズという結果を予想しよう
その操作をしたら、プログラムがどう動くべきか、期待される結果を考えます。
入力した数字を3倍にするプログラムだったら、「ネコのスプライトが”7の3倍は21″と2秒言う」になるハズと予想します。
プログラムを動かして確認してみよう
準備が整ったら、いよいよテストしてみましょう。
テスト項目とテストケースに従って、プログラムを実際に動かします。
結果を記録しよう
入力した内容と実行結果をスクリーンショットや写真、動画などで記録しておきましょう。
後でプログラムが正しく動いたかどうかをふり返るときに役立ちます。
スクリーンショットの撮り方
- Windows:「Print Screen」や「prt sc」と書いてあるキーをおす
- chromebook:「Ctrl」キー+「ウィンドウを表示」キー(□||)
- Mac:「shift」キー+「Command」キー+「3」
結果を見て評価しよう
テストが終わったら、結果が期待した通りになっているか確認します。
以下の手順で進めましょう。
メモを取ろう
確認した内容をメモしておきましょう。
後でふり返りたい時に、どこを見て何を確認したのかすぐにわかります。
バグを特定しよう
もし、問題が見つかったら、プログラムのどこがまちがっているのかを見つけます。
ブロックの順番や判定条件、変数の動きなどをくわしく確認しましょう。
バグを修正しよう
まちがっている場所を見つけたら、どのように修正すれば正しい結果になるのかを考えて直しましょう。
解決策が一つではない場合もあるので、いくつか方法を考えてみてください。
もう一度テストしよう
バグを修正したら、もう一度テストを行います。
修正によって新たなバグが発生しているかもしれないからです。
このようにテストをくり返すことで、プログラムの完成度をさらに高めることができます。
まとめ
プログラムが正しく動くかどうかを確認するためのテストの手順について、解説しました。
プログラムを作るだけでなく、しっかりとテストすることで、より良い作品ができます。
自分のプログラムが意図した通りに動く瞬間の達成感をぜひ味わってください!
下の記事では、エラーの原因を見つけて修正する力を身につけたい人におすすめの『エラーで学ぶScratch まちがいを見つけてプログラミング初心者から抜け出そう』という本を紹介しています。
興味がある人はぜひ読んでみてくださいね。
用語集
- バグ :プログラムのエラーやまちがい
- デバッグ:プログラムのまちがいを見つけて修正する作業
- ホワイトボックステスト:プログラム(ソースコード)の中身を見てテストする方法
- ブラックボックステスト:プログラムの中身を見ずに、入力と出力だけ見てテストする方法
- テスト項目 :プログラムの何をチェックするかのリスト
- テストケース:具体的なテストのやり方や手順