- 417 -
テスト駆動開発を利用したプログラミング実習
専攻:教科・領域教育専攻 コース:生活・健康系コース (t矧ト工業・情報) 氏 名 : 保 井 典 子 1.はじめに プログラミングに関する授業では実習を行う ことで,よりプログラミングに興味や意欲を向 上させることが期待できる. しかし,期擦の授 業では流れ図やプログラムの穴埋め問題,資格 試験ヰ検定試験対応に終始し,講義形式で行わ れることがほとんどである.また,実習授業を おこなう教員に求められる知識やスキルは,プ ログラミング学習の言語i
輯尺,実習環境の整備, 実習課題作成,評価など多岐にわたる.加えて, 実習中の生徒それぞれの多様なつまずきに早く 適切に対処することも求められる.また,限ら れた時間で授業を成立させるために実習内容は 単純になりがちで,実習の効果を活かしきれて いない. これらを改善するために生徒のプログラムの 問題点を素早く把握,対処できる課題の工夫が 必要である.そのような実習課題であれば,生 徒も教員に質問することなく自らが間違し、に気 付きプログラムを修正することができる.さら に教員の準備時聞が削減でき,かっ実習結果が 矧面しやすし課題であることが望まれる. 自分のプロゲラムが“動く"ことは,次の課 題への取り組みゃプログラミングを学ぶ5
齢、動 機づけとなる.本論文では,ソフトウェア開発 現場切開されている「テスト駆動開発j手法 を取り入れた実習課題を提案し,その授業実践 の報告とこれからの課題について考察する. 指導教員:曽根直人2
.
テスト駆動開発 短い耕期で,高し呼言頼性を求められるソフト ウェア開発現場で、は,近年「テスト駆動開発 (Test Driven Develo開lent: TDD)J品、う 開発手法が取り入れられている. これはまず案件の仕殺に合うテストを考え, 次に実際にプログラムを作成しテストを通すと いうことを繰り返しながらプログラムを完成さ せ,最後に全体のプログラムを見直す手法であ る.この手法では,プログラムを作成しながら 仕識を網羅したテストをおこなうことが可能と なる.僧或したテストは後の修正時にも再利用 できることから,ソフトウェアの製作や修正日 数が短縮できるだけでなく,信頼性も上げるこ とができる.しかし,製作ステップ数が増える ことにより製作事割笥やコストが増えるデメリッ トも挙げられている.3
.
実習案 今回の実習案は,ソフトウェアの自動期子テ スト作成やテスト結果判定などができるテステ イングフレームワークを持つプログラム言語の 中から Javaを選択し,自動実行テストには ]Unitを利用した 実習課題はT
D
D
の手法を取り入れ,テストを おこないながら短いプログラムをひとつひとつ 段階的に作成し,完成させる内容としたこれ は作枕するひとつずつのプログラムを短くし, 見直しゃすくすると共に,生徒が段階ごとに“で- 418 - - 417 - きた"という自信を持ち,次のプログラムに取 り組む意欲を持てるようにすることを目的とし た. また,入力時間の短縮と対去エラーの発生を 抑えるため,実習課題の基本となるプログラム をあらかじめ耕酬で用意し,ひな形プログラ ムとして実習の最初に生徒に提供した. 作成したプログラムに対するテストは,生徒 が考えたテストデータによるだけでなく,JUnit を用いた細かな条件のテストもおこなった.こ れによりテストに失敗する条件が明確となり, 生徒自身がプログラムの論理エラーに気付き修 正できるようにした.