• ベストアンサー

単体テストの方法教えてください

質問内容が非常に抽象的で恐縮なのですが、、、 今回Eclipseを使いJSP/Servletでクラスをいくつか作ります。 作成後、具体的にどういった中身のテストクラスを作っていいか分からず困っています。動きをチェックするということは分かってますが実際作ろうとするとどうしてよいか分からなくなります。 イメージでもよいのでご教示お願いします。 (EclipseのJUnitを使えばいいのかなとも思いました)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

単体テストならば、 メソッド内の全てのルートを通るように試験項目を作成すればよいです。 例えば月数を渡すと2文字で返すようなメソッドを作ったとします。 (「1」を渡したならば「01」を、「10」ならば「10」を返すといった感じ) ならば ・メソッドの引数に「1」を渡したときの戻り値の確認 ・「11」を渡したときの戻り値 といった具合です。 ちなみに、単体テストツールを使うのは良いかも知れませんが、 「単体テスト」とは何をするのか? をしっかり理解しないと、 どんなにすばらしいテストツールを使っても、 バグだらけのシステムが出来上がってしまいます。

supercat1
質問者

お礼

回答ありがとうございます。 私はJAVAがすらすら書けないのでいつも苦戦してます。ソースは読めるですが、自分で書くとなると弱いです。。。 期待通り動くかどうか確認すればよいのですね。 Eclipseのデバック機能を使ってみたりしてます。 バグは発見が早いにこしたことはないですね~。

その他の回答 (2)

  • covachan
  • ベストアンサー率38% (46/120)
回答No.2

Struts等を使用しないのであればJakartaのCactusあたりはどうでしょうか? StrutsTestCaseにもHttpServletRequestSimulatorがありますからこちらでもいいかもしれません。 テストの実装についてですが、パブリックなクラス単位を パブリックなメソッドごとにテストケースを記述していけばいいのではないでしょうか? 実装の内容については正常系はもちろんですが、メソッドの結果をassertEqualsなどで想定値と比較などするとして、 他には例外系として引数にnullを渡してみるなど想定外の物を渡してみての例外発生、その例外の比較。 そんな程度で大丈夫だと思います。 大きなロジックについては結合試験で行えばよいのではないでしょうか?

supercat1
質問者

お礼

回答有難うございます! 「JakartaのCactus」初めて聞きました。調べてみます。 JAVA難しいですね。苦戦続きです。

  • had4149
  • ベストアンサー率18% (9/48)
回答No.1

まず貴方がどのようなプログラムを作りたいのかを教えてもらわないと回答できません。 作りたいプログラムがわかればどのようなテストクラスを作成すれば良いかも自然にわかると思います。

supercat1
質問者

お礼

回答ありがとうございます。 おっしゃる通り抽象的すぎて答えようもないですよね。すいません。出直します。 (検証したい動作はわかるのですが、JAVAがまだよく分かってなく具体的にどういうテストクラスを書いていいのか分からない状況です)

関連するQ&A