ひよっこ。

I want to…

javaのテストをjRubyで

Posted by hikaruworld : 2008 11月 15

標題の件は以下から。

JRubyでのJava GUIテスト

自動テストを書いていてつらいことは、
結局どうしても、煩雑な終わりなきコーディング(頭を使わないタイプ)にならざるを得ないことだ。

今回の方法は目から鱗で、
そもそもJavaで書いたアプリケーションのテストを静的な言語のJavaでやる必要はどこにもないというわけだ。
それこそ簡単に書ける(といわれる)RubyやらPythonやらでテスト側は実装してしまえばいい。

動的言語には便利な構文も色々あるわけだし。テストでnewやら型定義やらイチイチやってられるかと。
特にViewに関して頻繁に仕様変更があるのであれば、
動的言語のメリットを最大限生かして柔軟に対応できるのではと。

ただ、現場でよくある(かもしれない)新人さんにこれをやらせるとなるといくつか厄介な問題が出てくる。
新人さんは当然プログラミング言語に理解が深い訳ではないので、
ただでさえいっぱいいっぱいのところ、プログラミング言語を二つ覚えろというのは酷だ。
(こんなこと言われたら当時の自分だったら逃げそうだ)

で、業務システムの場合は、ソースレビューや厳密な実装IDEによるサポートを考えると、
やはりJavaのような静的言語のほうが良くなる。
ので、新人さんは勉強もあるし実際の実装に回った方がよいかなと。

じゃあだれが、そんな言語をバリバリ使えるのか?
となると、ある程度経験がある人間が対象になる。
んで、手間も考えるとSE(仕様書をまとめる人間)あたりが適切なのかなぁ?

  1. SEが仕様書をまとめる
  2. 仕様書ベースにSEがテストケース化
  3. PGに依頼「これ作って(概要はこれ(紙)→詳細はこれ(テストケース)ね)。とりあえず自動テストが通ったらソースレビューね。」と。

結局SEが仕様書書いたらPGに説明してテストケース作らせて、ソースレビューするよりも
とりあえず自分で動的言語を使ってさっさと実装してしまえと。

—-
静的言語と動的言語(ここではJavaとRuby)の連携のアプローチに関しては、
基幹部分がJavaで組まれているシステムにどのように動的言語を組み合わせて
柔軟なシステムを作るかという事ばかりを考えていたが、確かにこのアプローチは面白そうだなと思った。

当然JRuby(RubyのJavaによる実装)やらJython(PythonのJavaによる実装)があるのだから、
うまい事やってやればJava側のリファクタリングなどにもうまくIDEで対応できるんじゃね?と。

# 結局ぐだぐだ言っているが、TDDが前提だし、
# かつその上で、SEとPGが明確に作業分担しているケースかなぁ。
# 少なくと自分は全部ごっちゃでやっているので試してみたいが、
# javaの方がなれているから結局工数はかわらない気がする。

とりあえず、妄想のレベルでしかないんだけど、実際どうなんだろう。。。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。