« 2009年12月 | トップページ | 2010年2月 »

2010年1月の9件の記事

2010年1月27日 (水)

[イベント] 告知 - TDD Boot Camp 北陸 (3/13-14, 石川県白山市)

TDD Boot Camp 北陸

TDD の原則は 「テストを書いてからコードを書く」。 ただ、 実際にはこの原則の裏には様々な技法や知識が隠されており、 実際の開発現場で使いこなすには 「見えない壁」 があることも事実です。 この現状を解決する機会が切望されています。

そこで TDD Boot Camp 北陸では、

  • 講師による講演
  • ペアプログラミングによる TDD 体験とチームでのコードレビュー

を行い、 TDD に対する理解を深めることを目的としています。

つまり…
2009年12月に行われたイベント 「TDD Boot Camp ~ TDD をつかめ ~」の再来です!

続きを読む "[イベント] 告知 - TDD Boot Camp 北陸 (3/13-14, 石川県白山市)"

| | コメント (0) | トラックバック (0)

2010年1月26日 (火)

[記事紹介] Coding Dojo: InfoQ ~ TDDを根づかせる:導入の問題と解決策

この記事では、 TDD を根付かせるための方策をいくつか提案しています。 そのひとつに、 「乱取り形式」 (Randori Format) による 「コーディング道場」 (Coding Dojo) があります。 これは楽しそうです。

InfoQ: TDDを根づかせる: 導入の問題と解決策
作者 Mark Levison, 翻訳者 角谷 信太郎
2009年4月28日

コーディング道場 (での「乱取り稽古」) は、 小規模なグループ (最大15人まで) で、 TDD を使って課題を解く (Danilo  Sato のアイデアを取り入れたもの)。 進め方はこうだ。:

  • プロジェクタに接続された 1台の PC でコーディングする。
  • ペアでコーディングする。
  • 5 ~ 10分間隔でペアの片方を交代する (筆者の経験では 7分単位での交代がうまくいった)。
  • コーディングを担当しているときは、 自分が何をしているのかを説明しながらキーボードをタイプする。 こうすることで聴衆も、 何が起きているのかを理解できる。
  • 聴衆は、 テストがきちんと通っている場合にだけ、 設計について意見を述べてもよい。 テストが通っていない状態では、 設計については質問しかできない。
  • 聴衆が現在おこなわれている作業について混乱してきたら、 コーディングしている人は手を止めて、 自分がいまやっていることを説明しなければならない。

余談ですが、 海の向こうのプログラミング界ではなぜか長らく空手が流行っています。 TDD ネタの blog でも、 Kihon, Kata, Kumite といった単語が飛び交います。 Shotokan (松濤館) にいたっては何のことだか分かりませんでした。 (NPO 法人 國際松濤館空手道連盟の道場、 またそこで教えている流儀や開催している大会のことらしい)

| | コメント (0) | トラックバック (0)

[コラム] RED One, GREEN All

これは、 実行するテストケースの数です。

RED One, GREEN All

すなわち。 テストファーストしているときに、

  • テストケースを追加/修正したときは、 そのテストケースひとつだけを実行して RED (失敗) になることを確認すればよい。
  • 製品コードを書いたときは、 その部分に関係するテストケースを全て実行して GREEN (成功) を確認しなければならない。

あるテストケースを書いたとき、 そのテストケース以外には何も影響が無いはずですよね。 ですから、 その新しいテストケースだけを実行すればよいわけです。
次に、 その新しいテストケースを通るように製品コードを直しますが、 それによって既存のテストケースが失敗してしまう (つまり、 製品コードにバグを作りこんでしまう) 可能性があります。 したがって、 その製品コードのメソッドを対象としているテストケースは全部流してみる必要があります。
RED を確認するにはテストケース 1つ、 GREEN を確認するには全部、 というわけです。

例として、 C# 2008 Express Edition + NUnit 2.5 の場合を紹介しておきます。

続きを読む "[コラム] RED One, GREEN All"

| | コメント (0) | トラックバック (0)

2010年1月25日 (月)

[イベント] Tech Fielders セミナー 「Agile Day」 に参加しました (2010/01/22)

マイクロソフトの東京オフィス (新宿) で 2010/1/22 に開催された 「Tech Fielders セミナー 『Agile Day』」 に行ってきました。
参加者数はざっと 60名。 おそらく Windows 系でソフトウェア開発に携わっている人が多いと思います。 そういう中でアジャイル開発に興味を持っていて参加された方々がこれだけいらっしゃったのには、 失礼ながら驚きでありました。 参加者の何人かとお話しさせていただきましたが、 みなさん、 良いソフトウェアを作り出すのは人でありチームであると思っていらっしゃるようで、 心強い想いをいただいて帰途に着くことができました。
※ 私はこのサイトで、 TDD というテクニカルな部分だけを扱っています。 TDD はアジャイル開発に必須と言っていいプラクティスです。 しかし、 良いものを作り出すのは人でありチームであって、 TDD だけをやりさえすれば良いものが出来るなどとはけして思っていません。

今後も開催が予定されているとのこと (まずは 3月と6月) ですので、 今の仕事のやり方に疑問を感じているソフトウェア業界のみなさん、 次は参加してみてはいかがでしょう。 主催のマイクロソフト長沢さんは、 いろいろと変わったことをやってみたいと宣言していましたので、 ますます期待してよさそうです。 また、 企画も募集しています。 ⇒ 長沢智治のライフサイクルブログ 「昨日の Agile Day ありがとうございました!

続きを読む "[イベント] Tech Fielders セミナー 「Agile Day」 に参加しました (2010/01/22)"

| | コメント (0) | トラックバック (0)

2010年1月23日 (土)

[お知らせ] Tech Fielders セミナーの資料を掲載しました

2010/1/22に Microsoft 主催で開かれた 「Tech Fielders セミナー Agile Day」 にて、 LT に登壇させていただきました。 そのときのスライドを公開します。 (1/28 追記: Tech Fielders のサイトでも公開されました。 ⇒ セッションLT)

20100122_tfseminar01TDD ってどんな感じ? ~ FizzBuzz を作ってみる
FizzBuzzByTDD20100122.ppt (PowerPoint; 576.0KB)
FizzBuzzByTDD20100122.pdf (PDF; 683.8KB)

かなり無謀な枚数のスライドでして、 残念ながらというか案の定というか、 2ページ残してタイムアップとなってしまいました。 これまで何回か LT をやってきましたが、 初めての 「敗北」 です。
なお、 資料の末尾にはさらに、 質問があったときのための仕込みとして、 バグが出たときの TDD 的な対応についても書いてあります。 (こちらは、 時間内に喋るつもりは最初から無かった部分です。)

| | コメント (0) | トラックバック (0)

2010年1月21日 (木)

[記事紹介] JavaScript の単体テストツール、 JsUnit と QUnit

ASP.NET AJAX のおかげで、 .NET Framework を使った開発で JavaScript をゴリゴリ書くような場面は、 めっきり減ったと感じています。 それでも、 イザということがあるかもしれませんので、 単体テストをサポートしてくれるツールの存在は知っておいたほうが良いかと思います。 そこで、 少し調べてみたところ、 このごろ有力なものとして JsUnit と QUnit の 2つがあるようです。

InfoQ: JsUnit と JSMock を使った JavaScript のテスト駆動開発
2009年4月9日

マイコミジャーナル: 【レポート】 jQuery テストスイート「QUnit」がスタンドアロン化! 使い方を早速チェック
2009/10/14

どちらも、 HTML ファイルの中にテストを記述し、 テストの実行は Web ブラウザーからという形態をとります。 そのため、 テスト用の HTML にダミーのボタンなどを配置すれば、 DOM を操作するコードもテストできるわけです。

続きを読む "[記事紹介] JavaScript の単体テストツール、 JsUnit と QUnit"

| | コメント (0) | トラックバック (0)

2010年1月12日 (火)

[記事紹介] ZDNet Japan ~ ソフトウェアの新たな開発手法、「アジャイル開発」って?

TDD からは離れますが、アジャイルソフトウェア開発について解説した記事を紹介します。著者の一橋氏は、複数のアジャイル開発プロジェクトを成功させた経験を持っています。TDD はアジャイル開発のプラクティスのひとつと位置づけられることが多いので、 参考になると思います。

ZDNet Japan: 今さら人に聞けない IT トピック - ソフトウェアの新たな開発手法、「アジャイル開発」って?
2006年9月29日
一橋範哉 (ウルシステムズ)

ソフトウェア開発の新たな手法としてアジャイル開発が紹介されてから数年が経過し、実プロジェクトへの適用事例を目にすることが多くなってきました。アジャイル (agile) とは、「俊敏な」「機敏な」という意味ですが、「ペアプログラミング」「テストファースト」のようなアジャイル開発手法の一部のプラクティスがそのすべてであるかのように言われることがあります。ここでは改めてアジャイル開発の基本的な考え方を整理していきたいと思います。

続きを読む "[記事紹介] ZDNet Japan ~ ソフトウェアの新たな開発手法、「アジャイル開発」って?"

| | コメント (0) | トラックバック (2)

2010年1月 7日 (木)

[コラム] [VS2010] 新機能 Generate From Usage (使用法から生成) の使い方 Step by Step

Visual Studio 2010 の新しい機能である "Generate From Usage" ( 使用法から生成 ) について、 そのチュートリアル記事を以前に紹介したことがあります。
そのチュートリアルは、 英語版の CTP に基づいて書かれています。 日本語版の Beta 2 でも基本的には同じですが、 改めて手順を C# で紹介してみます。

VS2008 にはメソッドの生成機能があります。 それは自動生成したコードの方にカーソルが移ってしまうので、 TDD しているときにはテストケースを書いている流れを邪魔されてしまっていました。 VS2010 では、 その点が改善されただけでなく、 クラスの生成機能も追加されています。

興味を持たれたかたは、 Beta 版 (2月には RC 版が公開されるようです) を入手して試してみてはいかがでしょう。 なお、 この機能は Express Edition には搭載されないようですので、 Beta 2 では Ultimate エディション日本語版を使ってください。
※ (2011/2/10 追記) C# 2010 Express にも (VB 2010 Express にさえも!) 搭載されています。

続きを読む "[コラム] [VS2010] 新機能 Generate From Usage (使用法から生成) の使い方 Step by Step"

| | コメント (0) | トラックバック (1)

[イベント] 告知 - Tech Fielders セミナー 東京 [Agile Day 「A Start - アジャイル開発が気になるあなたに贈るセッション&ワークショップ] ( 1/22, 新宿 )

TDD というより、 広くアジャイル ソフトウェア開発についてのセミナーです。

Tech Fielders セミナー 東京 [Agile Day 「A Start - アジャイル開発が気になるあなたに贈るセッション&ワークショップ]

開発者だけでなく、 より広範囲な方々にアジリティやアジャイルが注目されています。 マイクロソフトでは、 すでにアジャイル開発に取り組んでいる団体、 コミュニティをご支援することで、 開発に携わる多くの方々と情報共有を行う目的で、 「アジャイル開発支援サイト」を立ち上げ、 定期的な情報共有を行っています。

このイベントでは、 その「アジャイル開発支援サイト」でおなじみの「ドット NET 分散開発ソフトピア・センター」、 「すくすくスクラム」からスペシャル スピーカーをお招きし、 アジャイル開発への取り組み、 そこで得たノウハウの共有を行うセッション、 そして、 簡単なワークショップを実施します。

続きを読む "[イベント] 告知 - Tech Fielders セミナー 東京 [Agile Day 「A Start - アジャイル開発が気になるあなたに贈るセッション&ワークショップ] ( 1/22, 新宿 )"

| | コメント (0) | トラックバック (0)

« 2009年12月 | トップページ | 2010年2月 »