xp
http://www.xpjug.org/event/20050903matsuri/regist 申し込みをしようとおもったら既に定員に達してしまったので、 キャンセル待ちしていましたが、参加できるようになりました。 パネル討論会が楽しみです。
11月27日(土)にJUnitとS2Unitを使った単体テストの講習会をやります。もし福岡近郊の方で興味があられる方がいらっしゃいましたら、agata_AT_nulab.co.jpまでメールくださいな。(メールアドレスは「_AT_」を「@」に置き換えてください。) 内容 ・テスティ…
はてなはなんとXPによって開発されているそうです。 http://www.adnec.com/blog/archives/2004_10_26_181917.html しかし、方法だけを導入してうまくいくかというと、決してそうではありません。 その方法に対して全員がいかに真面目に、真剣に取り組むこと…
テストケースを仕様書として利用可能か?ということに対するマーチン・ファウラーの考え。 あるDbCファンがこう指摘していた。テストという観点から仕様書を書くとなれば、テスト仕様にある「入力」に対して、「コーディングされた出力」を出さないことには…
今日はこれではまりました。 取得したデータや期待値の並び順が不定だとテストコードは書けません。 DatabaseConnection.createDataSetメソッドなどでは並び順が不定の状態で、データが返ります。 ITableをSortedTableクラスでラップすれば、並び替えたデー…
DBUnit使ってテストを書いています。 エクセルでテストデータを用意しているのですが、 結構トラブルに見舞われたりします。 今の作業の手順はこんな感じです。 1.OracleにAcesssで接続して、テストデータを設定。 データ入力はM$のAccessが楽です。 デ…
小粋なEclipseプラグイン、MobsterUtilitiesPluginです。 http://www.mobster.jp/wiki/view.jspa?pid=MobsterUtilitiesPlugin
MobWiki1.2をリリースして一段落。いい機会なのでXPのプラクティス「回顧」を実践してみます。 回顧っていうのは、プロジェクトの終わり、イテレーションの終わり、1日の終わりなどに、やってきたことを振り返って次に生かしていこうという前向きなプラクテ…
ソフトウェア開発の心構え 委任主義 直轄主義 デザインパターンやUML、高尚な記事などを知りたてのころは、僕も直轄主義に惹かれていたような気がします。設計にUMLを使って、デザインパターンを適所に使って・・・しかし、それは遙か昔のことです。直轄主義…
エクセルでテストデータを使用する時の注意点。現象: DATE型のカラムでエクセルのセルの書式設定を「文字列」にすると、未入力セルはnullと見なされず空文字として認識されてしまう。これにより、JavaのTimestamp)への変換時にエラーが発生する。解決策: …
DbUnit2.0はサイコーですよ。 Excelでテストデータの準備ができます。シート名がテーブル名です。 楽々テストで仕事もさばけて、家庭円満!(当社比) 1.5.6のころより安定して動作しています。 Oracle Clobの4000バイト制限のバグもフィックスされていまし…
TECHMemo経由 シンプルで便利! 例えば"validMaxLength"メソッドの表示値として"valid max length"が使用されるようになります。 TestCaseクラスのgetNameメソッドをオーバライドする。 public String getName() { return super.getName().substring(4).repl…
blikiより (良い)XPチームのバグ発生率はめちゃ低いという話。 こういう事例がどんどん増えてくるといいですね。
これもSnipSnapのコードより インナークラスを使って、 モックオブジェクトやテスト用のクラスを気軽に作っちゃおう。 public void testUsesParent() { formatter.setParent( new NameFormatter() { public void setParent(NameFormatter parent) { } public…
以下はSnipSnapのテストコードです。 (説明文は日本語に変えています) 説明があるとわかりやすいので、今後は説明を入れていく方向でいく。 public void testNameIsCapitalized() { assertEquals("パスが削除済み", "test", formatter.format("/path1/path…
ペアプロについて、考えさせられます。 ペアプロも目的や環境に合わせて、いくつかのタイプがあるような気がします。 ①試してみよう!ペアプロ「ペアプロトタイプ」 とりあえずペアプロはどんなものかを知る・知りたい時期のペアプロ。 Mobsterパーティでや…
オブジェクト倶楽部主宰「オブジェクト指向実践者の集い」の講演資料がPDFファイルでダウンロードできます。僕らみたいに、地方に住んでいると、セミナーなどに参加するチャンスもなかなかないので、こういうのはすごく嬉しいです。 その講演資料の中で、オ…
blikiより。 顧客満足をあげるためには開発者が仕事を楽しむこと(enjoyment)が大切なんだ、ということが書かれています。 enjoymentっていい響きはいいですね。XPにはタスクカードの物理的な移動、JUnitなどのテスティングツールで一喜一憂、ペアプログラ…
blikiより。 UMLをスケッチとして用いる人(UmlAsSketch) UMLをブループリントとして用いる人(UmlAsBlueprint) UMLをプログラミング言語として用いる人(UmlAsProgrammingLanguage) 僕はスケッチ派です。あなたはどっち派?
blikiより。 UMLのユースケースとXPのストーリーとの違いが説明されています。
最近読み直している本。 この中で 顧客からの仕様変更をいつでも受け入れる。 また、変更を楽しむ(変化ヲ包容セヨ) っていうニュアンスのことが書いてありました。 これにはシステムとして柔軟性・変更可能性が求められますが、 開発者の心にも柔軟性が持…
仲良く昼飯を食べに行くようになったプログラマは、 交換不可能ですね。 メンバーが交換不可能なくらいラブリーでファミリーでリスペクトなプロジェクトっていいなー。 もちろんプロジェクトがうまくいってこそだろうけど。。。そういう意味では今のプロジェ…
今のプロジェクトで納期寸前にコードを修正しなければいけない場面が発生しましたので、以下の手順で処理しました。 1.テスト実行(緑)。・・・テストを育ててきて良かった 2.いきなり一気に修正してみた。 3.テスト失敗(赤)。・・・ショック&反省。 4.いき…
今日は入力検証処理をTDD+ペアプログラミングで挑戦してみました。 本で読んだ内容をよく覚えていなかったので、以下のリズムを保ちながら進めていきました。 赤(テストの追加) → 緑(フェイク) → 赤(フェイクでは通らないテストの追加) → 緑(実装) →…
ここしばらく、ペアづくしです。Dbunitによるテストもいい感じ。もうDBテストは怖くないって感じです。今回は各タスクの実現にかかった時間をトラッキングしているので、ペアの効果がよくわかります。感じることは、 ペアプログラミングの生産性は、全然低く…
友達のプロジェクトが大変みたいです。 色々な要因が運悪く(必然的に!?)重なってしまったみたいなんだけど、 最大の原因はコミュニケーションにありそうな気が・・・ http://objectclub.esm.co.jp/eXtremeProgramming/WhatXPPresentsUs/index.html コミ…