オルタナティブ・ブログ > An Agile Way >

アジャイルに行こう!

JUnit Max - Kent Beck のプログラミングについての実験と人生

»

「テスト感染症」(Test Infected)という言葉をご存知だろうか?1998 年 Java Report で、Kent Beck が Erich Gamma と書いた記事。JUnit という小さな小さなテスティングフレームワークを使うことで、これまで「テスト嫌い」だと言われていたプログラマたちが、テストが好きでしょうがなくなる、そんな症状をこう呼んだのだ。これがぼくとKentの最初の出会い(次はXP: Explained)。

あれから、11年も歳月が流れている。今日は、そのKent Beck からのメールを紹介したい。彼は現在、Programmer という肩書きをとても大切にしていて、Programmer として生計を立てていくことにトライしている。日本で考えると、彼ほどの有名人であれば簡単にお金儲けができる(あるいはお金持ちである)と思うかもしれない。でも、有名であることと、それだけで裕福になれるか、ということはそんなに強い関係があるわけではない、とりわけ、Programmer は。

さて、彼は、いま実験をしている。それは、Programmer として自分がこうあるべきだ、というツールを開発することと、それで生計を立てることだ。彼は、JUnitの有償版として、JUnit Max を開発中。これを有償販売している。

このツール、JUnit Max を、日本で使ってレビューしてくれるませんか?使った感想をブログに書いてくれませんか?Kent Beck が Programmer として生計を立てていくという活動をぼくは支援したいと思っています(これは、ぼくがJUDEをビジネスとして成立させたい、という思いと同じものです)。そして、その活動を綴ったブログも公開しています。

以下に、Kent Beck からのメールをそのまま、引用します。ぜひ、使ってみて、周りの人にも紹介してください。そして、気に入ったら、Subscribe してください(この製品は、サブスクリプションモデルの課金で、β版の現在は、1人1ヶ月2ドルです)。

以下の文を読むと、彼がこの製品を自分の子供のように思っていることが分かると思います(彼はこの製品を、"Max" とファーストネームで呼んでます)。

個人的メールより転載:

JUnit Max is a continuous testing plug-in for Eclipse. JUnit Max enhances the flow from idea to test to implementation. Every time you save a file, Max runs the project's tests. Max runs tests that are likeliest to fail first, so you get confirmation that your code is working in a second or two. Max displays test feedback right in your source code, so you can see the
feedback while staying focused on the code.

JUnit Max replaces the JUnit runner in Eclipse. It runs your tests automatically whenever a file is saved instead of requiring you to explicitly run tests. Max gives you feedback in the source code, just like the feedback you get from the compiler, instead of having a separate view pop up with results. In addition, Max supports "replace with last green", which rolls all Java files back to their state the last time all the tests passed. With Max you get all the benefits of JUnit testing but you get
faster, less interruptive feedback about their status.

What Max means to me: Seeing feedback in a second or two is still a thrill as I use Max to develop itself. I wanted to reduce the friction of testing so I could feel quiet confidence in my work. I also want to make my living programming, which is why JUnit Max is a commercial product. I hope you will try Max, that you will find it as helpful in your work as it is in mine, and that you will join to conversation about how to use tests to further improve the experience and value of programming.

During the beta period, Max is 2 USD/month per programmer. Payment is through PayPal. Please contact me directly if you would like other billing options for organization licenses.

日本語訳:

JUnit Max は、「継続的テスト」を支援する Eclipse plug-in 。「アイディア」から「テスト」、そして「実装」への流れを加速するんだ。Max は、ファイルを「保存」するたびにテストを走らせ、特に失敗しそうなテストを先に走らせる。だから1~2秒という短時間でフィードバックを得ることができる。テスト結果はソースコードに直接表示する。素のJUnit だとエラーがポップアップするんだけど、Max では、ちょうど、コンパイラがエラーメッセージを出すようにソースコードに表示するから、開発中、ソースコードに集中できる。

さらに、「最後のグリーンに戻る」という機能がある。これは、一番最後に全テストを通過した状態に、全Javaソースコードを戻すんだ。Max を使うと、JUnit と同じ機能プラス、より高速で、かつ、スムーズなフィードバックをテストから得ることができる。

ぼくにとっての Max の意味: 自分で Max を使いながら Max を開発していると、1-2秒でフィードバックを得られるというのは、とっても快感だ。テストの心理的障壁を下げ、自分の仕事への自信がえられる。そして、ぼくはプログラマとしての生計をこれで立てたい。だから、JUnit Max は、商用製品だ。

Max を実際に使ってみてほしい、自分の仕事に役に立つと感じてほしい、プログラミングという感動体験とその価値をより向上するためにテストを使う、というアイディアを話し合うことに参加してほしい

Max は、β期間中、プログラマ1人1ヶ月で2米ドル。支払いは PayPal で。組織的な利用に関するライセンスについては、直接連絡をください。

実際に、JUnit Max の感想をブログに書いてくれた人、よろしければ、このブログにトラックバックか URL を貼ってコメント付けてください。

Comment(1)