• 検索結果がありません。

テスト駆動開発を利用したプログラミング実習

N/A
N/A
Protected

Academic year: 2021

シェア "テスト駆動開発を利用したプログラミング実習"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)

- 417 -

テスト駆動開発を利用したプログラミング実習

専攻:教科・領域教育専攻 コース:生活・健康系コース (t矧ト工業・情報) 氏 名 : 保 井 典 子 1.はじめに プログラミングに関する授業では実習を行う ことで,よりプログラミングに興味や意欲を向 上させることが期待できる. しかし,期擦の授 業では流れ図やプログラムの穴埋め問題,資格 試験ヰ検定試験対応に終始し,講義形式で行わ れることがほとんどである.また,実習授業を おこなう教員に求められる知識やスキルは,プ ログラミング学習の言語

i

輯尺,実習環境の整備, 実習課題作成,評価など多岐にわたる.加えて, 実習中の生徒それぞれの多様なつまずきに早く 適切に対処することも求められる.また,限ら れた時間で授業を成立させるために実習内容は 単純になりがちで,実習の効果を活かしきれて いない. これらを改善するために生徒のプログラムの 問題点を素早く把握,対処できる課題の工夫が 必要である.そのような実習課題であれば,生 徒も教員に質問することなく自らが間違し、に気 付きプログラムを修正することができる.さら に教員の準備時聞が削減でき,かっ実習結果が 矧面しやすし課題であることが望まれる. 自分のプロゲラムが“動く"ことは,次の課 題への取り組みゃプログラミングを学ぶ

5

齢、動 機づけとなる.本論文では,ソフトウェア開発 現場切開されている「テスト駆動開発j手法 を取り入れた実習課題を提案し,その授業実践 の報告とこれからの課題について考察する. 指導教員:曽根直人

2

.

テスト駆動開発 短い耕期で,高し呼言頼性を求められるソフト ウェア開発現場で、は,近年「テスト駆動開発 (Test Driven Develo開lent: TDD)J品、う 開発手法が取り入れられている. これはまず案件の仕殺に合うテストを考え, 次に実際にプログラムを作成しテストを通すと いうことを繰り返しながらプログラムを完成さ せ,最後に全体のプログラムを見直す手法であ る.この手法では,プログラムを作成しながら 仕識を網羅したテストをおこなうことが可能と なる.僧或したテストは後の修正時にも再利用 できることから,ソフトウェアの製作や修正日 数が短縮できるだけでなく,信頼性も上げるこ とができる.しかし,製作ステップ数が増える ことにより製作事割笥やコストが増えるデメリッ トも挙げられている.

3

.

実習案 今回の実習案は,ソフトウェアの自動期子テ スト作成やテスト結果判定などができるテステ イングフレームワークを持つプログラム言語の 中から Javaを選択し,自動実行テストには ]Unitを利用した 実習課題は

T

D

D

の手法を取り入れ,テストを おこないながら短いプログラムをひとつひとつ 段階的に作成し,完成させる内容としたこれ は作枕するひとつずつのプログラムを短くし, 見直しゃすくすると共に,生徒が段階ごとに“で

(2)

- 418 - - 417 - きた"という自信を持ち,次のプログラムに取 り組む意欲を持てるようにすることを目的とし た. また,入力時間の短縮と対去エラーの発生を 抑えるため,実習課題の基本となるプログラム をあらかじめ耕酬で用意し,ひな形プログラ ムとして実習の最初に生徒に提供した. 作成したプログラムに対するテストは,生徒 が考えたテストデータによるだけでなく,JUnit を用いた細かな条件のテストもおこなった.こ れによりテストに失敗する条件が明確となり, 生徒自身がプログラムの論理エラーに気付き修 正できるようにした.

4

.

授業実残 三重県立松阪商業高等学校情報システム科の 生徒を対象に授業実践を5月と 6月の2回, 2 つの講座に対しておこなった.1回目の授業で は,プログラム作成だ、けでなく,テストの重要 性を理解することに車京を置いた内容とした 2回目は,プログラムを作成しながらJUnitを 郎、て自動期予テストもおこなう実蹴怜実習 内容とした 生徒はし、つもと違う実習方法や開発環境に戸 惑いながらも,積極的に課題に取り組んだ.プ ログ、ラムをひとつも完成できなかった生徒はお らず,実習後のコメントには自分のプログラム が完成した達成感について述べているものが多 くみられた

T

I

担当教員を含む教員側は,慣れないソフト ウェアの使い方に少々手間取ったが,生徒から のプログPラムに関する質問には余裕をもって回 答できていたひな形プログラムを修正す

ι

る方 式の課題としたため,ソースコード入力の習熟 度の差や文j去エラー発生はほとんどなく,生徒 からの質問は課題内容に集中していた.

5

.

まとめ TDDの手法を取り入れた実習は,小さな課題 をクリアしながら学習を進める形態であり,ス モールステップ方式の課題とも言える.加えて 毎回テストを新子することにより,生徒が作成 したプログラムが内包している問題が見えてく る.このことにより教員や生徒は,慨すべき 部分の把握が容易になる.テスティングフレー ムワークを利用する実習は,生徒も教員もテス トによって明らかになる間是豆長を解決すること に集中できる. TDDを適用した課題作成は時聞がかかるが, 課題を教員間で共有することにより授業準備を 軽減することができる.生徒の関皆的課題の進 捗状況やJUnitによるテスト結果は,実習課題 の評価にも利用可能である.また,教員のスキ ルアップ耕寸としても活用できると考える. しかし,今回の論潤寅算子やアルゴ、リズムな どの基礎的学習の課題では,今までよりミスを 見つけそ寸かったり修正しヰ寸かったとし、う明 確な回答は,個々の生徒ヰ指導した教員から得 られなかった.定型的なプログラミングの実習 でなく,システム開発などの応用的授業であれ ば,テストで仕議を確認しながら進めるプログ ラミング開発手法の効果を実感できると考える. 自分のプログラミングが正しく動いた時の喜 びは,プログラミング実習に対する満足と新た な学習へのそチベーションを生み出す重要な体 験となる.生徒により多くのプログラミング実 習の機会を与えられるよう,実習に利用しやす いメソッドの組み合わせが可能な課題の開発や システム開発の授業への応用を組織課題とした し¥

参照

関連したドキュメント

(b) 肯定的な製品試験結果で認証が見込まれる場合、TRNA は試験試 料を標準試料として顧客のために TRNA

(2)

本アルゴリズムを、図 5.2.1 に示すメカニカルシールの各種故障モードを再現するために設 定した異常状態模擬試験に対して適用した結果、本書

開発途上国の保健人材を対象に、日本の経験を活用し、専門家やジョイセフのプロジェクト経 験者等を講師として、母子保健を含む

・性能評価試験における生活排水の流入パターンでのピーク流入は 250L が 59L/min (お風呂の

運航当時、 GPSはなく、 青函連絡船には、 レーダーを利用した独自開発の位置測定装置 が装備されていた。 しかし、

利用者 の旅行 計画では、高齢 ・ 重度化 が進 む 中で、長 距離移動や体調 に考慮した調査を 実施 し20名 の利 用者から日帰

3.8   ブラベンダービスコグラフィー   ブラベンダービスコグラフを用い、乾燥した試料を 450ml の水で測 定容器に流し込み、液温が