授業の進め方

スケジュール

評価について

期末試験 (ペーパー) の結果を中心に評価する。ただし、平常点 (出席、課題) も加味する。

授業の流れ

課題の評価方法

本演習では課題を評価するに当たって、次の項目をパスする必要がある。

1. コンパイルテスト

すこし書くごとにCtrl+Sでセーブ&コンパイル。この際にエラーが発生したら文法を見なおし、間違いを自分で修正してセーブ&コンパイル。

2. 自動テスト

コンパイルテストが成功したら、指示のある場所で自動テストを実行する。実行方法は後ほど。

3. TAによるテスト

全ての課題の全ての自動テストが成功したら、TA (Teaching Assistant) がチェックを行う。

自動テストについて

テストとは

プログラムの欠陥を洗い出すための作業のこと。本演習では、この作業をプログラムを使用して自動化を行う。

テストフレームワークの導入

本演習で使用する自動テストのためのプログラムを以下の手順で導入する。

  1. ダウンロード のページを開く (ここをクリック)
  2. "jtaf.zip"をデスクトップなどにダウンロード
  3. eclipseの画面でプロジェクト「java20XX」を右クリック
  4. メニューから「インポート(I)」を選択
  5. 「インポート」ウィンドウが表示されるので、「Zip ファイル」を選択
  6. 「次へ(N)」をクリック
  7. 宛先フォルダー(L): が「java20XX」になっていることを確認
  8. From archive file: の右側にある 「参照(R)...」あるいは「ブラウズ(R)...」をクリック
  9. ファイルダイアログが表示されるので、ダウンロードした"jtaf.zip"をダブルクリック
  10. 前の画面に戻るので、From archive file: のエリアに正しいパスが入力されていることを確認
  11. フォルダ「/」の左にチェックがついていることを確認 (ついていなければチェックボックスをクリック)
  12. 「警告を出さずに既存リソースを上書き」にチェックがついていることを確認 (上書きしたくないファイルがある場合はチェックを外す)
  13. 「終了 (F)」をクリック
  14. プロジェクト「java20XX」に「test > install-libraries.xml」がインポートされるので、それを右クリック
  15. 「実行(R)」にマウスカーソルを合わせる
  16. 「1 Ant ビルド」をクリック
  17. 「コンソール」タブに"BUILD SUCCESSFUL"と表示されれば成功
  18. eclipseの画面でプロジェクト「java20XX」を右クリック
  19. メニューが表示されるので、「更新」あるいは「最新表示」をクリック

この作業を家で行う場合、ネットワークに接続された環境で行うこと。

テストドライバの導入

本演習では、練習問題を始める前にテストドライバを導入する。このテストドライバとは、各回の練習問題や課題のテストを行うためのプログラム一式である。

次の手順で行う。

  1. ダウンロードのページを開く (ここをクリック)
  2. "week01.zip" をデスクトップなどにダウンロード
  3. eclipseの画面でプロジェクト「java20XX」を右クリック
  4. メニューが表示されるので、「更新」あるいは「最新表示」をクリック
  5. eclipseの画面でプロジェクト「java20XX」を右クリック
  6. メニューから「インポート(I)」を選択
  7. 「インポート」ウィンドウが表示されるので、「Zip ファイル」を選択
  8. 「次へ(N)」をクリック
  9. 宛先フォルダー(L): が「java20XX」になっていることを確認
  10. From archive file: の右側にある「参照(R)...」あるいは 「ブラウズ(R)...」をクリック
  11. ファイルダイアログが表示されるので、ダウンロードした "week01.zip" をダブルクリック
  12. 前の画面に戻るので、From archive file: のエリアに正しいパスが入力されていることを確認
  13. フォルダ「/」の左にチェックがついていることを確認 (ついていなければチェックボックスをクリック)
  14. 「警告を出さずに既存リソースを上書き」にチェックがついていることを確認 (上書きしたくないファイルがある場合はチェックを外す)
  15. 「終了 (F)」をクリック

自動テストの起動

テストドライバの導入に成功すると、プロジェクト「java20XX」の中の「test」というフォルダに「j1.lesson01.xml」という名前のファイルが格納されている。
これは第1回演習のすべての自動テストのためのスクリプト(実行手順を記述したもの)であり、右クリックして「実行 > 1 Ant ビルド」をクリックすると図1のようなJtafウィンドウが現れる。


図 1. Jtafを起動する

「ファイル」を左クリックすると図2のようにメニューが表示される。


図 2. 自動テストの一覧を見る

例として、「Helloに対する骨格テスト」 を実行してみよ。ウィンドウに表示されているバーが緑色なら成功(図3)で、赤色ならばテストの失敗(図4)を表す。もしこのバーが赤色だった場合は、表示された失敗したテスト項目「メソッドmain(java.lang.String[])//j1.lesson01.Hello」を選択して、エラーの詳細を読み、プログラムの修正が終わったらCtrl+Sでセーブを行い、Jtafウィンドウの「実行」ボタンを押す。


図 3. テスト成功


図 4. テスト失敗


図 5. エラーの詳細

バーが緑色になったら、このウィンドウを閉じてもよい。

テストの実行例

テストの失敗メッセージ (j1.lesson01.Hello)

Helloに対する骨格テスト

メッセージ 備考
j1.lesson01.Hello(型)は存在しません パッケージ名やクラス名を確認
j1.lesson01.Helloにpublicの指定がありません classの手前にpublicをつけること
Hello.main(java.lang.String[])が存在しません "main" や "(String[] args)" の部分を確認
Hello.main(java.lang.String[])にpublicの指定がありません publicをつけること
Hello.main(java.lang.String[])にstaticの指定がありません staticをつけること
Hello.main(java.lang.String[])の型がvoidではありません voidを指定すること

Helloに対する機能テスト

メッセージ 備考
期待された値:~..(1行目の出力) 1行目の出力を "Hello, world!" とすること
期待された値:<(出力の終端)>.. 2行目以降に余計な出力を行わないこと